PySerial接收奇怪数据
我用串行电缆连接了智能电表。但是,当使用PySerial检索数据时,我始终会得到以下行:PySerial接收奇怪数据,pyserial,Pyserial,我用串行电缆连接了智能电表。但是,当使用PySerial检索数据时,我始终会得到以下行: b'\x00\n' b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00 最终,我确实得到了一些数据,但甚至不是全部 输出应如下所示: /ISk5\2ME382-1003 0-0:96.1.1(4B414C37303035
b'\x00\n'
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00
最终,我确实得到了一些数据,但甚至不是全部
输出应如下所示:
/ISk5\2ME382-1003
0-0:96.1.1(4B414C37303035313039)
1-0:1.8.1(00180.724*kWh)
1-0:1.8.2(00001.416*kWh)
1-0:2.8.1(00000.000*kWh)
1-0:2.8.2(00000.000*kWh)
[...]
!
我的剧本:
import sys
import serial
ser = serial.Serial()
ser.baudrate = 9600
ser.bytesize=serial.SEVENBITS
ser.parity=serial.PARITY_EVEN
ser.stopbits=serial.STOPBITS_ONE
ser.xonxoff=0
ser.rtscts=0
ser.timeout=None
ser.port="/dev/ttyUSB0"
ser.open()
count=0
stack=[]
while count < 25:
p1_raw = str(ser.readline())
print(p1_raw)
count=count+1
ser.close()
exit
导入系统
导入序列号
ser=serial.serial()
ser.baudrate=9600
ser.bytesize=serial.SEVENBITS
序列奇偶校验=串行奇偶校验
序列停止位=串行停止位
序列号xonxoff=0
序列rtscts=0
服务超时=无
ser.port=“/dev/ttyUSB0”
爵士公开赛()
计数=0
堆栈=[]
当计数小于25时:
p1_raw=str(ser.readline())
打印(p1_原始)
计数=计数+1
塞尔克洛斯()
出口
问题似乎出在Python/PySerial上。使用cu或minicom时,数据接收正确
有什么想法吗?在尝试各种设置后,这似乎解决了问题: 序列号xonxoff=1
尝试各种设置后,这似乎解决了问题: 序列号xonxoff=1