我是python的新手。我正在使用 BeagleBone Black Wireless,上面安装了 Debian 9.5 以及 Python 3.5.3。微控制器通过USB连接到我的BeagleBone。它以波特率 9600 读取串行线。我可以通过向微控制器发送启用"9----"来控制螺线管的打开或关闭,其中 - 可以是 0 或 1。要打开电磁阀 1 和 3,我必须发送"91010"要关闭所有这些,我必须发送"90000">
我需要一个 python 程序来帮助我发送启用信号 (9----(
我正在使用PYserial文档中的这个作为我的参考:
import serial
ser = serial.Serial('/dev/ttyUSB0',9600, timeout = 0) # open serial port
print(ser.name) # check which port was really used
ser.write(str('91010')) # write a string
line = ser.readline()
ser.close() # close port
如果我运行这个程序,理论上,这会打开电磁阀 1 和 3 吗?理想情况下,我想创建一个带有 4 个参数的函数,一个用于每个电磁阀的状态,例如,pwr_solenoid(1,1,1,1( 之类的东西将通过串行发送"91111"以打开所有螺线管
写入bytes
例如 '91010'.encode()
使用https://pyserial.readthedocs.io/en/latest/pyserial_api.html#serial.Serial.write
此外,如果串行端口有办法告诉您写入操作是否成功,您也可以在使用 https://pyserial.readthedocs.io/en/latest/pyserial_api.html#serial.Serial.read 写入后执行ser.read
并处理该输出