Pyserialを使ってシリアル通信

Pythonでシリアル通信を実装する場合、Pyserialが便利でしたので、簡単に紹介します。


最初にPyserialをインストールします。

pip install pyserial

COMポートをデバイスマネージャーで確認して、シリアル通信のインスタンスを定義します。

serial.Serialの1つ目の引数がポート番号、2つ目がボーレート、3つ目がタイムアウトの設定です。

import serial

ser = serial.Serial('COM9', 307200, timeout=1)

.writeコマンドを使ってメッセージを送信します。

#任意のメッセージを記述
senddata = [0x55, 0x0D, 0x0A] 

#送信
send_binary = bytes(senddata)
ser.write(send_binary)

受信は.readコマンドを用います。

#受信
res = ser.read(4)
print(res)

readのカッコ内の数で受信するByte数を設定できます。

.readline () というコマンドを使えば、改行コードまでを受信してくれますが、今回試した機器は改行コードを返さない仕様だったため readline ではうまくいきませんでした。