昔購入して埋もれていたUSBシリアル変換アダプタを使ってラズパイとシリアル通信してみたいと思います。
今回利用するデバイスはこれ。
FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き) | スイッチサイエンス
■ ピン

-
DTR
: 接続しない -
RX
: ラズパイの GPIO14 (UART TX) 端子に接続 -
TX
: ラズパイの GPIO15 (UART RX) 端子に接続 -
VCC
: 接続しない -
CTS
: 接続しない -
GND
: ラズパイのGND
端子に接続 - 電圧切替えジャンパ : 5V

■ シリアル通信
ラズパイのシリアル通信を有効化
※ ラズパイで実行
有効化
sudo raspi-config nonint do_serial 0
# 確認
sudo raspi-config nonint get_serial
FT232RLのデバイスドライバをインストール
今回利用するUSBシリアル変換アダプタには、FTDI社製のFT232RLが利用されているのでドライバをインストールします。
ドライバのダウンロードはこちら: https://ftdichip.com/drivers/vcp-drivers/
※ FTDI社のドライバはICに関わらず共通らしいです。
Macからラズパイに接続
# USBシリアルデバイスのデバイスファイルを探す。
$ ls -l /dev/tty.*
crw-rw-rw- 1 root wheel 0x9000002 9 18 22:47 /dev/tty.Bluetooth-Incoming-Port
crw-rw-rw- 1 root wheel 0x9000004 9 21 21:33 /dev/tty.usbserial-AI045C7T ★ これ
crw-rw-rw- 1 root wheel 0x9000000 9 18 22:46 /dev/tty.wlan-debug
# screenコマンドでUSBシリアルデバイスに接続
# screen デバイスファイル ボーレート
$ screen /dev/tty.usbserial-AI045C7T 115200
接続できた
# 接続後Enterを押して、ログインプロンプトが表示されれば成功
raspberrypi login:
# ログイン
raspberrypi login: xxxxxxxxxxxxxxxxxx
Password:
# コマンド実行
$ ls
Bookshelf Documents Pictures Public Videos
Desktop Downloads Music Projects Templates
接続の終了
Ctrl + a
-
k
(kill windowコマンド) -
y
(yes)
■ シリアル通信について
シリアル通信がよくわかっていなかったので、少し調べてみた。
ラズパイとMacはUSBシリアルデバイスを通してデータをやり取りするわけですが、この通信はUART通信と呼ばれる方式を利用しています。
UART通信で利用する信号線は下記2つのみです。
UART通信はSPIやI2Cと異なり、クロック用の信号線が無く、非同期でデータが送受信されます。そのため、デバイス同士にマスター・スレーブのような関係もありません。
- TXD (Transmit Data: データ送信)
- RXD (Receive Data: データ受信)

通信タイミング
UARTにはタイミングを制御するためのクロック信号線がないため、通信開始前に予めデバイス間で通信速度(ボーレート)を定めておきます。
よく利用されるボーレートはこのあたりだそうです。
1200 bps
2400 bps
4800 bps
9600 bps
19200 bps
38400 bps
57600 bps
115200 bps