Tengo un dispositivo de puerto serie que me gustaría probar usando la línea de comando de Linux.
Puedo usar stty y echo para enviar comandos al puerto serie, pero cuando el dispositivo responde no tengo forma de leer lo que viene del puerto serie. estoy usando
stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb && echo -n ^R^B > /dev/ttyS0
para enviar un comando al dispositivo. El dispositivo funciona y envía una respuesta en 300 ms. ¿Cómo imprimo esa respuesta en la consola usando la línea de comando?
Respuesta1
Lo mismo que con la salida. Ejemplo:
cat /dev/ttyS0
O:
cat < /dev/ttyS0
El primer ejemplo es una aplicación que abre el puerto serie y transmite lo que lee a su stdout
(su consola). El segundo es el shell que dirige el tráfico del puerto serie a cualquier aplicación que desee; esta aplicación en particular simplemente la transmite stdin
a su archivo stdout
.
Para obtener una mejor visibilidad del tráfico, es posible que prefiera un volcado hexadecimal:
od -x < /dev/ttyS0
Respuesta2
Estoy monitoreando la salida de arduino uno como:
screen /dev/ttyUSB0 9600