アプリケーションとモニターが同じシリアル ポートから読み取るようにする必要があります。アプリケーションはシリアル ポートに対して読み取り/書き込みが可能な唯一のプログラムとなり、モニターは読み取りのみが可能になります。
私はこれを達成することを望んでいます:
/----->(Application)
---(/dev/ttyUSB0 Serial connection)---
\----->(Monitor)
socat ならこれができるかもしれないと聞きました。しかし、どうやってやるのかよく分かりません。
これを具体的にどうすればよいのでしょうか? これは 192K ボーレートで実行されるシリアル接続で、Debian Linux システムで実行しています。
答え1
と呼ばれる小さなユーティリティがあり、これは 2 つ以上の異なるアプリケーションで読み取ることができる任意のファイル (パイプも含む)にtee
分割します。stdin
stdout
cat /dev/ttyUSB0 | tee somefile1.txt somefile2.txt | application &
tail -F somefile1.txt | monitor &
tail -F somefile2.txt | parser &