mattintosh note

どこかのエンジニアモドキの備忘録

Raspberry Pi でシリアル通信

ESPr 開発用に購入した USB シリアル変換モジュールを使って Raspberry Pi 3 と接続してみる。


つくばエクスプレス柏の葉キャンパス」駅前にあるコワーキングスペース「KOIL」さんに来ているのだけど、Raspberry Pi 用のディスプレイを持ってこなかったので何もできない状態。

せっかくなのでシリアル通信を試してみることにした。使うのは秋月電子で売ってる超小型 USB シリアル変換モジュール「AE-FT234X」。

akizukidenshi.com

AE-FT234X と Raspberry Pi 3 をこんな感じで接続する。Raspberry Pi の電源供給を PC から行ってる場合は GND なしでもいけるような…?

AE-FT234X Raspberry Pi 3
TX RX(GPIO 15)
RX TX(GPIO 14)
GND GND(空いてるところならどこでも。GPIO 14 の隣あたりが楽)



予め Raspberry Pi 3 の /boot/config.txtenable_uart=1 を追加しておく。

enable_uart=1

母艦に AE-FT234X を接続すると /dev/ttyUSB0 が現れる。sudo 不要で使えるよう dialout グループにユーザを追加する。

$ sudo usermod -aG dialout $USER

一旦ログアウトして再ログイン。

stty コマンドで /dev/ttyUSB0 を調べると設定が出てくる。これで Baudrate が 115200 であることがわかる。

$ stty < /dev/ttyUSB0
speed 115200 baud; line = 0;
min = 100; time = 2;
-icrnl -imaxbel
-opost -onlcr
-isig -icanon -echo

シリアル接続が可能なコマンドは screenminicombusybox microcom などがある。いずれも接続したあと、一回 Enter を押す必要がある。

f:id:mattintosh4:20170625153216p:plain

■ screen

終了する場合は ^a, k

$ screen /dev/ttyUSB0 115200

■ minicom

終了する場合は ^a, z

$ minicom -b 115200 -o -D /dev/ttyUSB0

busybox microcom

終了する場合は ^x

$ busybox microcom -s 115200 /dev/ttyUSB0

ログインしたら TERM=vt102 になっているので TERM=linux にする。

$ TERM=linux

コンソールのサイズを stty で変更する。そのあと tmux を呼べば広々と使える。

$ stty rows 44 cols 148
$ tmux

AE-FT234X にL字のピンソケットとかを装着すれば GPIO に直挿しできるようになるかもしれない。1つくらい持っておいても困らないかな。