читать данные весов через RS232 на USB-кабель в Python - PullRequest
1 голос
/ 26 октября 2019

Я пытаюсь прочитать данные с весы YH-T7E , используя Raspberry Pi через кабель RS232 - USB в Pyhon. Однако, когда я читаю данные через них, я получаю пустую строку.

Вот мой код:

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''

Я также попробовал решение из этого сообщения, но оно ничего не дает, поскольку оно продолжает ждать:

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 для справки

Пожалуйста, помогите мне?

1 Ответ

0 голосов
/ 27 октября 2019

Ваш код выглядит нормально. Вызов ser.read() будет читать по одному байту за раз - поэтому вы должны видеть один символ на строку, если он получает какие-либо данные. Возможно, вам следует немного устранить неполадки здесь.

  • Правильно ли подключены провода? Подключен ли TX от весов к RX на вашем порте RS232? Заземления соединены вместе?

  • Правильны ли настройки связи? Вы пытались вместо этого установить 8 бит? Также попробуйте установить четность на ODD или EVEN, может быть, также NONE?

  • Работает ли у вас USB RS232? Может быть, вы могли бы проверить это на другом устройстве?

...