Я запускаю код python, который подключен к двум последовательным портам, huawei dongle и zigbee. Я понимаю, что для того, чтобы узнать, какой порт использует ключ, я должен использовать gammu. И zigbee всегда использует dev/ttyUSB0. Однако, если я должен автоматически запускать скрипт Python при загрузке, как малина pi должна знать, какой порт подключен к USB-порту? И есть ли способ, которым я мог бы сразу запустить код для смс, не используя гамму, чтобы узнать порт?Python USB Последовательные порты связи
ответ
Если вы спрашиваете, «как я могу сказать, если/DEV/ttyUSB0 является Huawei донгл или ZigBee», то вы можете сделать следующее для каждого устройства:
udevadm info --name /dev/ttyUSB0 --query property --export
Например, у меня есть FTDI последовательный порт и выход для команды:
DEVLINKS='/dev/serial/by-id/usb-FTDI_USB__-__Serial-if00-port0 /dev/serial/by-path/platform-bcm2708_usb-usb-0:1.2:1.0-port0'
DEVNAME='/dev/ttyUSB0'
DEVPATH='/devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/ttyUSB0/tty/ttyUSB0'
ID_BUS='usb'
ID_MODEL='USB__-__Serial'
ID_MODEL_ENC='USB\x20\x3c-\x3e\x20Serial'
ID_MODEL_FROM_DATABASE='FT232 USB-Serial (UART) IC'
ID_MODEL_ID='6001'
ID_PATH='platform-bcm2708_usb-usb-0:1.2:1.0'
ID_PATH_TAG='platform-bcm2708_usb-usb-0_1_2_1_0'
ID_REVISION='0400'
ID_SERIAL='FTDI_USB__-__Serial'
ID_TYPE='generic'
ID_USB_DRIVER='ftdi_sio'
ID_USB_INTERFACES=':ffffff:'
ID_USB_INTERFACE_NUM='00'
ID_VENDOR='FTDI'
ID_VENDOR_ENC='FTDI'
ID_VENDOR_FROM_DATABASE='Future Technology Devices International, Ltd'
ID_VENDOR_ID='0403'
MAJOR='188'
MINOR='0'
SUBSYSTEM='tty'
UDEV_LOG='3'
USEC_INITIALIZED='2247071814106'
Там должно быть достаточно различий в выходе на два ваших устройств, чтобы быть в состоянии решить, какой из которых, например, ID_VENDOR от FTDI в этом случае. ID_VENDOR_ID и ID_MODEL_ID из 0403 и 6001 соответствуют тому, что вы можете увидеть в:
$ lsusb
...
Bus 001 Device 006: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Если устройства можно отличить по ID_SERIAL вы можете найти их в /dev/serial/by-id/
как символическую ссылку на соответствующий ttyUSB *, например, для моего FTDI:
/dev/serial/by-id/usb-FTDI_USB__-__Serial-if00-port0 -> ../../ttyUSB0
Если вы подключите устройство в тот же порт USB каждый раз, вы можете найти подходящий ttyUSB как символическую ссылку под /dev/serial/by-path/
, например:
/dev/serial/by-path/platform-bcm2708_usb-usb-0:1.2:1.0-port0 -> ../../ttyUSB0
- 1. Последовательные порты Python
- 2. Последовательные порты в Linux
- 3. Сервер прослушивает клиентские последовательные порты
- 4. Как сбросить загруженные последовательные порты в java
- 5. Создаются повторяющиеся виртуальные последовательные порты USB - что может вызвать это?
- 6. Python PySerial, как открыть последовательные порты?
- 7. Использовать последовательные порты RFC2217 с Twisted Python?
- 8. Найти последовательные порты
- 9. Электронные и последовательные порты
- 10. node.js и последовательные порты
- 11. Многопоточность и последовательные порты
- 12. Последовательные порты - как установить символы?
- 13. Виртуальные последовательные порты в ORSSerialPort
- 14. C++ linux обнаруживает все последовательные порты
- 15. последовательные порты linux - программа mulithread
- 16. Qt и виртуальные последовательные порты
- 17. Не удается найти последовательные порты
- 18. comm.jar, сообщающий последовательные порты java
- 19. Проверьте, есть ли последовательные порты
- 20. MacPython: программно найти все последовательные порты
- 21. C# Отключить/Включить порты USB
- 22. Невозможно обнаружить какие-либо последовательные порты с Python
- 23. Экспортированный JAR-файл не обнаруживает последовательные порты
- 24. C# последовательные порты улучшают медленную работу
- 25. Как обрабатывать последовательные порты неполных полученных данных?
- 26. Последовательные данные связи приложений Android
- 27. Порт связи USB
- 28. установка usb скорость связи
- 29. Открытие USB связи
- 30. USB связи в C#
Да, я попробовал, но я имел в виду, что, используя huawei, мне нужно сделать gammu, чтобы узнать, какой порт я использую, чтобы перейти к отправке sms. Но дело в том, что мне нужно протестировать 3 порта ttyUSB0 на ttyUSB2, чтобы настроить последовательный порт для huawei. – Skyee
О, и спасибо тоже – Skyee