Projet Station Météo Pro #1

Ca y est, je me suis lancé enfin dans la construction d’une vraie station météo avec tout ce qui va bien : pluviomètre, anémomètre, girouette, sondes température, etc … Un arduino pilotera le tout et enverra les données vers un serveur web. Je lance une série de 5 articles sur la réalisation intégrale. Présentation du projet.

Le projet

Depuis des années, je bidouille des éléments météo. D’abord une station Oregon couplée à un RFXCOM et Raspberry mais la fiabilité de l’ensemble aura eu raison de moi. Les liaisons sans fils depuis le toit pour l’anémomètre ou le bout du jardin pour le pluviometre étaient plus que limites. Alors quand on perd le signal 2h … c’est rageant à souhait !

Alors j’ai enfin décidé d’en assembler une, dans les règles de l’art et surtout pour un budget raisonnable. Je n’ai pas les moyens de me payer une Davis (>1000€) … Mais vous verrez que l’on peut faire de grandes choses avec du matériel de bonne qualité pas trop cher.

Située en Nord Isère (38) à 360m d’altitude, la station permettra aux habitants de la région d’avoir des infos météorologiques assez précises et elle me permettra d’historiser les données pour les années à venir et voir l’évolution météo.

Le concept

La station sera basée sur un Arduino Uno, couplée à un shield Ethernet (le filaire y’a que ca de vrai) qui servira aussi de lecteur carte micro SD.

Les éléments qui composeront la station sont :

  • Arduino Mega
  • kit Lextronic Girouette/Anémomètre/Pluviomètre avec interface Grove
  • sonde BME280 pour température/humidité/baromètre
  • plus tard se rajoutera une sonde de rayonnement solaire RG100
Kit Lextronic

Les données seront traitées comme suit :

  • L’arduino génèrera les données toutes les min (voir ci après)
  • Il stockera la données dans un fichier CSV horodaté par jour
  • Il appellera une URL sur mon Synology pour stocker les données sur le synology (backup)
  • Il appellera une URL sur mon serveur web pour stocker les données dans une base MySQL qui servira au site météo

Le projet comportera aussi toute la partie serveur web avec un site complet d’accès aux données avec :

  • des infos lives
  • des prévisions de pluie sur 12h, de temps sur 5j
  • des infos vigilance météo france
  • la qualité de l’air
  • les pollens
  • une image webcam horodatée toutes les 5 min
  • éphémérides
  • des statistiques mensuelles, annuelles, …

Gestion des capteurs

Girouette

Le programme lira la valeur analogique (16 valeurs analogiques correspondant à 16 positions sur la rose des vents, produite par des ILS et résistances) de la girouette toutes les 3 sec et stockera cette valeur sous forme d’un angle (0-360°). Au bout d’une minute, le programme fera une moyenne des valeurs obtenues et définira la direction moyenne du vent pendant 1 min.

Anémomètre

Le capteur est fait sur une base ILS. Le programme va compter toutes les 3 sec le nombre de fermetures de l’aimant de l’ILS (1 passage = 1 fermeture). On calculera en fonction du nombre de passage en 3 sec la vitesse du vent. On échantillonne en continu sur 1 min, puis on fait la moyenne des valeurs récoltées pour en déduire le vent moyen sur 1 min. La valeur maximale durant la minute sera la rafale.

Pluviomètre

Le pluviomètre est basé sur un ILS qui se ferme à chaque basculement d’auget. Chaque auget fait tomber l’équivalent de 0,2794mm de pluie (1mm = 1l/m2 au sol). Le programme compte pendant 1 min le nombre de bascule et calcule la quantité de pluie en 1 min.

Température

La température est récupéré sur le capteur toutes les 10 sec. Le programme va ensuite faire la moyenne de ces valeurs et définir la température moyenne sur 1 min.

Humidité et point de rosée

Comme pour la température, le programme va lire le capteur toutes les 10 sec et au bout d’1 min, faire la moyenne des valeurs obtenues pour avoir l’humidité moyenne sur 1 min. A partir de l’humidité et de la température, le serveur web calculera le point de rosée.

Voir le détail sur le site Carnetdumaker

Pression atmosphérique

Le BME280 permet de récupérer la pression atmosphérique en fonction de la température, et de l’altitude. Nous exploiterons donc cette donnée. Le programme lira le capteur toutes les 10 sec et au bout d’1 min, fera la moyenne des valeurs obtenues et définira la pression moyenne sur 1 min.

Installation

L’ensemble des capteurs sera fixé sur un mat, qui sera fixé sur ma cheminée sur mon toit. C’est une installation classique où sera toléré le capteur BME280 (il est préférable de prendre la température à 1,50m du sol  mais en filaire pour le moment cela ne sera pas possible). Le mât dépassera de 1,50m le haut du toit, pour avoir des valeurs le plus proches de la réalité possible.

Les câbles seront gainés jusque dans mes combles puis ils descendront dans la montée de mon escalier de sous sol où ils rejoindront une boite en plastique avec capot vissé de 16cmx10cmx6cm qui accueillera l’arduino et ses modules. L’arduino sera alimenté en 12V via l’alimentation de mon IPX800.

Des leds seront en facade de la boite pour donner différents statuts : alimentation, ethernet, transmission données, … et un interrupteur permettra de faire un on/off électrique au cas où …

Conclusion

Cette série d’articles se décomposera comme suit : 

  1. Présentation du projet
  2. Le kit lextronic : capteurs et platine grove
  3. Le BME280 : refresh
  4. Gestion des données : SD, synology, serveur web
  5. Mise en boite et installation réelle

Je vais essayer de les produire assez rapidement, à l’heure où j’en suis j’ai fait 50% du projet mais j’avance bien.

Je ferais si cela intéresse du monde une deuxième série sur la partie serveur web et post traitement des données.

Enfin, je rendrais le code source Arduino public (aux détails près) pour tous ceux qui voudraient la reproduire.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.