raspberrypi_zero_enable_uart - Kyokko-OB-Team/Document GitHub Wiki
RaspberyPi Zero WでUARTを使う方法
RaspberryPi Zero WでのUARTについて
RaspberryPi Zero WのUARTはデフォルトでBluetoothに接続されている。
他のUARTは、miniUARTという機能制限された仮想UARTみたいな感じになっている。
そのため、通常のUARTを使用するためには、Bluetoothとの接続を切って
GPIOピンにUARTを設定してやる必要がある。
手順
- Bluetoothの無効化
/boot/config.txtに、dtoverlay=disable-btを追記して再起動する。
$ sudo vim /boot/config.txt
...(略)
dtoverlay=disable-bt
$ sudo shutdown -r now
- Bluetoothを初期化するサービスを停止
Bluetoothを初期化すると、UARTのデバイスを取っちゃうらしいので、
UARTデバイスファイルを取られないようにサービスを止める。
$ sudo systemctl disable hciuart
- シリアルコンソールの無効化
デフォルトでシリアルコンソールが有効になっているみたいなので、これも無効化して再起動する。
$ sudo raspi-config
5 Interfacing Options Configure
を選択
P6 Serial
を選択
Would you like a login shell to be accessible over serial?
と聞かれるので No
を選択
Would you like the serial port hardware to be enabled?
と聞かれるので Yes
を選択
$ sudo shutdown -r now
- デバイスファイルを確認
再起動後に/dev/を確認すると、シンボリックリンクが以下のようになっているはず。
ttyAMA0
が通常のUARTになるらしいので、プログラムから使うときはこのデバイスファイルを指定してやる。
lrwxrwxrwx 1 root root 7 7月 4 05:36 serial0 -> ttyAMA0
lrwxrwxrwx 1 root root 5 7月 4 05:36 serial1 -> ttyS0