Station météo DIY : comparatif et tutoriel

1. Les grandes familles d’outils

Trois catégories de matériel reviennent tout le temps pour ce type de projet. Elles ne jouent pas le même rôle.

Microcontrôleurs simples (Arduino Uno, Nano) Basés sur un ATmega328P à 16 MHz, 14 broches numériques, 6 entrées analogiques. Pas puissants, mais très simples, avec un écosystème énorme de bibliothèques et de tutoriels. Parfaits pour lire des capteurs et allumer un écran, sans réseau natif.

Microcontrôleurs connectés (ESP32, ESP8266) Même logique que l’Arduino, mais avec Wi-Fi intégré (et Bluetooth pour l’ESP32). C’est le bon choix si tu veux envoyer les données vers le cloud ou vers un serveur local sans ajouter de module externe. L’ESP32 a plus d’entrées analogiques et plus de mémoire que l’ESP8266, donc plus de marge si tu ajoutes des capteurs.

Nano-ordinateurs Linux (Raspberry Pi) Un vrai système d’exploitation, donc possibilité de faire tourner Python, une base de données, un serveur web, Grafana, Home Assistant. Plus cher et plus gourmand en énergie qu’un microcontrôleur, mais bien plus flexible pour le traitement et l’affichage des données.

2. Tableau comparatif

CritèreArduino UnoESP32Raspberry Pi Zero 2WRaspberry Pi 5
Prix indicatif20-25 €6-10 €15-18 €70-90 €
Wi-Fi intégréNonOuiOuiOui
OS completNonNonOui (Linux)Oui (Linux)
ConsommationFaibleTrès faibleTrès faibleModérée
Convient pourLecture capteurs, écran localCapteurs + envoi réseau, autonomie batterieDashboard local, stockage, calculs légersServeur central, Grafana, IA embarquée
DifficultéFacileFacile à moyenMoyenMoyen

Point important sur le budget capteurs : pour un BME280 (température, humidité, pression), compte 10-13 €. Les câbles jumper ajoutent 5-6 € de plus. C’est un des projets IoT les moins chers à monter.

3. Quelle architecture choisir

Option A : ESP32 seul (autonome) Le capteur est lu et les données sont envoyées directement vers un service cloud (ThingSpeak, un serveur MQTT, une API météo perso) via Wi-Fi. Bon choix si tu veux une station légère, alimentée par pile ou petit panneau solaire, sans besoin de calcul local lourd.

Option B : Raspberry Pi seul Le Pi lit directement le capteur en I2C, stocke les données, et sert un dashboard web local. Bon choix si tu veux tout centraliser sur une seule machine, sans dépendre du cloud.

Option C : Architecture mixte (recommandée si tu veux évoluer) Plusieurs ESP32 ou Arduino disséminés dans le jardin ou la maison lisent les capteurs (température extérieure, pluviomètre, anémomètre) et envoient leurs mesures en Wi-Fi (MQTT par exemple) vers un Raspberry Pi central, qui centralise, stocke en base et affiche. C’est l’approche la plus scalable si tu comptes ajouter des points de mesure plus tard.

4. Les capteurs courants

Température, humidité, pression : BME280 Capteur I2C de référence, très documenté. Vérifie bien que ce n’est pas un BMP280 déguisé : un BMP280 ne mesure pas l’humidité et renverra toujours 0 % ou une valeur fixe sur ce canal.

Vitesse et direction du vent : anémomètre + girouette Livrés en général avec une prise RJ11 (comme un câble téléphonique, ne pas confondre avec le RJ45 réseau). L’anémomètre fonctionne par comptage d’impulsions, la girouette par résistance variable selon la direction.

Pluviométrie : pluviomètre à auget basculant Une cuve avec un système de bascule qui compte les impulsions à chaque quantité d’eau reçue. Attention à l’entretien : un trou d’écoulement bouché ou des insectes faussent la mesure.

Qualité de l’air (optionnel) : CCS811 / SGP30 vs SCD41 / MH-Z19 Les CCS811 et SGP30 estiment un eCO2 par corrélation, ce n’est pas une mesure directe de CO2. Pour une vraie mesure de CO2, il faut un capteur NDIR comme le Sensirion SCD41 (environ 30 €) ou le MH-Z19 (environ 15 €), tous les deux en I2C.

5. Tutoriel : station météo Raspberry Pi avec dashboard web

Architecture simple et peu coûteuse, bon point de départ.

Matériel

  • Raspberry Pi Zero 2W ou Pi 4/5
  • Capteur BME280 (I2C)
  • Carte microSD 16 Go minimum, classe A1/A2, marque connue
  • Câbles jumper

Étapes

  1. Câblage Branche le BME280 en I2C sur les broches GPIO2 (SDA) et GPIO3 (SCL) du Raspberry Pi, plus alimentation 3.3V et masse.
  2. Activer I2C Dans raspi-config, active l’interface I2C. Vérifie ensuite la détection du capteur avec i2cdetect -y 1 (adresse attendue : 0x76 ou 0x77).
  3. Installer les bibliothèques Utilise la bibliothèque Adafruit BME280 en Python (via pip) pour lire température, humidité et pression.
  4. Script de collecte Écris un script Python qui lit le capteur toutes les minutes et stocke les valeurs dans un fichier CSV (ou une base InfluxDB si tu veux passer à l’échelle avec Grafana par la suite).
  5. Dashboard Sers un mini-dashboard web avec Flask, qui affiche les 24 dernières heures de mesures avec Chart.js.
  6. Pour aller plus loin Ajoute un anémomètre et un pluviomètre en GPIO (comptage d’impulsions), puis bascule vers InfluxDB + Grafana si tu veux un historique long terme avec agrégations.

6. Tutoriel : station météo ESP32 connectée

Architecture légère, bonne pour une station extérieure sur batterie.

Matériel

  • ESP32 (DevKit)
  • Capteur BME280 (I2C)
  • Alimentation par batterie ou panneau solaire (optionnel)

Étapes

  1. Préparer l’IDE Arduino Installe le module complémentaire ESP32 dans l’IDE Arduino, puis sélectionne la bonne carte et le bon port.
  2. Câblage Connecte le BME280 aux broches I2C de l’ESP32 (SDA/SCL selon le modèle de carte).
  3. Code de lecture Utilise la bibliothèque Adafruit BME280 (portée en C++ pour Arduino/ESP32) pour lire les valeurs.
  4. Connexion Wi-Fi Configure le Wi-Fi dans le code, puis envoie les données vers un serveur MQTT local (par exemple hébergé sur un Raspberry Pi) ou vers un service cloud.
  5. Mode économie d’énergie Pour une station sur batterie, utilise le deep sleep de l’ESP32 entre deux mesures pour prolonger l’autonomie.

7. En résumé

  • Débuter simplement, budget serré : Raspberry Pi Zero 2W + BME280, dashboard Flask local.
  • Station extérieure autonome sur batterie : ESP32 + BME280, envoi Wi-Fi vers un hub.
  • Projet évolutif avec plusieurs points de mesure : plusieurs ESP32 en capteurs distants + Raspberry Pi central pour le stockage et l’affichage (Grafana, Home Assistant).
  • Arduino seul : utile pour apprendre ou pour un affichage local sans réseau, mais limité dès que tu veux stocker un historique ou faire un dashboard.
Publié dans le(s) catégorie(s) : Projets

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *