Автоматизировать загрузку файлов xmodem

У меня есть устройство, где обновление программного обеспечения выполняется путем загрузки файла через xmodem.

Я смог сделать это двумя способами, используя пакет lrzsz ( http://ohse.de/uwe/software/lrzsz.html).

1) Использование экрана

screen /dev/tty.myserialdevice 115200

а потом

^A:exec !! sz -X file.bin

или же

2) Использование cu

cu -l /dev/tty.myserialdevice -s 115200

а потом

~+lsz -X file.bin

Теперь я хотел бы написать скрипт (предпочтительно скрипт ruby ​​или bash) для автоматизации загрузки файла.

Есть ли способ передать файл на экран или cu или использовать стандартный ввод? Когда я пытался написать сценарий, я только дошел до открытия соединения. Но даже тогда у меня были проблемы с правильным закрытием этой связи снова.

1 ответ

Решение

Не уверен, что у вас все еще есть эта проблема, но мне только что пришлось собрать что-то подобное для аналогичной ситуации.

Я использовал экран для автоматизации этой части, так как он имеет некоторые параметры командной строки для запуска в фоновом режиме. Сначала я создаю отдельный сеанс экрана, например:

    screen -d -m /dev/tty.myserialdevice 115200

Затем я могу сослаться на свой созданный сеанс с параметром -p0 и дать ему команду для выполнения с -X, которая в этом случае является командой для проверки самого себя, чтобы начать передачу файла xmodem.

    screen -p0 -X exec \!\! sz -X filetosend

В других местах в Интернете я заметил, что.\!\! также иногда использовался, так что имейте это в виду, если у вас все еще есть проблемы.

Другие вопросы по тегам