Icône du site Richard Dern
Publié le
Publié dans Blog

La station météo parfaite

Introduction

Sommaire

Ma station actuelle

J’ai conçu ma station actuelle il y a déjà presque trois ans, et elle était déjà l’aboutissement de quelques années de réflexion, un délais qui n’est pas si long que ça quand on considère que je n’y passe pas tous mes après-midi. C’est une passion parmi de nombreuses autres, et il ne faut pas oublier la vie de famille.

Je suis donc arrivé au résultat suivant (dont je parle également dans l’article “Mon réseau” mais je vais synthétiser ici). Après trois ans de bons et loyaux services, il est temps de la remplacer, et profiter de mon expérience pour l’améliorer.

/blog/2022/02/14/la-station-meteo-parfaite/images/station-meteo-2021.jpg

Les circuits imprimés de ma station actuelle. En haut à gauche, ce sont deux MOSFETs pour contrôler le chauffage et les ventilateurs. En bas, une simple "multiprise" 12V avec à sa droite le support pour les capteurs du boîtier secondaire. À droite, la "carte mère".

La station est séparée en deux boîtiers reliés par un câble RJ45 blindé.

Boîtier principal

Le boîtier principal contient la “carte mère”, sur laquelle prend place le “cerveau” de la station : un ESP8266, et plus précisément un Wemos D1-mini.

On y trouve également un connecteur pour le “panneau de contrôle”, constitué d’un bouton Reset, d’une LED rouge et d’une LED verte destinées à m’informer de l’état de la station.

Sur la ligne I2C se trouvent un connecteur pour le SHT31, destiné à mesurer la température et l’humidité à l’intérieur du boîtier principal, un connecteur pour le capteur de luminosité ambiante TSL2561, et un connecteur pour les capteurs du boîtier secondaire.

Enfin, outre l’arrivée en 5V sur un bornier, on trouve deux connecteurs dédiés au chauffage et à la ventilation du boîtier principal, afin de conserver ces composants dans des limites de fonctionnement acceptables. C’est en particulier vrai pour l’alimentation qui est un composant très sensible à la température et à l’humidité. Le chauffage est constitué d’une résistance PTC de 80℃ et la ventilation est contrôlée par un module PWM qui pilote deux ventilateurs Noctua de 8 et 12cm en push-pull.

Boîtier secondaire

Celui-ci est situé à l’extérieur de la véranda, et est donc relié au boîtier principal par l’intermédiaire d’un câble RJ45 blindé qui véhicule le signal I2C et le 5V nécessaires au fonctionnement des capteurs qui y sont installés.

En l’occurrence, il s’agit d’un BME280, en charge de remonter les données de température, humidité relative et pression atmosphérique, et d’un MOD-1016, un détecteur d’orage.

J’adore la conception de ce boîtier, tirée d’un document vu il y a longtemps sur le site de Météo-France. Ce document était à l’attention des météorologues amateurs désireux de construire leur propre station, et contenait plein d’informations intéressantes. Malheureusement, je ne parviens plus à mettre la main dessus, mais si vous me contactez pour me communiquer ce lien, je mettrai cet article à jour avec plaisir !

Donc ce boîtier est constitué d’une section droite de tuyau en PVC, terminée de chaque côté par des sections coudées et collées ensemble. On dispose ainsi d’un volume qui sera toujours à l’abri des intempéries. Peinte en blanc, la structure n’accumulera pas la chaleur, et les relevés de température seront ainsi plus précis.

Défauts de ma station actuelle

Alimentation électrique

Le premier défaut de ma station concerne son alimentation électrique. Elle est branchée en permanence sur le secteur, et sort du 12V jusqu’à 5A. J’ai choisi cette alimentation en raison du chauffage et de la ventilation qui peuvent s’avérer gourmands. Je passe ensuite par un abaisseur de tension à résistance variable pour atteindre les 5V dédiés à l’électronique de la station, tandis qu’une ligne de 12V part vers le chauffage et la ventilation via des MOSFET.

Il n’y a pas de système de secours : une panne de courant provoque l’arrêt de la station.

Pas de rétention des données

Les données sont immédiatement envoyées à mon serveur sous Home Assistant. Elles ne sont pas stockées par la station météo.

Cela impose que la station soit connectée en permanence au wifi (ce qui pose un problème de consommation électrique), et que si cette connexion est perdue, aucune donnée ne peut être relevée pendant la perte de connexion puis renvoyée lors de son rétablissement.

