web-dev-qa-db-fra.com

lecture en série depuis la ligne de commande linux

J'ai un périphérique de port série que je voudrais tester en utilisant la ligne de commande linux.

Je peux utiliser stty et echo pour envoyer des commandes au port série, mais lorsque l'appareil répond, je n'ai aucun moyen de lire ce qui vient du port série. j'utilise

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

pour envoyer une commande à l'appareil. L'appareil fonctionne et renvoie une réponse en 300 ms. Comment imprimer cette réponse sur la console à l'aide de la ligne de commande?

53
erin c

Identique à la sortie. Exemple:

cat /dev/ttyS0

Ou:

cat < /dev/ttyS0

Le premier exemple est une application qui ouvre le port série et transmet ce qu'elle lit à son stdout (votre console). Le second est le Shell qui dirige le trafic du port série vers n'importe quelle application que vous aimez; cette application particulière relaie alors simplement son stdin à son stdout.

Pour obtenir une meilleure visibilité sur le trafic, vous pouvez préférer un vidage hexadécimal:

od -x < /dev/ttyS0
61
Jirka Hanika