Wyślij plik za pomocą protokołu xmodem lub kermit z ekranem GNU


23

Pracuję z urządzeniem RS-232 przez GNU screen.

$ screen /dev/ttyUSB0 115200

W pewnym momencie muszę wysłać plik lokalny do urządzenia za pomocą protokołu xmodemlub kermit. W systemie Windows używam TeraTerm, który ma odpowiedni element menu. Jak mogę to osiągnąć na ekranie GNU?

Odpowiedzi:


26

najlepszym sposobem na przekazanie pliku przez xmodem jest użycie sx. W debianie ta aplikacja jest częścią pakietu „lrzsz”.

W debian:

apt-get install screen lrzsz

screen / dev / ttyUSB0 115200

Następnie naciśnij, Ctrl-Aa następnie :i wpisz:

exec !! sx yourbinary.bin

Spowoduje to wysłanie pliku do ttyUSB0 przez protokół xmodem


Czy tę operację można wykonać nieinteraktywnie, z screen cupakietem lub dowolnym innym pakietem?
Vorac,

3
@Vorac zawsze możesz to zrobićsx binary.bin | socat FILE:/dev/ttyUSB0,b115200,raw -
GnP

2
Jak przekazać polecenie odbioruGive your local XMODEM receive command now
AQU

Gdzie jest utrzymywany ten pakiet? Nie mogę tego znaleźć
not2qubit

8

Jeśli chcesz użyć zmodem, musisz ustawić zmodemopcję pass, jeśli sesja ekranowa jest już uruchomiona, naciśnij CTRL+A :i po prostu wprowadź zmodem pass. Aby wysłać dane, po prostu użyj szpolecenia z lrzszpakietu.

Jeśli chcesz odbierać dane przez ekran, musisz ustawić wartość na catch.


zmodem catchto opcja, której szukałem od wieków! Dobra gra, minicom.
ijustlovemath 11.04.17

4

Potrzebowałem zautomatyzować szeregowe przesyłanie pliku .bin do xbee za pomocą xmodem, więc użyłem tego niechlujnego kodu 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

Trzeci wiersz wysyła polecenie na drugą stronę (xbee), aby rozpocząć nasłuchiwanie transferu plików. Więc prawdopodobnie jesteś dobry z:

screen -d -m -S uart_con /dev/ttyUSB0 115200
screen -S uart_con -X exec \!\! sz -X /path_to_file/example.file

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.