Почему echo "R"> /dev/ttyUSB0 не работает, но на том же ПК работает последовательный монитор в Arduino IDE?

У меня странная проблема. Я использую Ubuntu и NodeMCU si, подключенные к USB. У меня есть очень простой скетч, работающий на нем, когда он читает букву "R" на серийном номере, он включает реле.

Когда я открываю последовательный монитор в Arduino IDE, набираю букву "R" и отправляю его, он работает отлично. Однако, когда я запускаю команды ниже, он ничего не делает:

stty -F /dev/ttyUSB0 115200
echo "R" > /dev/ttyUSB0

Я пробовал запускать одни и те же команды на разных КОМПЬЮТЕРАХ с Ubuntu, и эти системные команды работают просто отлично.

Я также попытался скопировать точно такую же конфигурацию из stty-a-F /dev/ttyUSB с ПК, где он работает, на ПК, где он не работает, но это тоже не помогло.

Я не думаю, что это проблема с драйверами, потому что если бы это было так, то я предполагаю, что это также не будет работать с последовательным монитором.

Спасибо за любую помощь или подсказки заранее.

, 👍0

Обсуждение

Есть ли у вас что-то еще, подключенное через USB к компьютеру, где оно не работает? Может быть, NodeMCU-это ttyUSB1?, @Edgar Bonet

Это ответ на ваш вопрос? [Как подключить устройство Arduino к Linux?](https://arduinoprosto.ru/q/16776/how-to-connect-arduino-device-to-linux), @Juraj

Вы немного ждете между открытием порта и отправкой данных? Arduino может быть еще не готов к получению данных непосредственно после открытия порта (так как он сбрасывается), @chrisl

Попробуйте выполнить: stty -F /dev/ttyUSB0 -hupcl, @Majenko


2 ответа


Лучший ответ:

0

Итак, я решил эту проблему, но только наполовину. Я использовал NodeMCU с CH340 ... и этот контроллер работал только в последовательном мониторе, а не в командной оболочке на одном компьютере (он прекрасно работал на другом компьютере).

Поэтому я попробовал использовать другой NodeMCU с CP2102, и он работал просто отлично. Поэтому я предполагаю, что в моем Linux должна быть какая-то проблема с драйвером ch341, я не знаю.

,

2

У меня была та же проблема. После ввода команды Майенко предложил:

stty -F /dev/ttyUSB0 -hupcl

Я все еще не мог посылать команды на Arduino nano. Как ни странно, когда я открываю Arduino IDE Serial Monitor и отправляю команду, она работает. Когда я закрываю его, я могу посылать команды в терминале на Arduino в течение некоторого времени. Затем он снова перестает работать :/

,