Я пытаюсь связаться с парой устройств UART через USB. Модуль Bluetooth HT-06 и модуль GPS GY-NEO6MV2. Я использую USB-кабель Prolific PL2303. В качестве резервного у меня также есть Silicon Labs CP2102.
Когда я подключаю PL2303
- команда
lsusb
возвращаетBus 001 Device 015: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
- и
dmesg
команда возвращает[147697.657037] usb 1-11: pl2303 converter now attached to ttyUSB0
- а шоу
ls -l
/dev
crw-rw---- 1 root dialout 188, 0 Jun 15 08:58 ttyUSB0
и я добавил себя в dialout
группу, а также chmod
установил 666
.
Затем я использую Putty с последовательным соединением с Port /dev/ttyUSB0
, Baud 9600 и Parity 8,1,None. Я подключаю кабель PL2303 к HT-06 как GND-GND, VCC-VCC, TX-RX и RX-TX. Все довольно простые вещи.
Экран Putty начинается с курсора в левом верхнем углу. Я отправляю команду AT. Я ожидаю OK, но ничего не происходит. У меня есть второй HT-06, но по-прежнему ничего.
Я подумал, что это может быть сломанный кабель RX или TX (у меня мигает светодиод на HT-06, так что VCC и GND в порядке), поэтому я заменил PL2303 на CP2102. И lsusb, и dmesg говорят мне, что преобразователь подключен (снова в /dev/ttyUSB0
). Используя те же настройки Putty, я по-прежнему ничего не получаю.
Подобным образом я подключил NEO6M как к PL2303, так и к CP2102, и использовал xgps
(подмножество gpsd
). Это возвращает ошибку
gpsd is not connected to /dev/ttyUSB0
и, очевидно, ничего не происходит.
Я использую Linux Mint 20 с ядром 5.4.0-74-generic, в котором есть драйверы для CP210X и PL230X. Я также пробовал разные порты USB (USB2 и USB3). Несмотря на 2 разных преобразователя USB-TTL, 3 устройства UART и несколько разных приложений последовательного терминала (я также пробовал minicomm
и rfcomm
), ничего не работает.
решение1
Я откопал старый Arduino, который работал на моем ПК, когда он был намного более старой версией Linux. С последним Arduino IDE и Serial Monitor... Он работает. Теперь я могу общаться с устройствами HC-06 и NEO6m. Это не то решение, которое я искал, но это обходной путь
решение2
можете поделиться своей конфигурацией tty stty --all -F /dev/ttyUSB0 и проверьте флаг CLOCAL, проверьте все флаги конфигурации, также проверьте конфигурацию оборудования, есть разные конфигурации проводки для разъема DB9. также помните, что скорость - это скорость в бодах или битрейт (в зависимости от конфигурации драйвера). Так что если вам нужна скорость в битах 9600, иногда вам следует установить скорость 1200
решение3
Я заставил свой модем работать с помощью picocom
( sudo apt install picocom
) программы:
picocom /dev/ttyUSB0
Затем просто введите команды. Также попробуйте с sudo, если это не сработает.