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 tee
que divide stdin
en stdout
archivos 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 &