Raspberry PiでSoftware UART通信をする

takashin9

pigpioのインストール

まず、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 > 0Trueです。