Я пытаюсь отправить список команд через последовательный порт, но устройство принимает только первую строку, другие игнорируются - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь отправить сообщение, включая возврат каретки (отображается без нажатия клавиши ввода) через последовательное соединение. Это работает, если я нажимаю ввод с открытым последовательным соединением, но я не нашел способа успешно представить символ возврата каретки в теле сообщения. Необходимо представить "CR" в текстовом файле.

как я могу закрыть файловый дескриптор (fd) последовательного порта перед отправкой следующей командной строки?

Примечание. Документация модема гласит: Для успешного взаимодействия с модемным устройством при вводе команды требуется префикс «$ WP», а для завершения командной строки - «CR».

Я пробовал minicom / picocom поверх / dev / ttyACM0, но те же проблемы, только при выполнении первой строки команды

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Мне удалось использовать minicom со скриптом.Необходимо было учесть ответы, отправленные модемом, чтобы можно было перейти к следующей команде.Что мне удалось сделать с «ожидаемо» следующим образом:

send <command>
expect "OK"
send <command>
expect "OK"
....

Вы можете обратиться к справочной странице minicom https://www.systutorials.com/docs/linux/man/1-runscript/

0 голосов
/ 31 мая 2019

Вы можете использовать printf:

$ printf 'whatever\r' > /dev/ttyACM0

для отправки CR

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