Pyserial: termios.error: (22, «Неверный аргумент») при чтении из виртуального последовательного порта - PullRequest
1 голос
/ 08 мая 2019

Есть ли возможность считывать данные из виртуальных последовательных портов без указанной ошибки?

Я пытаюсь получить данные, отправленные со сканера штрих-кодов символов / зебры li4278.Устройство работает в режиме простого эмуляции com-порта и находится в / dev / usb / hiddev0 как последовательный порт.

Я уверен, что эмуляция работает нормально, потому что CuteCom может читать с него, а также работает этот простой скрипт на pytonтоже:

defaultDevice = '/dev/usb/hiddev0'

inDev = open(defaultDevice, 'rb')

while True:
 inBytes = inDev.read(1)
 for x in inBytes:
  print(x)

Но каждый раз, когда я пытаюсь прочитать его, используя pyserial с таким минимальным кодом, как этот:

with serial.Serial('/dev/usb/hiddev0', timeout=1) as ser:
    x = ser.read()
    print(x)

, возникает та же ошибка: termios.error: (22, 'Недействительным аргумент').Как будто он не может читать из виртуальных последовательных портов.

И нет, установка аргументов в значение rtscts = True, dsrdtr = True не работает.

У меня тот же '22, недействительныйошибка аргумента

Linux Mint 18, 64-битный, Python 3.7, pyserial 3.4.

Кто-нибудь знает, в чем дело?

...