1

Ajout d'une section dédiée à la météorologie

This commit is contained in:
2025-11-17 16:21:24 +01:00
parent fa8c9c8ba6
commit 309ea56ef8
46 changed files with 38 additions and 31 deletions

View File

@@ -1,2 +0,0 @@
file: images/0Ukpv6.jpg
title: '© [AdaFruit](https://www.adafruit.com/)'

View File

@@ -1,2 +0,0 @@
file: images/4xCW2P.jpg
title: '© [AdaFruit](https://www.adafruit.com/)'

View File

@@ -1,2 +0,0 @@
file: images/6bcvJ0.jpg
title: '© [AdaFruit](https://www.adafruit.com/)'

View File

@@ -1,2 +0,0 @@
file: images/LbQjsr.jpg
title: '© [AdaFruit](https://www.adafruit.com/)'

View File

@@ -1,2 +0,0 @@
file: images/X56Dng.jpg
title: '© [AdaFruit](https://www.adafruit.com/)'

View File

@@ -1,2 +0,0 @@
file: images/YbI73t.jpg
title: '© [AdaFruit](https://www.adafruit.com/)'

View File

@@ -1,2 +0,0 @@
file: images/t43NNW.jpg
title: '© [AdaFruit](https://www.adafruit.com/)'

Binary file not shown.

Before

Width:  |  Height:  |  Size: 562 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 645 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 541 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 693 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 667 KiB

View File