Pas d’évolutions possibles

En tout cas, sans faire de profonds changements. Les capteurs sont alimentés par l’ESP8266, pas directement, donc l’ampérage disponible est limité. En outre, je ne peux pas accéder aux capteurs autrement que par le bus I2C, alors que je pourrais envisager d’utiliser SPI ou One-wire.

Chauffage et ventilation inutiles - ou presque

Malgré la résistance, malgré la chaleur dégagée “naturellement” par les composants, et malgré le fait que ce boîtier soit situé près de la maison, le delta entre la température extérieure et la température du boîtier est loin d’être satisfaisant. À -4℃ à l’extérieur, la résistance peinait à garder le boîtier au-dessus de 1℃.

En été, les ventilateurs ne suffisent pas pour conserver une température décente. Il n’est pas rare que j’approche les 60℃, ce qui peut même devenir dangereux.

Mesures imprécises

Sauf en journée ensoleillée et sèche, le BME280 est “bloqué” à 100% d’humidité relative. Cela s’explique par la conception-même du boîtier extérieur qui empêche la circulation de l’air. La température et l’humidité relative mesurées sont celles d’un air “stagnant”, et sont de moins en moins exactes à mesure que la température monte.

La solution recommandée par le document dont je parlais avant est d’équiper le boîtier d’un ventilateur à faible régime qui permet de faire circuler l’air et donc des mesures plus exactes.

Ma future station météo, cahier des charges

Ma prochaine station météo devra remplir les conditions suivantes.

Autonomie énergétique

Je veux pouvoir l’utiliser à 100% sur batteries. Mon premier essai avait été loin d’être concluant (une batterie au plomb de 5Ah qui ne durait que 6 heures pour alimenter un ESP8266 et le BME280, rien à voir avec la solution que j’ai développé plus tard avec chauffage et ventilation).

Cela va sans doute impliquer certaines concessions, en particulier sur le wifi, mais c’est aussi le but recherché (voir ci-dessous). Il faudra faire attention aux mises à jour à distance, du coup.

Résilience des données

En fonctionnant sur batterie, je limiterai probablement l’usage du wifi à une connexion par heure ou par demi-heure pour envoyer les données récoltées jusque là, avant de couper à nouveau la connexion.

Il faut donc que la station puisse écrire sur un support (sans aucun doute une carte SD, si possible remplaçable à chaud en cas de besoin), lire les données écrites depuis le dernier envoi, et les supprimer une fois envoyées au serveur.

Amélioration de la précision des capteurs

Si la station est autonome en énergie, je peux la placer où bon me semblera. Idéalement, en plein milieu du jardin, à au moins 5 mètres de tout arbre, haie ou maison, et à 1.2m du sol. Plus de chaleur résiduelle comme c’est actuellement le cas.

En outre, j’installerai un ventilateur pas loin des capteurs (il faut encore que je détermine le ventilateur à me procurer).

Multiplication des capteurs

J’ai envie de mesurer des tas de choses. Je suis très content de pouvoir mesurer la température, l’humidité relative, la pression atmosphérique et la luminosité ambiante, mais j’ai envie d’aller plus loin.

Quand le volcan aux Tonga est entré en éruption, une actualité est passée pour dire que les stations météo en France avaient relevé l’incident. J’ai regardé mes propres relevés, et j’y ai bien vu les “vagues” de changement rapide de pression atmosphérique causées par le souffle de l’explosion. J’étais tout fier de ma station ! Et je me dis que j’ai pu voir ça avec un capteur qui m’a coûté trois euros. Il y a donc probablement mieux à faire encore.

/blog/2022/02/14/la-station-meteo-parfaite/images/eruption-tonga.png

La variation de pression atmosphérique causée par l’éruption du volcan Tonga-Hunga Ha’Hapai telle que vue par ma station météo le 15 janvier 2022 vers 21h

J’aimerais donc mettre à jour mon BME280, peut-être vers une solution moins intégrée (trois capteurs séparés mais plus spécialisés pour la température, l’humidité relative et la pression atmosphérique), ou vers une solution intégrant plus de capteurs sur le même circuit. Idem pour le TSL2561 qui est considéré comme obsolète depuis un moment déjà.

