Чтобы иметь возможность отправлять двоичный файл с 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
, и нажмите клавишу ввода, чтобы перейти к следующему меню, затем добавьте командную строку /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 аналогичным образом.