web-dev-qa-db-ja.com

エコー対スクリーンセッションでシリアルコマンドを送信する

ディスプレイを更新するシリアルコマンドを受け入れるディスプレイドライバーによって制御される小さなLEDマトリックスがあります。ノードシリアルパッケージでノードを介して正常に制御していますが、シェルスクリプトを使用して起動プロセスの早い段階で制御できるように、エコーで更新できるようにしたいと考えています。

この新しいメソッドのテストを開始するには、次のように設定します。

chmod o+rw /dev/ttyUSB0
stty /dev/ttyUSB0 115200

そして、私は画面を使用してそれにコマンドを送ることができます:

screen -F /dev/ttyUSB0 115200

しかし、私が使用しようとすると:

echo -e 'title \r' > /dev/ttyUSB0

それは動作しません、そして私が別のウィンドウで応答を監視すると

cat -v < /dev/ttyUSB0

メッセージを受信して​​いるのがわかりますが、断片化されているようで、連続してエラーが返され、まるで大量の不正なコマンドや空白のコマンドが送信されているように見えます。

エコーを使用して画面から送信されたコマンドをどのように模倣できますか?

7
MikeBman

シリアルポートを構成して、エコーが画面のように動作するようにできました。これが私の設定です:

stty -F /dev/ttyUSB0 115200 raw -echo -echoe -echok -echoctl -echoke

そしてエコーする:

echo -e -n 'command_here\r'  > /dev/ttyUSB0 
5
MikeBman