Protocole ”Firmata Express”

 

Le protocole de communication ”Firmata Express” est une version améliorée de la bibliothèque ”Firmata Standard 2.5.8” pour Arduino.
Il a été conçu pour être utilisé conjointement avec le client Firmata ”pymata-express” dans les programmes en Python.
Il prend en charge toutes les fonctionnalités de la bibliothèque ”Firmata Standard 2.5.8” et ajoute en outre la prise en charge de :

– La bibliothèque Arduino ”Tone”

– Capteurs de distance HC-SR04

– Moteurs pas à pas  

La liaison série fonctionne à un débit de 115200 bauds, soit deux fois la vitesse de ”Firmata Standard”.

 

. Installation de la bibliothèque ”Firmata Express” dans l’IDE Arduino:  

– Brancher l’Arduino via un port USB,

– Ouvrir le logiciel IDE ARDUINO”,    

– Sélectionner Croquis/Inclure une bibliothèque/Gérer les bibliothèques”,

– Entrer FirmataExpress” dans la zone de recherche :

– et cliquer sur installer”.

Firmata Express nécessite également que la librairie ”Ultrasonic by Erick Simões” soit installée.

De même que précédemment, en utilisant le logiciel Arduino IDE :

– Sélectionner Croquis/Inclure une bibliothèque/Gérer les bibliothèques”,

– Entrer Ultrasonic” dans la zone de recherche, 

– Sélectionner Ultrasonic by Erick Simões”

– et cliquer sur installer”.

 

Les librairies peuvent aussi être installées à partir des fichiers zip” présents dans le dossier Support/Librairies Arduino(à télécharger) :

– Ouvrir le logiciel IDE ARDUINO”,    

– Sélectionner Croquis/Inclure une bibliothèque/Ajouter la bibliothèque .ZIP”,

– Sélectionner le fichier .ZIP de la librairie à installer.

 

Ou tout simplement en copiant le contenu du dossier libraries (à télécharger) dans le dossier des librairies du logiciel ”Arduino IDE” (sous windows, ce dossier se trouve dans le dossier ”Documents/Arduino”).

 

. Chargement du code ”Firmata Express” dans la mémoire de l’Arduino :

– Brancher l’Arduino via un port USB,

– Afin de charger la librairie ”Firmata express” sur l’ARDUINO, il faut lancer le logiciel ”IDE ARDUINO”, puis sélectionner :

Fichier > Exemples > FirmataExpress > FirmataExpress,

– puis cliquer sur ”téléverser”.

 

. Installation de la bibliothèque ”pymata-express” dans Python :

La bibliothèque pymata-express” n’est compatible qu’avec la version 3.7 de Python au minimum.

Pour faire fonctionner, un programme en Python qui contrôle l’Arduino via le protocole de communication Firmata Express”, Python doit disposer de la bibliothèque pymata-express”. Celle-ci peut être installée via pip”, à l’aide de la ligne de commande :

pip install pymata-express==1.4

Important :

La ligne de commande d’installation de ”pymata-express” précise la version de la bibliothèque à installer.

Il est important d’installer la version 1.4 de ”pymata-express” pour assurer le bon fonctionnement des programmes avec les capteurs ultrasoniques.


Pour utiliser la bibliothèque pymata-express” dans un programme python, il faut importer le module PymataExpress”, à l’aide de l’instruction :

from pymata_express.pymata_express import PymataExpress

La connexion avec le microcontrôleur, via le port série, est réalisée avec ce module en précisant le port COM sur lequel l’Arduino est connecté :

board = PymataExpress(com_port = PortComArduino)

Une fois la connexion établie, il est possible d’interroger ou de modifier les entrées et sorties numériques ou analogiques de l’Arduino. 

”pymata-express” utilise la bibliothèque ”asyncio Python 3.7” pour la prise en charge de la programmation asynchrone (programme exécutant plusieurs codes simultanément de façon non bloquante) en tirant parti des tâches ”asyncio” (ou coroutines).

Tous les actions demandées à l’Arduino seront transmises par l’intermédiaire de tâches ”asyncio” à définir:

. Gestion des sorties numériques
. Gestion des entrées numériques
. Gestion des sorties analogiques
. Gestion des entrées analogiques
. La prise en charge de la bibliothèque Arduino ”Tone
. La prise en charge des capteurs ultrasoniques