Я пытаюсь отправить сообщение, включая возврат каретки (отображается без нажатия клавиши ввода) через последовательное соединение. Это работает, если я нажимаю ввод с открытым последовательным соединением, но я не нашел способа успешно представить символ возврата каретки в теле сообщения. Необходимо представить "CR" в текстовом файле.
Как я могу закрыть файловый дескриптор (FD) последовательного порта перед отправкой следующей командной строки?
Примечание. Документация по модему гласит: Для успешного взаимодействия с модемным устройством при вводе команды требуется префикс «$ WP», а для завершения командной строки - «CR».
Я пробовал minicom / picocom поверх / dev / ttyACM0, но те же проблемы, только первая команда выполняется
2 ответа
Мне удалось использовать Minicom со сценарием. Необходимо было учесть ответы, отправленные модемом, чтобы можно было перейти к следующей команде. Что мне удалось сделать с «ожидаемо» следующим образом:
send <command>
expect "OK"
send <command>
expect "OK"
....
Вы можете обратиться к справочной странице minicom https://www.systutorials.com/ Docs / Linux / человек / 1 - RunScript /
Вы можете использовать printf
:
$ printf 'whatever\r' > /dev/ttyACM0
Отправить ЧР
Новые вопросы
linux
ВОПРОСЫ LINUX ДОЛЖНЫ БЫТЬ ПРОГРАММИРОВАНЫ. Используйте этот тег только в том случае, если ваш вопрос касается программирования с использованием API-интерфейсов Linux или специфичного для Linux поведения, а не только потому, что вы случайно запускаете свой код в Linux. Если вам нужна поддержка Linux, вы можете попробовать https://unix.stackexchange.com или сайт Stack Exchange конкретного дистрибутива Linux, например https://askubuntu.com или https://elementaryos.stackexchange.com/.