Protocole ”FIRMATA”


(Cliquez pour afficher la version PDF)


      

 

 

Nous avons vu qu’avec la liaison série, il était possible d’interagir avec un Arduino à l’aide d’un programme en Python. Cependant, en fonction des circuits électroniques, des capteurs utilisés et des actions que l’on souhaite réaliser, il faut téléverser dans la mémoire de l’Arduino, un programme adapté et bien souvent modifier le programme en Python associé pour la réception ou l’envoi des données. 

Pour pallier à ce problème, il existe un protocole de communication, appelé, ”Firmata”, et basé sur deux programmes :

– un programme en Python ”donneur d’ordres”, sur l’ordinateur, pour pouvoir envoyer des ordres à l’Arduino ou recevoir des données via le port USB.

– un programme ”pilote”, sur le microcontrôleur, qui comme son nom l’indique, pilotera les matériels connectés en réponse aux ordres reçus.


Pour que le programme Python ”donneur d’ordres” fonctionne, le chargement, dans la mémoire de l’Arduino, du code ”pilote” doit être fait avant son lancement, à l’aide du logiciel ”IDE ARDUINO”.
Mais une fois le téléversement du programme ”pilote” effectué, seul le programme en Python sera modifié en fonction des actions que l’on souhaite réaliser.
En effet, avec le protocole de communication ”Firmata”, la lecture et l’écriture sur les entrées et sorties de l’Arduino se font directement à partir du programme en Python, ce qui facilite l’exploitation des données des capteurs.
Suivant les circuits étudiés ou les capteurs utilisés, on utilisera deux protocoles de communication avec l’Arduino différents: