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
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 :
- Présentation du projet
- Le kit lextronic : capteurs et platine grove
- Le BME280 : refresh
- Le site web météo
- Abri météo
- Sonde de température déportée avec un ESP8266
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.
Bonjour,
Ce sujet m’intéresse énormément mais vous n’avez pas de schéma, photos et codes pour nous aider à reproduire le montage svp ?
Car j’ai une station météo Excelvan aok-5029, je ne veux pas utiliser le RFcom mais utiliser les capteurs et récupérer les données sous un fichier csv et aussi faire un site internet météo. Ça fait longtemps que je cherche comment faire mais je ne trouve pas…
Cordialement.
Bonjour,
Je vous invite à regarder les 5 articles dédiés sur le sujet (en haut à droite sur la page) qui décrivent l’ensemble.
Si ensuite vous avez d’autres questions, je suis à votre disposition pour échanger sur le montage et le code.
N’hésitez pas !
Bonjour,
Je ne trouve aucun code de tous les capteurs ni le branchement de ces derniers. Ils sont sur le site ? Je n’ai trouvé que le code du capteur BME.
J’aurais aimé voir le montage des autres capteurs, les codes, branchements…
L’étalonnage ?
Cordialement.
Bonjour,
Desole du retard de ma reponse je n’avais pas vu passer votre commentaire.
Le code complet de la station est ici : https://github.com/doddyfab/Arduino_StationMeteoPro/blob/master/station_meteo_pro/station_meteo_pro.ino
Sur d’autres articles vous aurez les branchements notamment ici : https://www.sla99.fr/2019/09/12/projet-station-meteo-pro-2-les-capteurs-meteo/
Pour l’etalonnage, je n’ai fait que le pluvio :
https://www.sla99.fr/2020/06/06/fabrication-pluviometre-haute-precision/
N’hesitez pas si d’autres questions.
Bonjour,
J’aimerais en parler en privé si possible s’il vous plaît. J’ai une excelvan AOK-5029, je voulais passez par le signal 433 mais vous dites qu’il est instable alors je pense passer sur un Arduino.
Si vous voyez mon mail pourriez vous me contacter par mail s’il vous plaît.
Cordialement.
Bonjour,
Je vous fais un mail ce soir.
Bonsoir,
D’accord merci !
Bonjour
Pensez vous possible de brancher ces capteurs sur un IPX800 ?
Par avance merci
Lemars
Bonjour,
Oui, les capteurs analogiques peuvent être branchés sur l’IPX800 sur un compteur d’impulsions.
Cependant, il faudra ensuite récupérer les infos de l’IPX800 de manière très régulière pour en extraire la bonne information (ex : pour le pluviometre, 1 récupération de mesure par minute et pas écart avec sa valeur précédente (qu’il faudra stocker), on connait le delta de pluie sur 1 min.
Pour l’anémomètre, il faut récupérer la valeur toutes les 3 sec et là ce me semble moins adapté car la latence réseau de chaque appel sera trop longue ).
Je reste dispo pour en discuter !
Fabien
Bonjour,
J’aimerais bien discuter avec vous en privé s’il vous plaît. Mais j’ai peur de laisser mon mail dans les commentaires. Comment faire ? J’ai une station météo Excelvan AOK-5029 que j’aimerais passer à Arduino. Car si j’ai compris, le signal 433 beug ? Alors qu’il serait plus facile de récupérer les mesures directement sur le signal 433.
(Si vous voyez mon mail, contactez moi s’il vous plaît).
Cordialement.