J’aimerais ajouter de nouveaux capteurs, et voici mes premières idées :

  • Anémomètre, pluviomètre et girouette ; les grands absents de ma station actuelle, j’hésite à les fabriquer moi-même ou les acheter “prêts à l’emploi”, ce qui me semblerait plus prudent…
  • Magnétomètre, compas numérique ; je dispose déjà d’un QMC5883L mais je n’ai pas encore eu l’occasion de m’en servir
  • Caméra “ciel”, une simple caméra orientée vers le ciel… avec quand même un point de repère (typiquement, le toit de ma maison) - l’idée serait éventuellement de m’en servir pour détecter la pluie ou la neige mais je ne compte pas trop sur là-dessus ; je pourrais même envisager de prendre un ESP32 déjà muni d’une telle caméra, tout simple
  • caméra infrarouge (pour voir la faune locale la nuit !)
  • un capteur de couleur (je ne sais pas si je vais quelque part avec ça mais je veux faire mes tests !)
  • un capteur d’UV
  • un compteur Geiger, qui risque d’être le plus intéressant de mes capteurs, surtout si je peux le monter moi-même, rien que pour le fun que ça me procurera !
  • un GPS, évidemment pour obtenir des coordonnées précises et - surtout - mon altitude (même si je pourrais la calculer à partir de la pression atmosphérique, mais j’ai de toute façon l’intention de faire les deux), mais aussi pour obtenir un indicateur temporel dont je pourrais me servir sur l’ensemble de mon réseau local via NTP
  • un ou plusieurs capteurs de qualité de l’air, ce qui peut inclure la détection de gaz, de poussières, de pollens, de particules fines, etc. à voir si c’est faisable en terme de consommation d’énergie
  • un capteur de choc/vibration, qui serait d’un intérêt extrême pour la mesure d’une activité sismique, mais qui va nécessiter un peu de réflexion pour produire des résultats plus ou moins fiables
  • divers capteurs de tension (sur les batteries, le panneau solaire, etc.)

Ça me plairait beaucoup que ma station soit équipée d’un écran e-paper pour afficher quelques données que je juge essentielles, telles que le niveau de batterie, la “santé” de la station, l’espace disponible sur la carte SD, etc.

Changement du contrôleur

Avec autant de capteurs, il pourrait être intéressant de passer sur un ESP32 en remplacement de l’ESP8266.

Il m’offrirait non seulement un gain intéressant en terme de performances (bien que ce ne soit pas spécialement un critère), mais surtout un gain significatif en nombre et variété d’entrées/sorties. En outre, c’est le remplaçant direct de l’ESP8266, j’ai donc tout intérêt d’y passer, surtout que c’est un contrôleur qui a déjà un certain âge. J’ignore si un remplaçant est déjà prévu.

Si la compatibilité logicielle est bonne, je pourrais même m’orienter vers l’ESP32-C3 ou C6, basé sur un processeur RISC-V, et supportant le Wifi 6 et le Bluetooth 5.0 LE…

Conclusion

La prochaine étape va consister à établir une liste “définitive” des composants voulus pour ma future station, avec leur fiche technique et en particulier, la consommation d’énergie maximale. Cela me permettra de calculer les besoins en énergie et donc m’assurer que le panneau solaire à ma disposition sera suffisant (ou si je dois m’en procurer un autre) et établir les besoins en stockage d’énergie (sachant que le but serait que la station soit 100% autonome).

Une fois que ces besoins seront déterminés, je pourrais commencer à schématiser l’ensemble, à commencer par le système électrique. Je veux éviter de faire de l' overengineering, mais je veux quand même faire ça bien, avec les capteurs et les protections qui vont bien.

Je m’occuperai ensuite du schéma électronique, et tâcherai de trouver de quoi modulariser l’ensemble de la station. Ceci me permettra d’estimer le volume occupé par la station finale, et donc lui trouver un boîtier qui convient.

L’étape suivante consistera probablement à modéliser tout ça en 3D, de façon à voir comment la construire : il y aura forcément un mât, mais comment sera-t’il stabilisé, maintenu au sol ? Comment éviter les vibrations du détecteur “sismique” ? Comment m’assurer de minimiser l’inertie thermique de l’ensemble ? Tous ces sujets me passionnent et la construction de cette station sera l’occasion de me pencher plus sérieusement sur la question.

Car bien avant la lecture des capteurs, la construction d’une station météo ne cesse de me surprendre par l’étendue des compétences nécessaires. Ça m’intéresse, et je dirai même que j’en ai besoin ! Alors si en plus je peux vous transmettre un peu de ma passion, c’est tout bénef' !