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

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

シリアル端末に関する問題があります。時には、次のコマンドを使用してデバイスに接続できますscreen。例は次のとおりですscreen /dev/ttyUSB0 115200

Linux ARMデバイスを介して接続できます(ログインステップを介しても可能です)。だから、すべてのテキストを簡単に転送できます。これでバイナリファイルをコピーしたいと思います。どうすればいいですか?

ベストアンサー1

使用したくないかもしれませんが、screen専用シリアル端末エミュレーションプログラムminicom(ZMODEMなど)の基本的なサポート機能を備えた専用シリアル端末エミュレーションプログラムを使用してください。

ローカルシステムからARMデバイスにファイルを転送するには、両方のデバイスにZMODEMプロトコルコマンドラインツールをインストールする必要があります。少なくともDebianではlrzsz

まず、ARMデバイスにログインし、rzそのデバイスでコマンドを実行(Zmodemを受信)します。 ZMODEM対応端末エミュレーションプログラムで使用可能な特殊な「受信待機中」文字シーケンスを出力します(たとえば、minicomこの時点で端末エミュレータプログラムは自動的にリモートARMデバイスに送信するファイルを選択できるようにする必要があります。発生しない場合でも、端末エミュレータで「ZMODEMを使用したファイルの送信」(または「ファイルのアップロード...」)機能を手動で選択できます。

一部の端末エミュレータにはZMODEMプロトコルの完全な内部実装があるかもしれませんが、(Zmodemを送信する)コマンドラインツールminicomのみを使用して実際のファイル転送を実行するため、そのパッケージもローカルにインストールする必要がszあります。lrzsz

リモートARMからローカルシステムへの転送は、基本的に同じ方法で動作します。つまりsz <filename>、リモート側でコマンドを実行すると、端末エミュレータは自動的に着信転送(「ダウンロード」)を検出する必要があります。

szツールはリモート側で使用するように設計されており、rzシェルセッションの標準入力と出力を介してファイルを転送するため、ローカルでコマンドを使用するには特定の入力/出力リダイレクトが必要です。する必要があります。 .シリアルポート。これらすべては、sz外部ファイル転送ツールに対応するために必要な機能を持たないこのようなプログラムをローカルで使用/ツールすることを非常に不便にします。rzscreen

おすすめ記事