Raspberry PiでSoftware UART通信をする
takashin9pigpioのインストール
まず、pigpioというpythonのライブラリをインストールします。
pip install pigpio
pigpio daemonの起動
pigpioを使用する際はpigpio daemonを起動させる必要があります。 起動コマンドは次のようになります。
sudo pigpiod
これは、ラズパイを終了するごとに終了してしまうので.bashrc
ファイルなどに書くと、起動時に実行してくれるようになるはず。
ソースコードの記述
import pigpio
baudrate = 9600
TX = 24
RX = 23
serialpi = pigpio.pi()
serialpi.set_mode(RX,pigpio.INPUT)
serialpi.set_mode(TX,pigpio.OUTPUT)
pigpio.exceptions = False
serialpi.bb_serial_read_close(RX)
pigpio.exceptions = True
serialpi.bb_serial_read_open(RX,baudrate,8)
count = 0
(count, sentence) = serial.bb_serial_read(RX)
baudrate
はこれ以上の値にするとうまくデータが受け取れない可能性があります。
TXとRXにはGPIO番号を代入することでそのpinを用いてシリアル通信を行うことが出来ます。
(count, sentence) = serial.bb_serial_read(RX)
はsentence
が0より大きいかどうかを調べることでデータが受け取れているかを調べることが出来ます。
データが受け取れていればsentence > 0
はTrue
です。