Archives du blog

ArduGate ou le pilotage d’un Arduino en manuel via une interface web

Un rapide petit billet pour vous parler d’un projet que je viens de découvrir : ArduGate.

ArduGate permet de contrôler son arduino à partir d’une page web.

Un programme est à charger sur l’arduino et un agent tourne sur l’ordinateur auquel il est connecté en USB. Une fois ce dernier lancé on a accès au serveur web sur http://127.0.0.1:8880/.

L’écran d’ArduGate

1) Paramétrage du port série à utiliser et du baudrate. A noter que sous Linux le port série est en /dev/ttyACM0 et que les ports énumérés ici sont les /dev/ttySXX. En attendant une correction de la part de l’auteur, j’ai donc fait un lien symbolique entre /dev/ttyS33 (un port inexistant) et /dev/ttyACM0.

sudo ln -s /dev/ttyACM0 /dev/ttyS33

2) Connexion à l’Arduino. L’Arduino doit avoir été préchargé avec le programme de l’ArduGate et bien sûr être connecté à l’ordinateur ^^

Une fois connecté il est possible d’accéder aux entrées/sortie digitales (3) et analogique (4).

Le sens des E/S Digitales est paramétrable dans les boites boites de sélection. Il est aussi possible de choisir de piloter un servo, un switch, une lumière ou un relais .

Je pense que ce programme me sera très utile dans les phases de développement et de test d’un montage électronique. Cependant je me vois mal l’utiliser pour piloter mes créations de façon pérenne, l’interface web étant à paramétrer lors de l’utilisation. Par contre pourquoi ne pas réemployer le protocole de communication entre l’ordinateur et l’arduino pour en faire un protocole universelle, mais cela revient à déplacer l’intelligence de l’Arduino vers l’ordinateur, l’Arduino n’étant plus que l’esclave de ce qu’il reçoit par son port série.

Publicités

Mise en graphique des données

Dans les billets précédents j’ai donc détaillé comment récupérer des température depuis l’Arduino, comment les véhiculer sur le réseau à travers un modèle client/serveur et comment les insérer dans une base de données.

Tout cela est bien beau mais des données non exploitées ne servent à rien.

Deux écrans de consultation me viennent naturellement à l’esprit :

Une consultation de la dernière valeur (un peu comme le ferait un thermomètre accroché au mur), cet écran est trivial donc pas la peine d’en parler.

Graphique de la station météo

Graphique de la station météo

Une visualisation d’un historique, cet historique sera constitué des moyennes sur chaque heure et restitués sur un graphique a deux axes (d’un coté les températures et de l’autre les mesures de lumière).  J’ai utilisé une librairie de chez Google dont la documentation se trouve ici .Je vous encourage a vous balader dans la doc, il y a des fonctionnalités assez intéressante d’autant plus que son utilisation est assez aisée. La génération du graphique que je souhaite rendre est fait coté client par du JavaScript.

En moins d’une heure j’ai donc codé un graphique, ce n’est peut être pas très « sexy » mais les données sont restituées et c’était là mon but.

Comme d’habitude le code est dans mon répository Google Code