¿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/ttyS0a un PTY/tmp/ttyV0, luego apuntar su aplicación al PTY y obtenerteeentradas 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.txtyout.txtluego contendrán los datos capturados.Esto ha sido confirmado para trabajar por comentaristas (@ogurets).
fuente
socatpuede hacer llamadas proxy ioctl.No creo que el controlador en serie tenga ninguna funcionalidad de rastreo que le permita ver paquetes. Puede usar
stracepara observar todas las lecturas y escrituras de su aplicación:fuente
intercepttyhace 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
wgetya hacer clic en el.tar.gzarchivo corrupto parecía que de alguna manera), la instalacióngccymake, a continuación, ejecutar./configureymake 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 ttyUSB0lugar delsof ttyUSB0porque los vi en algún momento lento.ttyUSB0tty${1:-USB0}permitirá, utilizado como script, ejecutarse luego con el nombre del dispositivo en serie como argumento:ttySniff USB0ottySniff S0así sucesivamente.unbackslashregistrará las cadenas registradas porstrace.Nota: Los ejecuto usando
script -tpara 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.minicomfalta en la lista de herramientas para monitorear puertos seriales. Úselo como, por ejemplo, para escuchar el dispositivo arduino:minicom --device /dev/ttyACM0 --baud 9600fuente