Проблема с подключением устройства UART через порт USB

Проблема с подключением устройства UART через порт USB

Я пытаюсь связаться с парой устройств 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, если это не сработает.

Связанный контент