pyserial 2.7和USB中继modu

2024-04-27 16:40:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我买了两个lctech-股份有限公司011801 USB中继模块。我试图用python和pyserial来控制它们。该模块显示为USB串行CH340(COM5)。支持信息显示:

Communication baud rate: 9600bps; Protocol: start: 0 x A0, 
switch address: 0 x 01, operation data: 0 x 00 (off), 0 x 01 (on), 
check code: on: A0 01 01 A2, off: A0 01 00 A1

我使用以下python代码打开中继,但它不起作用:

^{pr2}$

只要我使用正确的COM端口COM5,就不会出现任何错误。在

有什么建议吗?任何帮助都将不胜感激。TIA公司


Tags: 模块信息ona0usbcommunication有限公司off
2条回答

看起来您需要发送字节0x01来打开继电器,发送0x00来关闭继电器,而不是字符串“on”和“off”。在

尝试serPort.write(0x01)打开继电器。在

编辑:看起来还需要先发送起始字节0xA0。在

回答:

我需要用十六进制编码。这就是有效的方法。在

import serial
port = 'COM3'
ser = serial.Serial(port, 9600, timeout=1)
# To close relay (ON)
code = 'A00101A2'
ser.write(code.decode('HEX'))
ser.close()
# To open relay (OFF)
code = 'A00100A1'
ser.write(code.decode('HEX'))
ser.close()

相关问题 更多 >