在 python 中通过 RS232 到 USB 电缆读取称重数据

read weighing scale data via RS232 to USB cable in python

我正在尝试使用 raspberry pi 通过 RS232 到 pyhon 中的 USB 电缆从 体重秤 YH-T7E 读取数据。但是,当我通过它读取数据时,它给了我空字符串。

这是我的代码:

import serial
import time
ser = serial.Serial('/dev/ttyUSB0',
                    baudrate=9600,
                    parity=serial.PARITY_EVEN, 
                    stopbits=serial.STOPBITS_ONE,
                    bytesize=serial.SEVENBITS,
                    timeout = 1)

while True:
    print(ser.read())

以上代码的输出为:

b''

我也尝试过 post 的解决方案,但它没有给出任何结果,因为它一直在等待:

while True:
    data = ''
    while ser.inWaiting() > 0:
    data += ser.read()
    if data:
        print("Received: ", data)

我已确认 RS232 已正确连接到笔记本电脑:

[ 6105.752153] usb 1-1.2: ch341-uart converter now attached to ttyUSB1

即使我使用了minicom,配置了波特率等参数,仍然收不到数据。

这里是YH-T7E manual供参考

请帮助我?

您的代码看起来不错。对 ser.read() 的调用将一次读取一个字节 - 因此如果它接收到任何数据,您应该每行看到一个字符。您可能应该在这里进行一些故障排除。

  • 你的线接对了吗?秤的 TX 是否连接到 RS232 端口上的 RX?地线是连在一起的吗?

  • 通信设置是否正确?您是否尝试将其设置为 8 位?也尝试将奇偶校验设置为 ODD 或 EVEN,也许 NONE 也是?

  • 你的USB RS232可以用吗?也许你可以在其他设备上查看它?