¿Existe alguna herramienta de monitoreo de puertos para ver los paquetes escritos en el puerto? Especialmente quiero verificar si mi programa escrito en Java funciona, así que necesito algún tipo de herramienta para ver si mi pequeña aplicación está escribiendo los mensajes en el puerto. ¿Cómo hago esto?
linux
serial-port
Deepak
fuente
fuente
Respuestas:
Encontré proyectos llamados Linux Serial Sniffer , jpnevulator y Moni . Parece que los dos primeros hacen exactamente lo que quieres. El último se llama a sí mismo un monitor, pero en realidad se parece a un programa de comunicación en serie estándar.
fuente
socat es una herramienta para conectar (casi) todo a (casi) todo, y tee puede duplicar transmisiones.
En su caso de uso, puede conectar su puerto serie
/dev/ttyS0
a un PTY/tmp/ttyV0
, luego apuntar su aplicación al PTY y obtenertee
entradas y salidas en algún lugar para que las observe.Buscar en Google "socat serial port pty tee debug" te mostrará varios ejemplos, uno de ellos es:
Los archivos
in.txt
yout.txt
luego contendrán los datos capturados.Esto ha sido confirmado para trabajar por comentaristas (@ogurets).
fuente
socat
puede hacer llamadas proxy ioctl.No creo que el controlador en serie tenga ninguna funcionalidad de rastreo que le permita ver paquetes. Puede usar
strace
para observar todas las lecturas y escrituras de su aplicación:fuente
interceptty
hace ese trabajo:o, con un buen formato de salida y con la configuración del dispositivo de fondo, y con el almacenamiento en línea de la memoria intermedia:
y luego conéctese con su programa a
/dev/ttyDUMMY
.fuente
wget
ya hacer clic en el.tar.gz
archivo corrupto parecía que de alguna manera), la instalacióngcc
ymake
, a continuación, ejecutar./configure
ymake install
. Sin embargo, hace exactamente lo que el OP y yo queremos.Cuando depuro la interacción de mi aplicación con un puerto serie, uso moserial .
fuente
Prueba esto:
funciona para mi.
fuente
Esta es la forma en que finalmente elijo
Gracias a la respuesta de Gilles !
Lo siento, te lo explicaré ...
ls -l /proc/[0-9]*/fd/* | grep ttyUSB0
lugar delsof ttyUSB0
porque los vi en algún momento lento.ttyUSB0
tty${1:-USB0}
permitirá, utilizado como script, ejecutarse luego con el nombre del dispositivo en serie como argumento:ttySniff USB0
ottySniff S0
así sucesivamente.unbackslash
registrará las cadenas registradas porstrace
.Nota: Los ejecuto usando
script -t
para poder reproducir todo y rastrear las ejecuciones de tiempo.fuente
Echa un vistazo a ttyUSBSpy . Está en fase alfa, pero funciona.
fuente
import pcopy
, que incluso Google dejó de buscar.minicom
falta en la lista de herramientas para monitorear puertos seriales. Úselo como, por ejemplo, para escuchar el dispositivo arduino:minicom --device /dev/ttyACM0 --baud 9600
fuente