Linuxでは、コマンド文字列(一部のデータなど)をシリアルポート(制御文字を含む)に送信し、応答(しばしば制御文字も含めることができます)を受け取りたいと思います。
Linuxでできるだけ簡単にこれを行うにはどうすればよいですか?感謝を表現する例を見てください!
ベストアンサー1
Unixのすべてのデバイスはデバイスファイルにマッピングされ、シリアルポートは /dev/ttyS0
/dev/ttyS1
... 。
/dev/ttyS1
.
ls -l /dev/ttyS1
読み取りおよび書き込みアクセス権が必要であり、共有システムの場合は、誰にでも公開することでセキュリティに与える影響を考慮する必要があります。
chmod o+rw /dev/ttyS1
ファイルに書き込む非常にシンプルで粗い方法は、単純なecho
コマンドを使用することです。
echo -ne '\033[2J' > /dev/ttyS1
そして読んでください
cat -v < /dev/ttyS1
catを1つの端末で実行し、2番目の端末でechoすることができます。
すべてが横説説である場合は、転送を開始する前に転送速度、ビット設定を設定する必要があります。stty
そうします。 !!sttyはstdinをデフォルトのファイル記述子として使用すると影響を受けます。
同等のコマンド。
stty 19200 < /dev/ttyS1
stty 19200 -F /dev/ttyS1
スクリプトとログを書くのに十分です。何を達成したいのか分かりません。
よりインタラクティブに使用するには、既定の設定方法は
minicom
これまでに述べたすべてのことを行うプログラムを使用することです。 (おなじみのWindowsのHyperTerminalに似ています。)
screen
中間ソリューションは、シリアルデバイスで実行できる端末プログラムを使用することです。
screen /dev/ttyS1
man screen
man minicom
man stty
より多くの情報を知りたい場合