gtktermを使ってUbuntuでシリアル通信のテストを行う

gtktermのインストール

Windowsの場合,Tera TermやSerial Debuggerなどを使うとマイコンなどのシリアル通信のテストが簡単に行えます.Ubuntuの場合はgtktermを使えばほぼ同じことができます.

以下のコマンドでgtktermをインストールしてください.

sudo apt-get install gtkterm

ノートPCとマイコンを接続

次に,シリアル通信が可能なマイコンをPCに接続してください.昔はRS-232CのコネクタはもはやPノートPCにはついていないので,USB-シリアル変換器などを使ってUSB接続します.例えば,秋月のUSB変換モジュールを使うと良いです.

STM32F4 Discoveryを使う場合,STM32F4 Discoveryボードのシリアル通信用ポート(USART or UARTのTX, RXとグラウンド用のポート)と変換モジュールを接続し,変換モジュールとノートPCをUSBケーブルで接続する,ということになります.

この状態でlsusbをターミナルで実行すると以下のようにシリアルポートが認識されていることが分かります(6行目).なお,これは上記秋月の変換モジュールとは異なるものを使用したときの結果になります.

daichi@daichi-pc:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 05ac:8289 Apple, Inc. 
Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
Bus 001 Device 004: ID 05ac:0264 Apple, Inc. 
Bus 001 Device 025: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ユーザのグループ設定

デフォルトの状態でgtktermを実行すると,”Cannot open /dev/ttyS0″というエラーメッセージが表示されます.ここにあるように,これはユーザ(私の場合daichi)がdialoutというグループに属していないことが原因のようです.ということで,ユーザの所属するグループとしてdialoutを追加します.

まず,ユーザがdialoutに所属しているか否かを確認します.

groups ${USER}

私の場合,以下のような結果になりました.dialoutというグループには属していないことが分かります.

daichi@daichi-pc:~$ groups ${USER}
daichi : daichi adm cdrom sudo dip plugdev lpadmin sambashare

では,ユーザをdialoutグループに追加します.

sudo gpasswd --add ${USER} dialout

一旦ログインし直すと,設定が反映されます.

gtktermによるシリアル通信テスト

ではシリアル通信のテストを行います.ターミナルでgtktermと打ち込むとGtkTermというタイトルのウィンドウが立ち上がります.Configuration -> Portでポートの設定を行います.マイコン側の設定に依るのですが,大抵は
“Port”と”Baud Rate”の設定だけ行って他はデフォルトで良いと思います(Parity : none, Bits : 8, Stopbits : 1, Flow control : none).

私の場合,Baud Rateはマイコン側で115200に設定していたのでそのとおりに設定し,Portは/dev/ttyUSB0にしました.Portをどれに設定したら良いか分からない場合は,USBケーブルをノートPCから抜き差しした後に以下を実行して,シリアル通信用のデバイスがどこに接続されたかを確認します.

dmesg | tail -f

私の場合,以下のような結果になりました.最後の行より,ttyUSB0に接続されたことが分かります.

daichi@daichi-pc:~$ dmesg | tail -f
[300817.472357] ftdi_sio 1-1:1.0: device disconnected
[300819.385527] usb 1-1: new full-speed USB device number 27 using xhci_hcd
[300819.519940] usb 1-1: New USB device found, idVendor=0403, idProduct=6001
[300819.519943] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[300819.519945] usb 1-1: Product: FT232R USB UART
[300819.519946] usb 1-1: Manufacturer: FTDI
[300819.519947] usb 1-1: SerialNumber: A8006lLT
[300819.522786] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
[300819.522819] usb 1-1: Detected FT232RL
[300819.523145] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0

もしマイコン側がシリアルで何か文字列などを正しく送れていれば,ウィンドウに文字列が表示されるはずです.

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中