Чтобы иметь возможность отправить двоичный файл с помощью minicom как ASCII, вам необходимо сначала закодировать его. Проблема в том, что вам нужно снова декодировать его на принимающей стороне, поэтому я думаю, что вы не можете следовать этому маршруту.
К счастью, вы можете настроить minicom для добавления нового протокола передачи. См. здесь: https://gist.github.com/cstrahan/5796653
Как видите, процедура довольно проста:
1) Сохраните скрипт где-нибудь в вашей системе, например /usr/bin/bin-xfer.sh
2) Дайте ему правильные разрешения: $sudo chmod +x bin-xfer.sh
3) Запустите установку minicom: $sudo minicom -s
и выберите в меню протокол передачи файлов
4) Добавьте новую запись, нажав J, дайте имя, например binary
, и нажмите Enter, чтобы перейти в следующее меню, затем добавьте командную строку /usr/bin/bin-xfer.sh -o %l
и установите другие параметры по ссылке.
5) Сохраните конфигурацию и выйдите из меню настройки.
Затем из minicom вы можете вызвать новое меню, которое вы только что добавили, с помощью CTRL+A+S
РЕДАКТИРОВАТЬ: После самостоятельного тестирования этого решения на Ubuntu 19.04 я понял, что скрипт не работает (поскольку он использует другое определение функции, которое не поддерживается). Но это очень легко исправить, просто измените строку 5 с function exists {
на exists() {
. Также рекомендуется установить pv с $sudo apt-get install pv
, если вы хотите следить за ходом передачи.
В качестве примечания: вам не нужно использовать minicom, вы можете использовать этот скрипт как отдельный инструмент, но для этого вам нужно настроить порт с помощью stty, например:
$ stty -F /dev/ttyUSB0 115200 raw cs8 -ixoff -cstopb -parenb
А затем запустите скрипт с помощью:
$ bin-xfer.sh -i bin_file_to_send -o /dev/ttyUSB0
Я также протестировал этот скрипт на Python, и он также работает и может быть добавлен в меню minicom аналогичным образом. .
person
Marcos G.
schedule
10.06.2019