#Raspberrypiでシリアル通信
できることは下記の2つ.
-
コンソールとして
殆どの場合ではSSHを使用するが,ネット環境が無い場合のコンソール通信として. -
汎用通信
デバイスtoデバイスの通信として.
#準備
Raspberrypi 3ではUARTを使用するためにクロックを固定する必要がある.
/boot/config.txtに以下の記述を追加する.
enable_uart=1
Raspberrypi 3でUART通信する際の課題と解決方法
#コンソールとして使用する
sudo raspi-config
->"5 Interfacing Option"
->"P6 Serial"
シリアルでシェルにログインするか聞かれるので"はい"を選択.
"Would you like a login shell to be accessible over serial?"
->"はい"
Finishを選択で再起動.
#汎用通信として使用する
sudo raspi-config
->"5 Interfacing Option"
->"P6 Serial"
シリアルでシェルにログインするか聞かれるので"いいえ"を選択.
"Would you like a login shell to be accessible over serial?"
->"いいえ"
シリアルポートを有効にするか聞かれるので”はい”を選択.
"Would you like the serial port hardware to be enabled?"
->"はい"
Finishを選択で再起動.
#UARTを使用する
通信端末(WindowsならTeraTerm等)のボーレートを115200に設定し,
Raspberrypiのコンソールで下記コマンドを実行.
stty -F /dev/serial0 115200
echo "Hello" > /dev/serial0
端末側で"Hello"が表示されれば成功.