mercredi 16 avril 2014

Socat

Socat est un utilitaire permettant de transférer des données entre différents protocoles.

Je me suis intéressé à socat pour pouvoir faire des tests logiciels, où le matériel n'est pas connecté.

Socat permet ainsi d'émuler un port série.

Finalement une autre solution est d'utiliser socat comme un convertisseur série/TCP.

De cette manière, le programme principal n' a plus besoin de faire appel à des ports séries, et seulement à des ports tcp/ip.

Pou installer socat sur ubuntu, c'est très simple, il suffit de taper :

sudo apt-get install socat

Ensuite pour forwarder un port série sur une socket TCP :

sudo socat tcp-l:1234,reuseaddr,fork file:/dev/ttyACM0,nonblock,raw,echo=0,waitlock=/var/run/ttyACM0.lock,b9600



Il est ensuite possible de vérifier les messages venant du port série (arduino dans mon cas) en tapant telnet 127.0.0.1 1234

J'ai également écrit un script python pour récupérer les messages.

Voir http://gertverdemme.nl/howto/arduino_serial_over_tcp_openwrt pour créer un script pour lancer socat automatiquement.

Aucun commentaire:

Enregistrer un commentaire