GNU ekranlı xmodem veya kermit protokolü ile dosya gönder


23

GNU üzerinden bir RS-232 cihazıyla çalışıyorum screen.

$ screen /dev/ttyUSB0 115200

Bir noktada xmodemveya kermitprotokolü kullanarak cihaza yerel bir dosya göndermem gerekiyor . Windows'ta karşılık gelen bir menü öğesine sahip TeraTerm kullanıyorum. Bunu GNU ekranında nasıl başarabilirim?

Yanıtlar:


25

Bir dosyayı xmodem üzerinden geçirmenin en iyi yolu kullanmaktır sx. Debian'da bu uygulama 'lrzsz' paketinin bir parçasıdır.

Debian'da:

apt-get yükleme ekranı lrzsz

ekran / dev / ttyUSB0 115200

Sonra tuşuna ve Ctrl-Aardından tuşuna basın ::

exec !! sx yourbinary.bin

Bu, dosyayı xmodem protokolü üzerinden ttyUSB0'a gönderir


Bu işlem etkileşimli olarak, screen cubaşka bir paketle veya başka bir paketle yapılabilir mi?
Vorac

3
Hep yapabilirsiniz @Voracsx binary.bin | socat FILE:/dev/ttyUSB0,b115200,raw -
GSMH

2
Alma emri nasıl verilirGive your local XMODEM receive command now
AQU,

Bu paket nerede korunuyor? Bulamıyorum.
not2qubit

8

Eğer zmodem kullanmak istiyorsanız , ekran oturumunuz zaten çalışıyorsa, zmodemseçeneği ayarlamak zorundasınız pass, CTRL+A :sadece tuşuna basın ve girin zmodem pass. Veri göndermek için sadece paketten szkomutu kullanın lrzsz.

Verileri ekran üzerinden almak istiyorsanız, değeri ayarlamanız gerekir catch.


zmodem catchuzun zamandır aradığım bir seçenek! Kurtuluş, minicom.
ijustlovemath

4

.Bin dosyasının xmodem ile xbee'ye seri aktarımını otomatikleştirmem gerekiyordu, bu yüzden bu özensiz bash kodunu kullandım:

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

Üçüncü satır, diğer tarafa (xbee) bir dosya aktarımını dinlemeye başlamak için bir komut gönderir. Yani muhtemelen sadece iyi:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.