Linux コマンドラインからシリアルを読み取る

Linux コマンドラインからシリアルを読み取る

Linux コマンドラインを使用してテストしたいシリアル ポート デバイスがあります。

sttyとechoを使ってシリアルポートにコマンドを送ることはできますが、デバイスが応答したときにシリアルポートから何が送られてくるのか読み取る方法がありません。

stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb && echo -n ^R^B > /dev/ttyS0

デバイスにコマンドを送信します。デバイスは動作し、300 ミリ秒以内に応答を返します。コマンド ラインを使用してその応答をコンソールに出力するにはどうすればよいですか?

答え1

出力の場合と同じです。例:

cat /dev/ttyS0

または:

cat < /dev/ttyS0

最初の例は、シリアル ポートを開いて、そこから読み取った内容を (コンソールに) 中継するアプリです。2 つ目の例は、任意のアプリにシリアル ポート トラフィックを誘導するシェルです。この特定のアプリは、そのトラフィックを にstdout中継するだけです。stdinstdout

トラフィックの可視性を高めるには、16 進ダンプを使用することをお勧めします。

od -x < /dev/ttyS0

答え2

私は次のように Arduino Uno の出力を監視しています:

screen /dev/ttyUSB0 9600

関連情報