Я пытаюсь отправить сообщение, включая возврат каретки (представленное без нажатия клавиши ввода) через последовательное соединение. Это работает, если я нажимаю ввод с открытым последовательным соединением, но я не нашел способа успешно представить символ возврата каретки в теле сообщения. Необходимо представить «CR» в текстовом файле.
как я могу закрыть дескриптор файла (fd) последовательного порта перед отправкой следующей командной строки?
Примечание: в документации модема сказано: Для успешной связи с модемным устройством требуется префикс «$WP» при вводе команды, а «CR» требуется для завершения командной строки.
Я попробовал minicom/picocom поверх /dev/ttyACM0, но те же проблемы выполняются только в первой строке команды.
Вы можете использовать printf
:
$ printf 'whatever\r' > /dev/ttyACM0
отправить CR
та же проблема, только с командой первой строки. Возможно, нужно отключить и снова подключиться одновременно перед отправкой следующей строки. (?)
как я могу закрыть дескриптор файла (fd) последовательного порта перед отправкой следующей командной строки?
Мне удалось использовать minicom со скриптом. Необходимо было учитывать ответы, отправленные модемом, чтобы иметь возможность перейти к следующей команде. Что мне удалось сделать с «ожиданием» следующим образом:
send <command>
expect "OK"
send <command>
expect "OK"
....
Вы можете обратиться к справочной странице minicom https://www.systutorials.com/docs/linux/man/1-runscript/