シリアル端末経由でバイナリファイルを送信する

シリアル端末経由でバイナリファイルを送信する

シリアル端末に関する問題があります。私はLinuxコンピュータを持っていますscreen /dev/ttyUSB0 115200

これは、シリアル端末を介してARMにファイルを作成し、Linuxシステムでファイルを開き、すべてのテキストを開いた端末にコピーして、すべてのテキストファイルを仮想的に転送できることを意味します。

今、バイナリデータを転送したいと思います。私のARMコンピュータにインターネットが接続されていないため、パッケージをインストールできません。残念ながらここにはminicom。さらに、rz基本的に提供される機能もありません。

通常、すべてのテキストを簡単に転送できます。これでバイナリファイルをコピーしたいと思います。どうすればいいですか?

PS:この質問は拡張されます。シリアル端末経由でバイナリファイルを送信する、さらに制限があります。

答え1

sharGNUを使用してsharutilsバイナリファイルからテキストファイルを作成し、それと同じようにテキストファイルをコピーして貼り付けます。このテキストファイルは、実行時に元のバイナリファイルを復元するシェルスクリプトです。https://en.wikipedia.org/wiki/GNU_Sharutils

答え2

ARMボックスに何が入っているかによって異なります。あなたはいますかuuencodebase64perl

デフォルトでは、一部のラッパーを使用してバイナリファイルをASCIIに変換し、ASCIIファイルをリモートシステムに送信してからバイナリファイルに解凍することができます。

例えば

uuencode myfile > myfile.uue

これで myfile.uue をリモートエンドに送信します。

それから遠い方から

uudecode myfile.uue

バイナリをASCIIでラップするにはいくつかの方法があり、uuencode一般的base64に使用される2つの方法があります。コンピュータに何があるのか​​わからない場合は、どの方法が最適なのかわかりません。

これを行う方法を理解したら、それからこの方法では、より良いプログラム(minicomまたは)を転送してrz使用できます。デフォルトでは、ASCIIラッパーを使用して安定した転送プロセスを「ブートストラップ」します。

関連情報