@@ -1,155 +0,0 @@
---
date: '2023-01-07'
title: La station météo parfaite
---
## Prérogatives
Afin de me simplifier la vie, je vais choisir des composants qui sont supportés par [ESPHome](https://esphome.io/).
Évidemment, cela limite le choix des capteurs disponibles, mais le matériel que je me procurerai sera supporté par au moins une plateforme.
À noter que je n'achèterai pas tout le matériel d'un coup, pour des raisons financières.
## Contrôleur
J'ai le choix entre l'ESP8266 et l'ESP32.
Le premier est plus ancien, moins puissant, et offre moins d'options de connectivité, mais il est plus économe en énergie.
L'ESP32 serait donc une option plus long-termiste.
En pratique, le choix définitif se fera en considérant la quantité de capteurs que je veux intégrer, et les possibilités d'évolutions futures.
Et c'est la raison pour laquelle je vais me procurer le matériel chez [AdaFruit](https://www.adafruit.com/), et opter pour des composants supportant l'interface [Stemma QT](https://learn.adafruit.com/introducing-adafruit-stemma-qt) : une "standardisation" du câblage pour le protocole [I2C](https://fr.wikipedia.org/wiki/I2C), qui facilite l'interconnexion entre le micro-contrôleur et les périphériques.
J'aurai pu faire la même chose à la main (et c'est d'ailleurs ce que j'ai fait sur ma station actuelle), mais cela va m'apporter un certain confort quand il va s'agir d'ajouter ou remplacer des capteurs puisque je n'aurai rien d'autre à faire que débrancher/rebrancher, alors qu'à l'heure actuelle, je n'ai aucune possibilité d'extension de ma station.
Certes, AdaFruit est un peu cher, mais je crois en la qualité "supérieure" de leurs produits.
Je rappelle que certains composants de la station sont à l'air libre, et que l'une des raisons pour lesquelles je mets à jour ma station météo est l'oxydation de ses circuits que j'ai fabriqué moi-même, mais sur lequel je n'ai pas appliqué de verni protecteur.
**Je rappelle, à toute fin utile, que je ne suis pas sponsorisé par AdaFruit, que les liens que je fourni dans cet article ne sont pas suivis et que je ne perçois aucune commission d'aucune sorte, d'AdaFruit ou de qui que ce soit d'autre.
Vous allez trouver ça pompeux, mais je suis complètement intègre...**
Bref, je vais opter pour leur ESP32-S3, qui présente quelques caractéristiques intéressantes :
- il dispose d'un connecteur STEMMA QT natif
- il dispose d'un connecteur, d'un circuit de charge et de mesure pour une batterie externe
Je n'ai pas les moyens financiers de réaliser une station météo autonome en énergie dans l'immédiat.
Mais le fait que le micro-contrôleur embarque la "logistique" requise est un atout que j'exploiterai à l'avenir.
![LbQjsr](images/LbQjsr.jpg)
## Capteurs
### Température, pression, humidité relative
Des données classiques pour une station météo.
Je vais rester sur le bon vieux [BME280](https://www.adafruit.com/product/2652) de Bosch.
Quoique plus tout jeune, [j'en ai toujours été satisfait](/interets/electronique/2022/02/14/la-station-meteo-parfaite/#multiplication-des-capteurs).
![X56Dng](images/X56Dng.jpg)
J'aurai pu passer sur le [BME680](https://www.adafruit.com/product/3660), mais je préfère confier la détection de gaz à d'autres capteurs plus spécialisés et destinés à un usage extérieur.
### Lumière
Ces données sont peut-être moins utilisées dans une station météo, mais j'ai différents usages actuels et futurs.
Par exemple, je m'en sert pour déterminer l'allumage automatique des lumières en fonction d'un seuil de luminance extérieure, mais aussi pour me rappeler d'ouvrir ou fermer le poulailler.
Je vais passer à un [TSL2591](https://www.adafruit.com/product/1980) pour remplacer le TSL2561 que j'utilise actuellement et qui est désormais obsolète.
![4xCW2P](images/4xCW2P.jpg)
Je vais l'épauler d'un second capteur : un [LTR390](https://www.adafruit.com/product/4831), dont l'objectif sera de fournir un indice UV.
![YbI73t](images/YbI73t.jpg)
Un troisième capteur viendra compléter l'analyse de la lumière : un [APDS9960](https://www.adafruit.com/product/3595), qui va me permettre de déterminer la couleur ambiante.
![0Ukpv6](images/0Ukpv6.jpg)
Comme je l'ai dit dans mon article introductif, je ne sais pas encore où je vais avec ce capteur, mais je le veux !
J'imagine par exemple que je pourrais utiliser sa sortie pour définir la couleur de l'éclairage de la maison, ou peut-être déterminer la couleur du ciel, et en déduire si le temps est plutôt beau ou plutôt couvert.
En outre, je suis curieux de voir ce qu'il peut ressortir de ce genre de capteurs durant la nuit.
En fonction de sa sensibilité, je pourrais peut-être détecter des couleurs intéressantes pour l'esthétique de mon tableau de bord.
Je pourrais peut-être également avoir un capteur configuré pour gérer les fortes luminances et un autre plus précis pour les basses luminances, en jouant sur les paramètres d'exposition.
## Magnétomètre
Utilisé pour déterminer le nord magnétique.
Intéressant pour détecter ses fluctuations.
J'utiliserai un [QMC5883L](http://wiki.sunfounder.cc/images/7/72/QMC5883L-Datasheet-1.0.pdf), déjà en ma possession.
## Détecteur d'orage
J'ai déjà eu l'occasion de jouer avec l'[AS3935](https://cdn.sparkfun.com/assets/learn_tutorials/9/2/1/AS3935_Datasheet_EN_v2.pdf) par le passé, mais il ne me donnait pas entière satisfaction.
Je vais retenter son intégration, mais pas tout de suite.
## Anémomètre, girouette
Grands absents de ma station actuelle, je suis toujours en galère pour trouver quelque chose de "potable".
J'ai bien vu [ce modèle](https://www.gotronic.fr/art-jeu-de-capteurs-meteo-33052.htm) chez Go Tronic, mais j'ai des doutes sur sa solidité et sa précision.
Néanmoins, le package est complet et comprend également un pluviomètre basique.
Je rajouterai ces composants plus tard.
## Détecteur de pluie
Je pense partir sur un [Hydreon RG11](https://rainsensors.com/products/rg-11/).
Cependant, vu son prix, je l'intégrerai au cours d'une prochaine intervention.
J'aime bien l'idée d'avoir une information immédiate et binaire, en plus de la quantité de pluie fournie par un pluviomètre séparé.
## Compteur Geiger
[Ce compteur Geiger](https://mightyohm.com/blog/products/geiger-counter/) est mon petit plaisir, juste parce que je peux (et je vais) l'assembler moi-même, mais aussi parce qu'il est bien conçu : il peut fonctionner de façon autonome, mais aussi avec un micro-contrôleur.
Vu son prix, qui représente tout mon budget initial (une centaine d'euros), il ne sera pas intégré tout de suite au projet.
## GPS
Je vais me procurer le [PA1010D](https://www.adafruit.com/product/4415), et sa [pile](https://www.adafruit.com/product/380).
Je m'en servirai principalement pour obtenir l'heure que je diffuserai ensuite à mon réseau via NTP.
J'espère aussi avoir une mesure de l'altitude, permettant de calibrer le BME280 automatiquement (alors qu'à l'heure actuelle, j'ajoute simplement 41hPa aux valeurs mesurées pour compenser l'altitude), et, évidemment, obtenir les coordonnées de la station, que je peux ensuite exploiter ailleurs.
![t43NNW](images/t43NNW.jpg)
## Autres composants
Quoi de mieux que [ce multiplexeur](https://www.adafruit.com/product/5626) pour illustrer tout l'intérêt de l'architecture de ma nouvelle station météo ?
J'ai huit ports à disposition, dont trois libres pour de futurs ajouts, sans compter que derrière, je peux partir avec autre chose que des câbles STEMMA QT.
Il s'agira de la multiprise sur laquelle viendront se connecter tous les autres composants.
C'est autrement plus confortable et pratique que mon système actuel, beaucoup trop rigide...
![6bcvJ0](images/6bcvJ0.jpg)
Il me faudra également une certaine quantité de câbles STEMMA QT, évidemment.
## BoM du mois de janvier
Du coup, ma commande se présente comme suit :
![WV5olM](images/WV5olM.png)
On note la TVA et les frais de port qui font un peu mal, mais bon.
Ça vient des États-Unis, c'est de la qualité, et, normalement, le colis ne devrait pas se perdre en chemin ni mettre six mois à arriver.
La livraison devrait se faire la semaine prochaine ou la semaine suivante.
Ce qu'il me reste à acheter :
- 1x AS3935 (environ 40€), sauf si je remets la main sur celui que je suis censé avoir...
- anémomètre, girouette, pluviomètre (a priori une centaine d'euros), quand j'aurai trouvé des modèles qui me conviennent
- 1x Hydreon RG11 ($60 + les frais de port)
- 1x compteur Geiger (une centaine de dollars + les frais de port)
- les boîtiers, câbles, et divers accessoires
- un système de stockage des données peut toujours être utile, je verrais comment articuler ça autour d'un simple module de carte SD qui se trouve un peu partout
Ces achats seront étalés sur l'année.
En plus, l'idée c'est de commencer à jouer avec les capteurs de base, et surtout avec les nouveaux capteurs que je ne connais pas encore.
## Conclusion
Il y a pas mal de choses que j'ai besoin de tester avant de me lancer dans la conception des boîtiers et de l'organisation du matériel, et notamment la question de la distribution d'énergie à travers tous les capteurs.
Prochain article sur le sujet : quand j'aurai reçu le matériel, et que j'aurais commencé à travailler sur le firmware.

View File

@@ -1,158 +0,0 @@
---
date: '2023-01-20'
title: La station météo parfaite
---
## Construction
Probablement la partie qui me torture le plus : comment construire ma station en fonction de mes contraintes environnementales (je n'ai pas le terrain qui permettrait de prétendre disposer d'une station météo professionnelle) et des risques que je suis prêt à prendre (sachant que monter sur le toit n'en fait pas partie) ?
[Actuellement](/interets/electronique/2022/02/14/la-station-meteo-parfaite/#ma-station-actuelle), ma station est composée de deux boîtiers :
- le premier contient toute l'électronique dont le micro-contrôleur, et est situé sous le toit de la véranda
- le second est une construction faite de tubes PVC située à l'extérieur de la véranda et contient un BME280
Le second boîtier est distant du premier d'environ 2 mètres.
Ils sont reliés par un câble RJ45 Cat.6 qui fait transiter le signal I2C et l'alimentation pour le BME280.
Normalement, I2C n'est pas prévu pour fonctionner avec un câble aussi long à cause de sa capacitance.
Mais en pratique, je n'ai rencontré - presque - aucune difficulté en cinq ans d'exploitation, probablement parce que j'ai équipé ma station de résistances *pull-up* sur le bus I2C et parce que j'ai employé un câble de très bonne qualité (blindé).
En tout cas, ça, c'est ce que j'ai appris récemment.
Je n'ai jamais pu faire fonctionner correctement l'AS3935 (le capteur d'orage) avec cette configuration.
J'ai mis ça sur le compte de l'impossibilité de le calibrer manuellement via ESPHome.
Rétrospectivement, et grâce à mes nouvelles connaissances sur le sujet, je pense que c'est précisément dû à la capacitance de mon câble.
En outre, l'ESP8266 à l'intérieur du boîtier principal, pourtant le plus proche de la maison, a occasionnellement quelques difficultés à accrocher le Wifi (on parle d'une ou deux fois par semaine).
Du coup, je réfléchi à trois options :
1. Reprendre la même infrastructure, en espérant que le problème de l'AS3935 ne soit pas lié à la capacitance du câble
*Avantages :*
- Moins de prise de tête, tout est déjà en place, je n'ai qu'à enlever l'ancienne électronique et mettre la nouvelle à la place
*Inconvénients :*
- Si la capacitance de mon câble est réellement un problème, je ne le constaterai qu'une fois que tout sera en place, et je devrai tout réfléchir à nouveau
- Ça ne résoud pas les quelques coupures de réseau
- J'ai besoin d'un troisième boîtier pour les capteurs de lumière, donc je devrai tirer un second câble
En passant par cette solution, je n'élimine aucun de mes problèmes actuels (température du boîtier principal élevée en été, humidité relative bloquée à 100% toute l'année sur le BM280 sauf par temps très sec avec du vent, etc.)
De plus, si j'ai l'intention d'utiliser un panneau solaire ou une éolienne pour alimenter le projet, je risque d'avoir quelques problèmes en terme d'installation, et ensuite de stockage des accus car le boîtier sera trop petit pour gérer tout ça.
2. Mettre tous les capteurs dans la même "boîte" à l'extérieur de la véranda
*Avantages :*
- Ça résoud le problème de capacitance du câble qui fait transiter l'I2C
- Un seul boîtier où tout est centralisé, maintenance facilitée
- Optimisation de la précision des capteurs de lumière
*Inconvénients :*
- Ça aggraverait le problème de connexion au Wifi (mais du coup j'aurais une bonne raison d'explorer d'autres solutions comme la transmission par RF)
- L'alimentation posera problème (en l'absence de prise électrique, j'amène du 230V ou du 5V au boîtier ?)
- Je devrai réfléchir à une construction intelligente pour l'intégration des capteurs
C'est la solution que j'étudie actuellement.
Elle consisterait en l'achat d'un panneau électrique étanche de bonnes dimensions, dotés d'un disjoncteur différentiel et de deux blocs d'alimentation sur rail DIN (un qui délivre du 5V au micro-contrôleur et éventuellement un second qui fournit du 12V pour des périphériques tiers comme les ventilateurs).
Je peux tirer un câble de 230V jusqu'à l'emplacement du boîtier de façon sécurisée avec une bonne gaine et en passant sous le toit de la véranda.
Je pourrais monter ce boîtier sur un support d'antenne satellite à 90° positionné sur le côté de la véranda afin de limiter l'inertie thermique.
Sur le dessus de ce boîtier prendrait place un boîtier à couvercle transparent, toujours étanche, dans lequel seraient placés les trois capteurs de luminance + UV + couleur.
J'y mettrais sans doute un petit ventilateur et un capteur de température pour m'assurer que, même en pleine canicule, la température du boîtier reste dans des seuils acceptables.
En bas du panneau électrique se trouverait un nouveau boîtier construit avec des tuyaux en PVC, comme à l'heure actuelle, mais de dimensions réduites.
Un ventilateur y prendrait place, avec le BME280 pas loin, et fonctionnerait au plus bas régime possible.
Trop rapide, il fausserait la lecture de la température.
Trop lent, il ne corrigerait pas le problème de lecture de l'humidité relative bloquée à 100%.
Même si j'arrive à faire tout ça, il faudra résoudre la question du Wifi.
Mettre un point d'accès sous la véranda a déjà été tenté, mais n'est pas pratique.
Il reste exposé à des températures très basses l'hiver et très élevées l'été.
Je pense que je vais devoir passer par un émetteur RF, ce qui implique de disposer d'un récepteur à l'intérieur de la maison, qui va transmettre les données à mon serveur principal (ou d'utiliser directement un récepteur USB, par exemple).
Ce sont des choses que je n'ai encore jamais fait donc il me faudra un peu d'expérimentations.
Je pourrais aussi passer par LoRa, mais le ticket d'entrée est assez cher (compter une trentaine d'euros pour une paire de modules, et il faut une passerelle - comme un point d'accès sans-fil Wifi - qui n'est pas donnée).
Autre problème : peut-être que le positionnement de la station ne sera pas convenable.
Le boîtier serait situé entre la véranda et une immense haie de laurier, un espace de moins de deux mètres les séparant.
L'utilisation d'un bras pour antenne satellite permettrait de minimiser quelque peu ce problème, mais un autre surviendra : celui de la fixation du boîtier au bras, et sa stabilité en cas de coups de vents.
Néanmoins, ce bras me permettra d'installer l'anémomètre, la girouette et autres capteurs du même genre assez facilement et sans devoir tirer des kilomètres de câbles.
3. Séparer la station
Je garderai les deux boîtiers actuels, en remplaçant simplement les connecteurs du câble pour le rendre compatible avec STEMMA QT (en gros, passer à des JST-SH).
La station extérieure ne comprendrait qu'un ESP8266 et le BME280 (et ultérieurement, les autres capteurs exclusivement extérieurs comme l'anémomètre, la girouette, etc.).
Une deuxième station, placée à l'intérieur de la maison, serait équipée de l'ESP32 et de tous les autres capteurs pouvant fonctionner en intérieur (les trois capteurs de lumières, le GPS, etc.)
*Avantages :*
- Pas de prise de tête, notamment pour l'alimentation, ou la fabrication ou l'achat d'un nouveau boîtier
*Inconvénients :*
- Maintenance logicielle accrue (deux micro-contrôleurs à programmer au lieu d'un seul)
- Réduction mécanique de la précision des capteurs de lumière puisqu'ils seront positionnés à une fenêtre, derrière une vitre
- Pas vraiment possible d'avoir un ensemble à 100% indépendant du réseau électrique (à terme) sans multiplier par deux le matériel nécessaire, pas forcément abordable de base
Je partais sur un boîtier de type "pupitre" à placer devant une fenêtre, avec un panneau transparent.
Ainsi, les capteurs de luminance + UV + couleur pourraient faire leur travail.
Mais la présence d'une fenêtre, l'angle du pupitre et l'orientation des capteurs vont indubitablement altérer de façon importante la précision et l'utilité des données récoltées.
Typiquement, il suffit que mon épouse allume la lumière dans le bureau (là où le boîtier serait placé) pour que mes mesures n'aient plus aucun intérêt (et que ça coupe les lumières partout ailleurs dans la maison...).
Placer ce boîtier à l'extérieur n'est pas envisageable, n'étant pas étanche.
Cela reviendrait à partir sur l'option #2 ci-dessus.
## Stockage des données
Je réfléchi à deux possibilités évidentes :
- une base de données *time-series* du genre InfluxDB
- une base de données "traditionnelle" du genre PostgreSQL
À l'heure actuelle, les données sont périodiquement récupérées par un serveur Prometheus.
Ce système présente quelques défauts, selon moi et pour stocker des données météo :
- pas de temps réel : le serveur fait la demande (selon ma configuration, une fois par minute) des données à la station météo ; c'est un problème pour les capteurs "nécessitant" une lecture "immédiate" (typiquement, le capteur d'orage : je peux savoir combien de décharges ont eu lieu dans les dernières 60 secondes, mais pas d'avertissement en temps réel dès qu'une décharge est détectée)
- pas prévu pour le stockage à long terme : dans la théorie, une *time-series database* supprime les anciennes données ("anciennes" étant une valeur paramétrable), alors qu'une base de données traditionnelle stocke ses données "éternellement"
Je me fais aussi quelques réflexions sur la question des transferts réseau.
À l'heure actuelle, à chaque changement de valeur d'un capteur, un message est émis sur MQTT, auquel il faut ajouter les accès du serveur Prometheus (chaque minute, donc).
Je trouve que ça fait beaucoup pour de l'électronique embarquée.
A priori, les stations professionnelles ont "résolu" le problème en envoyant les données des capteurs via un réseau RF à une console de logging, qui, elle, permet d'accéder aux données.
J'ignore toutefois comment ces données y sont stockées.
J'utilise MQTT pour son immédiateté et Prometheus parce que son intégration avec Grafana est facile : je peux générer des graphiques facilement et naviguer temporellement dans ces graphiques.
Cela implique de faire tourner un serveur web sur la station météo (l'*endpoint* pour Prometheus), ce qui a un coût en terme d'énergie (et dans une moindre mesure pour un ESP32, en terme d'utilisation CPU).
À partir du moment où j'émets la valeur des capteurs en temps réel sur MQTT, je n'ai pas fondamentalement besoin d'un *endpoint* pour Prometheus sur la station météo : il suffit que, sur une autre machine (typiquement, mon serveur principal), je dispose d'une application qui se connecte à MQTT et enregistre chaque changement de valeur des capteurs, et éventuellement, effectue une action (par exemple, envoyer une alerte lorsqu'un impact de foudre est détecté).
Cette application serait donc responsable de la collecte et du stockage des données, ainsi que de l'exécution de séquences de code pré-définies.
Rien ne l'empêche d'exporter ces données vers Prometheus, ceci-dit.
Il y a évidemment un point que j'ignore volontairement, c'est la périodicité d'interrogation des capteurs.
J'ai fait le choix conscient de laisser une période d'interrogation de 60s (définie par défaut par ESPHome), mais en pratique cette période change en fonction des recommandations que l'on choisit de suivre (celles de Météo-France ou de la WMO) et de la donnée mesurée.
Cela dépend aussi de la précision que l'on cherche à atteindre.
En ce qui me concerne, je ne cherche pas une précision de laboratoire (sinon je n'utiliserai probablement pas des capteurs aussi abordables).
Par conséquent, je pourrais réduire cette périodicité afin d'économiser de l'espace de stockage et de la consommation électrique.
Et même, définir des plages horaires où des mesures plus régulières sont intéressantes : en journée, je n'ai que peu d'intérêt pour la luminance par exemple, à partir du moment où elle dépasse un certain seuil.
C'est lorsque la luminance approche de ce seuil que la précision des mesures devient intéressante (dans mon cas d'usage).
Mais je pense que là, ça serait faire de l'overengineering 😁
Néanmoins, je trouve ces réflexions intéressantes.
Pour en revenir au coeur du sujet, la stack évidente c'est Telegraf qui se place entre MQTT et InfluxDB.
Je n'aime pas cette solution pour différentes raisons :
- j'aimerais simplifier l'infrastructure en limitant les applications intermédiaires
- il est possible de se passer de Telegraf si je payais une plus-value, ce qui ne m'intéresse pas (je rappelle que je fais ça en tant que hobby)
Mais quoiqu'il arrive, j'ai de toute façon besoin d'un pont entre MQTT et une *time-series database*...

View File

@@ -75,7 +75,7 @@ Il m'est arrivé très souvent de me retrouver face à un appareil hors-service
## La solution de facilité, vraiment ?
Un autre exemple du même genre concerne ma station météo : j'ai écris deux articles sur son remplacement en janvier.
J'y évoquais alors tout [le matériel](/interets/electronique/2023/01/07/la-station-meteo-parfaite/) que je souhaitais y intégrer en la montant moi-même, et je réfléchissais aux [problématiques](/interets/electronique/2023/01/20/la-station-meteo-parfaite/) de son installation.
J'y évoquais alors tout [le matériel](/interets/meteorologie/2023/01/07/la-station-meteo-parfaite/) que je souhaitais y intégrer en la montant moi-même, et je réfléchissais aux [problématiques](/interets/meteorologie/2023/01/20/la-station-meteo-parfaite/) de son installation.
Au final, le projet reviendrait plus cher qu'une station météo "autonome" avec un petit panneau solaire intégré, comportant tous les capteurs que je souhaitais avoir - ou presque.
J'ai donc décidé de partir sur une station météo "prête à l'emploi".

View File

@@ -1,3 +0,0 @@
file: images/GvhyaB.jpeg
title: Désolé d'avoir zoomé comme un porc mais je ne voulais pas attirer les poules
et les chèvres...

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 401 KiB

View File

@@ -1,166 +0,0 @@
---
date: '2023-09-15'
title: Mise à jour de ma station météo
---
Autant vous le dire tout de suite : j'ai choisi un modèle pré-fabriqué.
Désolé si vous espériez lire la suite de mes pérégrinations, mais peut-être que mon cheminement vous intéressera malgré tout.
## Contexte
Cela fait depuis [février 2022](/interets/electronique/2022/02/14/la-station-meteo-parfaite/) que je planche sur le remplacement de ma station actuelle.
Pour rappel, celle-ci est constituée de deux boîtiers : le premier contient le micro-contrôleur (un ESP8266), une alimentation, un capteur de température et d'humidité relative (SHT31) qui pilote la résistance PTC de 80℃ et les deux ventilateurs Noctua de 8 et 12cm destinés à réguler la température du boîtier, aussi bien en conditions froides que chaudes, et enfin un capteur de luminance (TSL2561).
Ce boîtier "principal" se trouve sous le toit de ma véranda, et prend les coups de chaleur en pleine tronche.
Il n'est pas rare qu'alors que les ventilateurs tournent à fond, le SHT mesure 60℃ dans le boîtier, ce qui me fait craindre pour l'alimentation.
Et la petite PTC n'arrive pas maintenir une température supérieure à 0℃ par grand froid.
Le second boîtier ne contient que le capteur de température, humidité relative et pression atmosphérique BME280.
Les deux boîtiers sont reliés par un câble RJ45 blindé de moins de deux mètres.
J'ai construis moi-même tous les PCB utilisés dans ce montage, de leur dessin jusqu'à leur nettoyage post-bain d'acide.
J'ai oublié une étape absolument capitale pour des composants exposés à l'air libre : le vernissage.
Résultat : les pistes en cuivre se sont oxydées au fil du temps, et la station déconne de plus en plus fréquemment, même si ça se limite à la perte de communication I2C occasionnelle avec l'un ou l'autre des capteurs.
Du coup, [j'ai travaillé sur une nouvelle station météo](/interets/electronique/2023/01/07/la-station-meteo-parfaite/), avec pas mal de mises à jour.
Je passerai de l'ESP8266 à l'ESP32, du BME280 au BME681, du TSL2561 au TSL2591.
Mais il me manquerait toujours les trois composants qui m'ont toujours fait défaut : anémomètre, girouette et pluviomètre.
Mais s'il n'y avait eu que ça...
[Le gros du problème](/interets/electronique/2023/01/20/la-station-meteo-parfaite/) consistait à trouver ou fabriquer un ou deux boîtiers, et trouver comment les alimenter.
J'ai fait quelques essais avec une batterie au plomb de 5Ah sur un panneau solaire de 25W : la station s'est éteinte avant que le soleil ne reparaisse.
Je devais donc abandonner l'idée d'une station énergétiquement autonome, à moins de changer de panneau, de batterie et de chargeur.
Outre l'alimentation, l'autre défit consistait à trouver un protocole de communication entre la station et le reste de mon réseau : avec mes murs en béton armé, pas de wifi possible.
J'ai fouillé tout Internet pour trouver une solution, une idée lumineuse qui m'aurait échappé, sans succès.
J'en suis arrivé à un budget de plus de 400 euros, dont le tiers était déjà dédié aux capteurs analogiques dont je viens de parler.
Le reste, c'était pour le boîtier et un système d'alimentation sur le 230V.
Alors, quitte à claquer autant d'argent, autant le faire pour une station pré-fabriquée, et grand bien m'en a pris.
## La station
J'ai choisi la [Bresser MeteoChamp HD Wifi 7-en-1](https://www.bresser.de/fr/Temps/BRESSER-Station-meteo-7-en-1-Wifi-HD-professionnelle-avec-differents-modes-d-affichage.html).
![zUwrM0](images/zUwrM0.jpg)
De base, j'ai clairement été séduit par son écran et toutes ses possibilités : deux modes de visualisation de base, des pages de graphiques, des logs à n'en plus finir, plein de paramètres à configurer partout, bref, je kiffe.
![AxFjDL](images/AxFjDL.jpg)
Ensuite, je savais en l'achetant que je pourrai lui faire envoyer ses données où je veux, et surtout, pas dans le cloud.
Ça a nécessité un peu de documentation et d'essais/erreurs, mais elle est désormais parfaitement intégrée à [HomeAssistant](https://www.home-assistant.io/integrations/rest/), et sans passer par Internet.
Le packaging de la station fait très "entrée de gamme" pour un produit à 300 euros en promo, avec un carton très léger et assez peu de protections.
Fort heureusement, tout est arrivé en parfait état.
L'ensemble est assez complet ; on regrettera simplement l'absence d'une pile bouton CR2032 utilisée par l'écran et trois piles AA LR06 pour le capteur supplémentaire.
En revanche, un bloc d'accus est fourni pour l'ensemble de capteurs extérieurs.
![BgpIyG](images/BgpIyG.jpg)
Ça aussi, c'était un point qui m'a décidé à choisir ce modèle : l'ensemble de capteurs extérieurs est totalement autonome en terme d'énergie.
Un petit panneau solaire recharge les accus (qui semblent être un groupe de 3 AA rechargeables et facilement remplaçables), et selon les dires du constructeur, il devrait pouvoir faire nuit pendant un tiers de l'année que l'ensemble aurait encore assez d'énergie pour ne pas totalement être réduit au silence.
J'ai déjà bien assez à faire pour lui trouver un emplacement idéal et assembler les composants requis (lire plus loin) pour ne pas m'embêter à changer les piles tous les 15 jours...
Cet ensemble extérieur est constitué d'une girouette, d'un anémomètre, d'un pluviomètre, d'un capteur d'irradiation solaire, et d'un capteur de température/humidité.
N'ayant pas démonté l'ensemble juste pour voir (je n'arrive pas à m'y résoudre), j'ignore quels composants sont employés.
Le pluviomètre est assez classique, avec une cuiller dont la bascule incrémente un compteur, de même que la girouette qui fonctionne sûrement grâce à un réseau de résistances.
Je regrette tout de même l'absence de ventilateur en amont du capteur de température et d'humidité, alors que j'avais noté son existence sur les visuels de la station démontée.
Mais pour la défense de Bresser : les visuels ne sont pas contractuels, et c'est probablement une mauvaise identification de la station démontée vue en photo qui m'a conduit à penser que la mienne en serait équipée.
Sûrement un modèle un peu plus haut de gamme.
On verra si et quand ça influera négativement sur mes relevés.
La liaison avec la base se fait évidemment sans-fil (en 868MHz).
Pour le coup, à la même hauteur que la base, le module extérieur se connecte parfaitement.
Si je descends la base dans mon bureau, impossible de se connecter.
Une vraie cage de Faraday ma baraque...
Autre élément qui se connecte en 868MHz à la station : le capteur supplémentaire de température/humidité.
On peut en associer jusqu'à 8, et on parle de modules additionnels tels que le capteur d'humidité de sol pour les cultures et le thermomètre pour piscines, par exemple.
![5vZqmW](images/5vZqmW.jpg)
La station, elle, se connecte en wifi.
La procédure est courante pour ce genre de produit : on active le mode point d'accès (*AP*), on se connecte depuis un ordinateur à *192.168.1.1* et, depuis le navigateur, on procède à quelques réglages.
Une fois connectée au wifi, elle ne fait rien par elle-même, sinon récupérer le temps par NTP.
Elle n'offre aucun serveur pour accéder à ses données en local : il va falloir ruser, on verra ça plus loin.
Mais en même temps, la quantité de choses qu'il est possible d'afficher est vraiment très satisfaisante, et là je ne cherche qu'à en récupérer le plus possible pour les afficher sur ma tablette domotique, et pour piloter les lumières en remplacement du capteur de luminance de mon ancienne station.
![s8QpNt](images/s8QpNt.jpg)
## Mise en place
Mon environnement n'est pas idéal pour une station météo : j'ai des arbres partout, et là où il n'y en a pas, il y a des cailloux ou du goudron.
Pas bon pour l'inertie thermique...
Malgré cela, j'ai un emplacement idéal en plein milieu du jardin : à 5 mètre de tout arbre ou maison, dans le vent, où la station ne risque pas de se prendre une pomme ou des graines dans la gueule, et à une distance suffisante pour accrocher le 868MHz sans broncher.
Par contre, j'ai deux chèvres, qui ont bousillé leur abri en tôle, et qui aime se frotter à tout ce qui dépasse.
Comme il est hors de question que je coule du béton en plein milieu du jardin, j'ai du opter pour un pied de parasol, retenu en place par 4 conteneurs qui, une fois remplis d'eau, pèsent 15 kilos chacun.
J'ai acheté un simple tuyau de plomberie en PVC de 42mm, qui me semble offrir un excellent compromis entre résistance et flexibilité : il ne se cassera ni au vent ni aux cornes des chèvres.
Une fois le tout installé, je réalise que les chèvres commencent à bouffer les boulons de serrage au pied du mât.
En outre, je remarque une certaine instabilité de la base (le sol à cet endroit est rendu inégal par la caillasse fouillée et creusée par les poules et les chèvres).
Qu'à cela ne tienne, j'ai une énoooorme palette en réserve, lourde, robuste, in-des-truc-tible.
Palette en place, pied posé, réservoirs installé, mât serré, tout est stable et ne bouge pas d'un centimètre.
Reste ces boulons que les chèvres ont décidément pour objectif de grignoter jusqu'à ce qu'il n'en reste rien.
J'ai aussi 3 pneus en réserve (le quatrième leur sert de bascule pour une palette, elles adorent jouer dessus), que j'ai simplement empilé autour du mât.
Le résultat me donne l'impression d'une station météo Mad Max.
![GvhyaB](images/GvhyaB.jpeg)
Avec un tel équipement, les chèvres devraient pouvoir mettre un coup de corne dans un pneu, voire chercher à le dégager de la pile, la station ne devrait pas broncher.
Pour l'instant, je suis en confiance.
Pfiou... Ça faisait longtemps qu'un projet ne m'avait pas autant consommé mon énergie !
## Logiciel
Comme je l'ai dit plus haut, la station est censée émettre ses données vers des services comme ProWeatherLive, Wunderground et que sais-je encore.
RA-NA-FOUT.
Je veux héberger ces données **chez moi**.
Fort heureusement - et ce n'est pas le cas des stations moins onéreuses de la marque - la MeteoChamp offre un champ vide, labellisé "URL", qui me porte à croire qu'avoir un petit bridge ne sera pas trop difficile.
En réalité, il faut comprendre ce champ "URL" comme un champ "Hôte" : la station attend ici un simple nom d'hôte et non un chemin complet vers un script recevant les données.
Même le protocole ne doit surtout pas être mentionné, et les noms d'hôte à rallonge vont devoir se raccourcir.
En ce qui me concerne, ça passe, avec une IP locale.
J'ai ensuite appris fortuitement que la station envoie ses données à un script */weatherstation/updateweatherstation.php*, donc peut importe comment je m'y prends, je dois créer un serveur qui répond à cette URL.
J'ai appris tout aussi fortuitement et non sans surprise que l'envoi des données ne se fait qu'en clair via ce bon vieil HTTP, sans certificat.
Tu mets du HTTPS dans la boucle, tout ce qu'il y a de plus officiel, la station reste muette.
J'envoie pas mes codes de carte bleue mais quand même, je suis content que mes coordonnées GPS ne foutent pas le camp dans la nature, et qu'elles restent finalement dans mon réseau local.
Donc la station ne s'embête pas : elle m'envoie une requête GET (oui, pas POST, GET) avec les capteurs et leurs valeurs dans l'URL.
Du coup, ça se parse facilement, et on les ressert sans le moindre traitement.
C'est dans HomeAssistant qu'on va configurer quelques capteurs via [l'intégration REST](https://www.home-assistant.io/integrations/sensor.rest/), et c'est tout.
Même pas besoin de s'emmerder avec les conversions d'unités, tout se fait presque tout seul.
En plus, la station envoie ses données toutes les 10 secondes.
Pour ça aussi, je suis content qu'elle ne passe pas par Internet.
Juste pour être clair : rien de tout ça n'est documenté, validé ou même approuvé par Bresser : ce champ est fait initialement pour le réseau Arekas.
Heureusement que la cible de ce genre de produit n'est pas les informaticiens...
Bref, du coup ça fonctionne, j'ai mes capteurs dans HomeAssistant.
Par contre, je m'étonne de la pauvreté des données communiquées par la station par ce biais.
J'espérais disposer d'autant d'informations que sur l'écran lui-même, par exemple les heures de lever et de coucher du soleil, la version du firmware de la station, une certaine organisation pour les capteurs sur les 8 canaux optionnels, ce genre de choses.
Non, là, c'est le minimum syndical.
Ça me laisse la désagréable impression de gens qui savent construire des stations météo mais qui ne savent pas en coder le firmware (qui se met à jour en deux étapes d'ailleurs, jamais vu ça auparavant, très étrange...).
## Conclusion
Voilà qui conclue ma recherche d'une nouvelle station météo.
J'espère qu'elle me tiendra quelques années, au moins autant que ma station météo personnelle qui aura durée 5 ans avant de se faire ronger les circuits par l'humidité.
La présence de pièces détachées sur le site du constructeur est rassurante, et si un jour l'envie me prend de mettre mes propres composants, j'aurais enfin un boîtier digne de ce nom, et les capteurs "essentiels".
Je trouve honnêtement que 300 euros en promo est un coût élevé.
Mais c'est un achat très ponctuel, et assez qualitatif (le plastique est solide, les finitions sont bonnes, le bundle est complet, l'écran, bien que non tactile, est agréable à consulter, etc.).
Je doute que j'aurai besoin de la remplacer de si tôt, à moins qu'une chèvre la charge frontalement avec la volonté de lui défoncer la mouille, ou qu'un oiseau décide de faire son nid dans le pluviomètre (un risque connu et réel parmi les météorologues amateurs...).
Malgré ce tarif élevé, je suis très content de mon achat.
J'ai plein de choses à bidouiller, à mesurer et à analyser, et je vais pouvoir recycler l'ancienne station en d'autre projets que j'ai en tête, tels qu'un compteur pour l'eau, ou un système d'injection d'eau de pluie dans le sol quand mon réservoir est plein et que la terre est sèche, bref, il y a de quoi faire.
Je publierai une petite mise à jour dans quelques mois pour voir si cette station a rempli ses promesses !