Encontrei projetos chamados Linux Sniffer Serial , jpnevulator e Moni . Os dois primeiros parecem que fazem exatamente o que você quer. O último chama-se monitor, mas na verdade parece um programa de comunicação serial padrão.
Existe alguma ferramenta de monitoramento de porta para assistir os pacotes escritos na porta? Eu particularmente quero verificar se o meu programa escrito em Java funciona, então eu preciso de algum tipo de ferramenta para ver se o meu pequeno aplicativo está gravando as mensagens para a porta. Como faço isso?
Encontrei projetos chamados Linux Sniffer Serial , jpnevulator e Moni . Os dois primeiros parecem que fazem exatamente o que você quer. O último chama-se monitor, mas na verdade parece um programa de comunicação serial padrão.
socat é uma ferramenta para conectar (quase) tudo a (quase ) tudo, e tee podem duplicar fluxos.
Em seu usecase você pode conectar sua porta serial /dev/ttyS0
a um PTY /tmp/ttyV0
, então apontar seu aplicativo para o PTY, e ter socat tee
out Input e Output em algum lugar para você observar.
Pesquisando "socat porta serial pty tee debug" apontará vários exemplos, sendo um deles:
socat /dev/ttyS0,raw,echo=0 \
SYSTEM:'tee in.txt |socat - "PTY,link=/tmp/ttyV0,raw,echo=0,waitslave" |tee out.txt'
Os arquivos in.txt
e out.txt
conterão os dados capturados.
Eu não acho que o driver serial tenha qualquer funcionalidade de rastreamento que permita que você assista aos pacotes. Você pode usar strace
para observar todas as leituras e gravações do seu aplicativo:
strace -s9999 -o myapp.strace -eread,write,ioctl ./myapp
Quando depuro a interação do meu aplicativo com uma porta serial, eu uso moserial .
Tente isto:
screen /dev/tty.usbserial-blahblah 9600
funciona para mim.
Dê uma olhada em ttyUSBSpy . Está no estágio alfa, mas funciona.
interceptty
faz esse trabalho:
interceptty /dev/ttyACM0 /dev/ttyDUMMY
ou, com um bom formato de saída e com a configuração do dispositivo backend e com o buffer de linha:
interceptty -s 'ispeed 19200 ospeed 19200' -l /dev/ttyACM0 /dev/ttyDUMMY | interceptty-nicedump
e, em seguida, conecte-se ao seu programa em /dev/ttyDUMMY
.
Tags serial-port linux