lendo da linha de comando serial do linux

43

Eu tenho um dispositivo de porta serial que gostaria de testar usando a linha de comando do linux.

Eu posso usar stty e echo para enviar comandos para a porta serial, mas quando o dispositivo responde eu não tenho como ler o que está vindo da porta serial. Estou usando

stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb && echo -n ^R^B > /dev/ttyS0

para enviar um comando para o dispositivo. O dispositivo opera e envia uma resposta em 300 ms. Como faço para imprimir essa resposta para o console usando a linha de comando?

    
por erin c 04.07.2012 / 13:50

1 resposta

48

O mesmo que com a saída. Exemplo:

cat /dev/ttyS0

Ou:

cat < /dev/ttyS0

O primeiro exemplo é um aplicativo que abre a porta serial e retransmite o que lê para o seu stdout (seu console). O segundo é o shell direcionando o tráfego da porta serial para qualquer aplicativo que você goste; este aplicativo em particular apenas retransmite seu stdin para seu stdout .

Para obter uma melhor visibilidade do tráfego, você pode preferir um dump hexadecimal:

od -x < /dev/ttyS0
    
por 04.07.2012 / 14:24