Можно ли осуществлять последовательную связь с / dev / bus / usb / <bus>/ <device> - PullRequest
0 голосов
/ 11 февраля 2019

Я работаю над проектом, в котором мне нужно выполнить последовательную связь с любым подключенным устройством (ttyS0, ttyS1 или ttyUSB0).К счастью, я наткнулся на очень полезную ссылку на стек-поток: « Простой способ запрашивать информацию о подключенных USB-устройствах в Python? ».В этой ссылке есть код Python, который прекрасно работает и дает правильное имя устройства и подробности.

здесь, в примере кода: "/ dev / bus / usb / 005/002" - это информация об устройстве"FT232 Serial (UART)".Итак, есть ли способ найти либо отображение / dev / bus / usb / 005/002 с ttyS0 / ttyUSB0, либо прямой доступ к UART с информацией об устройстве и выполнить последовательную связь с помощью "/ dev / bus / usb / <шина> / <устройство> "вместо ttyS0 или ttyUSB0.

код питона:

import re
import subprocess
device_re = re.compile("Bus\s+(?P<bus>\d+)\s+Device\s+(?P<device>\d+).+ID\s(?P<id>\w+:\w+)\s(?P<tag>.+)$", re.I)
df = subprocess.check_output("lsusb")
devices = []
for i in df.split('\n'):
    if i:
        info = device_re.match(i)
        if info:
            dinfo = info.groupdict()
            dinfo['device'] = '/dev/bus/usb/%s/%s' % (dinfo.pop('bus'), dinfo.pop('device'))
            devices.append(dinfo)
print devices

результат:

{'device': '/dev/bus/usb/001/001', 'tag': 'Linux Foundation 2.0 root hub', 'id': '1d6b:0002'}
{'device': '/dev/bus/usb/005/002', 'tag': 'Future Technology Devices International, Ltd FT232 Serial (UART) IC', 'id': '0403:6001'}
{'device': '/dev/bus/usb/005/001', 'tag': 'Linux Foundation 1.1 root hub', 'id': '1d6b:0001'}
{'device': '/dev/bus/usb/004/003', 'tag': 'Lite-On Technology Corp. ', 'id': '04ca:0061'}
{'device': '/dev/bus/usb/004/002', 'tag': 'Dell Computer Corp. ', 'id': '413c:2107'}
{'device': '/dev/bus/usb/004/001', 'tag': 'Linux Foundation 1.1 root hub', 'id': '1d6b:0001'}
{'device': '/dev/bus/usb/003/001', 'tag': 'Linux Foundation 1.1 root hub', 'id': '1d6b:0001'}
{'device': '/dev/bus/usb/002/001', 'tag': 'Linux Foundation 1.1 root hub', 'id': '1d6b:0001'}

Благодарность Аатифу Шейху

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...