하나의 직렬 연결을 두 개로 분할하려면 어떻게 해야 합니까?

하나의 직렬 연결을 두 개로 분할하려면 어떻게 해야 합니까?

동일한 직렬 포트에서 읽을 수 있는 응용 프로그램과 모니터가 필요합니다. 응용 프로그램은 직렬 포트에 읽고 쓸 수 있는 유일한 프로그램이고 모니터는 읽기만 가능합니다.

나는 이것을 달성하기를 희망합니다 :

                                      /----->(Application)
---(/dev/ttyUSB0 Serial connection)---
                                      \----->(Monitor)

나는 socat을 들었습니다. 이것을 할 수 있을 것 같습니다. 하지만 이 작업을 수행하는 방법을 잘 모르겠습니다.

정확히 어떻게 할 수 있나요? 192K 전송 속도로 실행되는 직렬 연결이고 Debian Linux 시스템에서 실행 중입니다.

답변1

두 개 이상의 서로 다른 응용 프로그램에서 빨간색으로 표시될 수 있는 파이프와 같은 임의의 파일 로 tee분할되는 작은 유틸리티가 있습니다 .stdinstdout

cat /dev/ttyUSB0 | tee somefile1.txt somefile2.txt | application &
tail -F somefile1.txt | monitor &
tail -F somefile2.txt | parser &

관련 정보