Pythonはpyserialを用いてシリアル通信を行う
pyserialのインストール
使用可能なポートの表示
16進数は以下のフォーマットに変換する必要があります.
シリアル通信Windows下ポートは
pip install pyserial
使用可能なポートの表示
# coding:utf-8
import serial.tools.list_ports
plist = list(serial.tools.list_ports.comports())
if len(plist) <= 0:
print(" !")
else:
plist_0 = list(plist[0])
serialName = plist_0[0]
serialFd = serial.Serial(serialName, 9600, timeout=60)
print(" >>>", serialFd.name)
16進数は以下のフォーマットに変換する必要があります.
# 010591F50000F104
cmd = [0x01, 0x05, 0x91, 0xF5, 0x00, 0x00, 0xF1, 0x04]
シリアル通信Windows下ポートは
COM*
、Ubuntu下ポートは/dev/ttyS0
import serial
class Ser(object):
def __init__(self):
#
self.port = serial.Serial(port='COM4', baudrate=9600, bytesize=8, parity='E', stopbits=1, timeout=2)
#
def send_cmd(self, cmd):
self.port.write(cmd)
response = self.port.readall()
response = self.convert_hex(response)
return response
# 16
def convert_hex(self, string):
res = []
result = []
for item in string:
res.append(item)
for i in res:
result.append(hex(i))
return result