Отправьте файл xmodem или kermit протоколом с экраном GNU

Вот фактическая фиксация. Добавьте следующее к .tmux.conf:

set -s escape-time 0
23
19.02.2013, 20:26
4 ответа

Если Вы хотите использовать zmodem, необходимо установить zmodem опция к pass, если Ваша экранная сессия уже работает, нажмите CTRL+A: и просто войдите zmodem pass . Для отправки данных просто используют sz команда от lrzsz пакет.

Если Вы хотите получить данные через экран, необходимо установить значение к catch.

8
27.01.2020, 19:42
  • 1
    zmodem catch опция, я был поиском целую вечность! Хорошее избавление, minicom. –  ijustlovemath 11.04.2017, 05:48

лучший способ передать файл через xmodem состоит в том, чтобы использовать sx. В debian это приложение является частью 'lrzsz' пакета.

В debian:

apt-get install screen lrzsz

screen /dev/ttyUSB0 115200

Затем нажмите Ctrl-A, сопровождаемый: и введите:

exec !! sx yourbinary.bin

Это отправит файл в ttyUSB0 по xmodem протоколу

26
27.01.2020, 19:42
  • 1
    Может эта операция быть выполненным нев интерактивном режиме, любой с screen cu или какой-либо другой пакет? –  Vorac 29.10.2015, 10:06
  • 2
    @Vorac можно всегда делать sx binary.bin | socat FILE:/dev/ttyUSB0,b115200,raw - –  GnP 24.03.2016, 21:59
  • 3
    Как дать, получают команду Give your local XMODEM receive command now –  AQU 31.07.2017, 13:10

Если вы пытаетесь сделать это через экран на OSX, вы можете следовать процедуре, описанной пользователем32704 с небольшими изменениями. Сначала вам нужно собрать lrzsz из исходников, которые можно найти здесь:

https://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz

Затем, вместо exec !!! sx yourbinary.bin вы должны использовать:

exec !! lsz -X yourbinary.bin
2
27.01.2020, 19:42

Мне нужно было автоматизировать последовательную передачу файла.bin на xbee с xmodem, поэтому я использовал этот неаккуратный код bash:

echo "Starting connection..."
screen -d -m -S uart_con /dev/ttyO1 115200
sleep 1
screen -S uart_con -X stuff 'F'$(echo -ne '\015')
sleep 1
screen -S uart_con -X exec \!\! sz -X /home/file_directory/example.abs.bin
echo "now transfering... "
sleep 20
pkill screen

Третья строка отправляет другой стороне команду (xbee )начать прослушивание передачи файла. Таким образом, вы, вероятно, хороши только с:

screen -d -m -S uart_con /dev/ttyUSB0 115200
screen -S uart_con -X exec \!\! sz -X /path_to_file/example.file
5
27.01.2020, 19:42

Теги

Похожие вопросы