Intereting Posts
Как открыть журнал NFS Я не могу использовать ЛЮБОЙ дистрибутив Linux из-за моей графической карты Печатать коннективные символы Юникода, используя одно нажатие клавиши Почему моя SD-карта не распознается? Что означает это утверждение IF Обратная сторона `tree` – восстанавливает структуру файлов и каталогов из содержимого текстового файла? Удалить завершающую новую строку из «буфера обмена», чтобы предотвратить выполнение на терминале? Отображение переменной даты Комбинация строки Bash, используемая для создания списка параметров Переключение отдельных строк в список, разделенный запятыми, с цитированными записями Каково состояние стандартного потока ввода-вывода при выдаче команды? предоставить групповые разрешения конкретному устройству Создание загрузочного образа Linux с использованием extlinux TigerVNC работает, но не прослушивает какой-либо порт? Вывод двойных кавычек для переменных в bash и qmake

Получить файл через серийный номер без kermit и lrzsz

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

Единственный способ связи с этим устройством – через serial port, и устройство предлагает консоль для этого последовательного порта.

На этой плате нет ни kermit ни busybox rx ни lrzsz .

– Отправка файла на удаленный

Я смог отправить файл на доску, следуя этой теме .

 Host side Remote side cat file | base64 > file_b64 cat > file_b64 minicom's ctrlA-S => send 'file_b64' cat file_b64 | base64 --decode > file 

– Получение файла с пульта

Теперь я хотел бы получить файл из удаленной системы.

В Minicom есть инструмент для приема файлов, но так как у меня только консоль последовательного порта, использующая minicom для выдачи команд на удаленной стороне, я не могу найти, как это сделать.

Я попытался использовать kermit на стороне хоста, но кажется, что мне также нужно иметь kermit на удаленной стороне.


РЕДАКТИРОВАТЬ:

Я также попытался отменить метод отправки, но безуспешно, так как я ничего не получаю от последовательного порта на стороне хоста.

 Host side Remote side cat file | base64 > file_b64 (sleep 10; cat file_b64 > /dev/ttyS0) & minicom's ctrlA-X => exit minicom cat /dev/ttyUSB0 > file_b64 

Невозможно использовать инструмент получения minicom, потому что он поддерживает только xmodem ymodem , xmodem , ymodem и kermit но не ascii.


Есть ли способ получить файлы из удаленного без необходимости вводить команды в его консоли?

Наконец выяснилось, что я выполняю неправильную команду на стороне получателя.

Команда получения должна быть: cat < /dev/ttyUSB0 > file_b64

Резюме

Чтобы получить от удаленного:

  Host side | Remote side | | #Encode to base64 | cat file | base64 > file_b64 | | #Send after timeout | (sleep 10; cat file_b64 > /dev/ttyS0) & | ############################################################# ### Exit minicom but keep configuration (ctrlA-Z, then Q) ### ############################################################# | #Receive file | cat < /dev/ttyUSB0 > file_b64 | | #Decode file | cat file_b64 | base64 -di > file | 

Резюмируя вышеприведенные посты, я нашел что-то вроде этого:

Sendiig.

Начните получать на цель:

 cat | base64 -d > filetotarget.bin 

Выйдите из Minicom с помощью Ctrl-A + Q и запустите на хост-компьютере:

 cat filetotarget.bin | base64 > /dev/ttyUSB0 

Вернитесь в Minicom и нажмите Ctrl-D, чтобы завершить процесс получения.

Прием.

Начать отложенную отправку по цели:

 sleep 10 ; cat filefromtarget.bin | base64 

Выйдите из миникома с помощью Ctrl-A + Q. Затем начните получать на хосте:

 cat < /dev/ttyUSB0 | base64 -di > filefromtarget.bin