Archives du blog

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

Capteur de température et de luminosité pour Arduino

WR703n

Arduino avec 5 sondes de température et deux de luminosité

A partir de code récupéré sur mon-club-elec.fr et la doc officielle de l’Arduino. J’ai réalisé il y a quelques mois un petit montage sur Arduino qui peut mesurer la température provenant de plusieurs capteurs DS18B20, ainsi que la luminosité ambiante à partir de photorésistances.

Pour ce qui est du montage, on utilise des entrées numérique pour les capteurs de température et des entrées analogique pour les photorésistances.  Les DS18B20 (températures) utilisent le protocole OneWire, heureusement la doc Arduino est là avec ses explications (la lib est téléchargeable ici).

Le Montage

Le montage est séparable en deux parties

  • les Sonde Thermo (à gauche)

Les sondes thermo sont toutes connectées sur le même port d’entrée numérique de l’Arduino. Je n’en ai représenté qu’une seule, mais en pratique toutes les sondes sont reliées au même bornier.

  • les photorésistances (à la droite)

Les photorésistances sont des résistances dont la valeur change avec la quantité de lumière reçue. Il existe des formules permettant de calculer la valeur en Lux correspondant, mais je n’ai pas les moyens de faire un étalonnage pour l’instant. La valeur mesurée sera donc relative (sur une échelle allant de 0 à 1023).

La collecte des données

Le code de l’arduino est hérité du travail de Xavier Hinault et se trouve ici. J’ai principalement apporté la gestion de plusieurs sondes Thermo, des photorésistances et mis en forme la trame remontée au PC via le port USB.

Les données en sortie sont écrites sur la sortie série (le classique Serial.println) et récupéré sur l’ordinateur par un programme dont j’ai déjà parlé ici , j’ai nommé log-avr (dont le code source est toujours lisible ici )

Oui je sais, j’écris les articles dans le désordre :p