回答:
xmodemを介してファイルを渡す最良の方法は、を使用することsx
です。Debianでは、このアプリケーションは「lrzsz」パッケージの一部です。
Debianの場合:
apt-getインストール画面lrzsz 画面/ dev / ttyUSB0 115200
次にを押して、Ctrl-A続けて:入力します。
エグゼクティブ!! sx yourbinary.bin
これにより、xmodemプロトコルを介してファイルがttyUSB0に送信されます。
sx binary.bin | socat FILE:/dev/ttyUSB0,b115200,raw -
Give your local XMODEM receive command now
zmodemを使用する場合は、zmodem
オプションをに設定する必要がありpass
ます。スクリーンセッションが既に実行されている場合は、を押しCTRL+A :てを入力しzmodem pass
ます。データを送信するにsz
は、lrzsz
パッケージのコマンドを使用します。
画面を介してデータを受信する場合は、値をに設定する必要がありますcatch
。
zmodem catch
は私が年齢を探してきたオプションです!いい馬鹿げた、ミニコム。
xbinへの.binファイルのシリアル転送を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
3行目は、ファイル転送のリッスンを開始するコマンドを相手側(xbee)に送信します。だからあなたはおそらくちょうど良いです:
screen -d -m -S uart_con /dev/ttyUSB0 115200
screen -S uart_con -X exec \!\! sz -X /path_to_file/example.file
OSXの画面からこれを行おうとしている場合は、user32704によっていくつかの小さな変更を加えた手順に従ってください。まずソースからlrzszをビルドする必要があります。これは次の場所にあります。
https://ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
次に、代わりにexec !! sx yourbinary.bin
使用する必要があります:
exec !! lsz -X yourbinary.bin
sudo port install lrzsz
screen
cu
、他のパッケージと一緒に、または他のパッケージと非対話的に実行できますか?