Python 使用'与USB设备进行串行通信;GNET&x27;协议

Python 使用'与USB设备进行串行通信;GNET&x27;协议,python,usb,pyserial,Python,Usb,Pyserial,我有一个USB设备,具有以下功能。第22页描述了应用于与设备交互的GNET协议 连接很好,但是设备没有给我任何响应,所以我想我没有向它发送正确的数据,可能错过了握手 来自规范 支持TTY(电传)操作-使用TTY发送命令和消息 对每个字段使用ASCII值,并在两个字段之间使用分隔符“,” 领域。 连接并发送.py import serial port = "COM3" baud = 9600 ser = serial.Serial(port, baud, timeout=1) if ser

我有一个USB设备,具有以下功能。第22页描述了应用于与设备交互的
GNET协议

连接很好,但是设备没有给我任何响应,所以我想我没有向它发送正确的数据,可能错过了握手

来自规范

支持TTY(电传)操作-使用TTY发送命令和消息

对每个字段使用ASCII值,并在两个字段之间使用分隔符“,” 领域。

连接并发送.py

import serial

port = "COM3"
baud = 9600

ser = serial.Serial(port, baud, timeout=1)

if ser.isOpen():
    print(ser.name + ' is open...')

# STX, N, CR
to_send = b'\x02\x4e\x0d'
print "Sending {}".format(to_send)
ser.write(to_send)
out = ser.read()
print('Receiving...'+out)
COM3是正确的端口:


任何帮助和指导都将不胜感激。

您从未有过要使用
\x4e
,这是来自设备的否定应答。
试一试


为了获得固件版本,我最终联系了供应商,问题是波特率设置错误。将9600更改为19200解决了问题。

\x4e
这是对回复的否定确认,问题是我没有收到回复。@DannyCullen:只有在发送有效的“命令”时,您才会收到内容。您是否尝试过“b'\x02F\x0d'”,但仍然没有收到任何消息?在某个阶段,它发出了回声。现在它根本没有回应。是的,我尝试了很多数据组合发送,包括您的示例。@DannyCullen:请在回答中继续使用这个命令“b'\x02F\x0d'”。如果你告诉别人发生了什么,你的评论很难理解。我再次询问:您是否收到命令“b'\x02F\x0d'”的答复?现在确实返回固件版本号,波特率是问题所在。
to_send = b'\x02F\x0d'