从nextion显示解码数据[python]

时间:2016-05-22 18:33:55

标签: python encoding

我正在尝试使用python中的串行连接进行通信。到目前为止,这是我的代码:

import serial
ser = serial.Serial('/dev/ttyUSB0', 9600)
EndCom = "\xff\xff\xff"
ser.write('n0.val'+EndCom)

这应该告诉nextion返回n0的值,即4。

ser.inWaiting()返回4.

ser.read(4)返回'\x00\xff\xff\xff'

我无法解码。

2 个答案:

答案 0 :(得分:1)

使用struct.unpack根据给定格式解包字符串。在这种情况下,您的格式为'i',这意味着4个字节的整数。

>>> import struct
>>> result = struct.unpack('i', '\x00\xff\xff\xff')
>>> result[0]
-256

来自文档:

  

结果是一个元组,即使它只包含一个项目。

答案 1 :(得分:0)

代码应为:

ser.write('get n0.val'+EndCom)

之前我没有返回正确的值。