web-dev-qa-db-ja.com

lrzszを使用しないシリアルファイル転送

Raspianを実行しているデバイスがありますが、lrzszパッケージがインストールされていません。デバイスへのシリアルポートしかなく、screenまたはminicomを使用してデバイスに接続できますが、残念ながら、ファイルを送信する方法を見つけることができません。また、デバイスにはインターネット接続がありません。

Lrzszを使用せずにファイルをシリアルに転送する方法、またはlrzszをデバイスにシリアルに転送する方法はありますか?

4
Cornel Verster

ファイルを転送するためのより簡単で堅牢な方法があるかもしれませんが、これはうまくいくはずです:

  1. base64はホストシステムでファイルをエンコードします

    base64 file > file.64

  2. シリアル出力をPi上のファイルにリダイレクトします。

    cat < /dev/ttyAMA0 > file.64

  3. Minicomの貼り付け機能を使用します: CtrlA、 Y、転送するファイルを選択します。押す CtrlD 転送が終了した後、Piで。

  4. 次に、ファイルはfile.64としてPiに転送されます。
  5. 今base64はそれをデコードします:

    base64 -d file.64 > file

バイナリファイルが送信およびエコーされ、一部のシーケンスがセッションを変更または終了して端末を混乱させたり、転送を破損したりする可能性があるため、base64変換が必要です。 「安全でない」文字が画面にエコーバックされるのを防ぐ他の変換も同様に機能しますが、base64はここに適しているようで、デフォルトでPiにインストールされています。

5
Marco