¿Cómo puedo dividir una conexión serial en dos?

¿Cómo puedo dividir una conexión serial en dos?

Necesito obtener una aplicación y un monitor para leer desde el mismo puerto serie, la aplicación será el único programa que podrá leer/escribir en el puerto serie y el monitor solo podrá leer.

Espero lograr esto:

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

He oído que socat podría hacer esto. Pero no estoy seguro de cómo hacer esto.

¿Cómo puedo hacer esto exactamente? Es una conexión en serie que se ejecuta a una velocidad de baudios de 192 K y la estoy ejecutando en un sistema Debian Linux.

Respuesta1

Existe una pequeña utilidad llamada teeque divide stdinen stdoutarchivos arbitrarios, posiblemente tuberías, que pueden ser utilizados por dos o más aplicaciones diferentes.

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

información relacionada