Eu tenho um dispositivo de porta serial que gostaria de testar usando a linha de comando do Linux.
Consigo usar stty e echo para enviar comandos para a porta serial, mas quando o dispositivo responde não tenho como ler o que vem da porta serial. estou usando
stty -F /dev/ttyS0 speed 9600 cs8 -cstopb -parenb && echo -n ^R^B > /dev/ttyS0
para enviar um comando ao dispositivo. O dispositivo opera e envia uma resposta em 300 ms. Como imprimo essa resposta no console usando a linha de comando?
Responder1
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 seu stdout
(seu console). O segundo é o shell que direciona o tráfego da porta serial para qualquer aplicativo de sua preferência; este aplicativo específico apenas o retransmite stdin
para seu arquivo stdout
.
Para obter melhor visibilidade do tráfego, você pode preferir um dump hexadecimal:
od -x < /dev/ttyS0
Responder2
Estou monitorando a saída do arduino uno como:
screen /dev/ttyUSB0 9600