Como posso monitorar o tráfego da porta serial?

33

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?

    
por Deepak 30.04.2011 / 12:05

7 respostas

17

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.

    
por 30.04.2011 / 20:22
25

é uma ferramenta para conectar (quase) tudo a (quase ) tudo, e 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.

    
por 27.08.2015 / 18:23
14

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
    
por 30.04.2011 / 13:48
4

Quando depuro a interação do meu aplicativo com uma porta serial, eu uso moserial .

    
por 08.11.2011 / 18:55
4

Tente isto:

screen /dev/tty.usbserial-blahblah 9600

funciona para mim.

    
por 16.06.2013 / 19:01
2

Dê uma olhada em ttyUSBSpy . Está no estágio alfa, mas funciona.

    
por 18.04.2013 / 10:35
2

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 .

    
por 02.04.2017 / 15:19