Python串行通信接收COMMAND UNKNOWN

时间:2017-03-02 17:47:16

标签: python serial-port pyserial

所以我试图通过串行(USB-A到USB-B)控制Thermo Scientific温度浴,当我发送命令时,我得到响应" F001"告诉我那个命令是已知的。格式为"命令" "回车"这就是我所拥有的:

ser = serial.Serial('/dev/tty.usbserial-A800dars', 9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=5) #no timeout=0
print(ser.name)                         # check which port was really used

ser.write(b'RT\r')                      # read internal temp
# TODO probably not getting 100 bytes here, need to find what to expect and whether or not to do a timeout
serial_response = ser.read(100)         # read up to one hundred bytes or as much is in the buffer
print(serial_response)

我尝试在\ r \ n之后添加\ n,我已经尝试了多个其他命令,我在RT和\ r \ n之间包含了一个空格而且我已经设置了温度浴上的波特率与我通过串行发送的相同。我还确保我在http://www.ftdichip.com/FTDrivers.htm使用了正确的驱动程序。

有什么想法?我使用的是Mac,通过USB-A发送到USB-B电缆,而且只有在温度浴开启并运行时才会得到F001响应。

1 个答案:

答案 0 :(得分:0)

事实证明,制造商给了我不正确的手册。找到正确的一个,现在知道通过串行发送的正确命令,所有上述代码都可以正常工作。