projects

Centrale météo Pico 2W + Raspberry Pi 3

Une centrale météo personnelle qui combine un nœud MicroPython sur Raspberry Pi Pico 2W, plusieurs capteurs environnementaux, une diffusion MQTT et un tableau de bord local sur Raspberry Pi 3.

Publié le 14 mai 2026

Statut: En développement actif

Dépôt: GitHub

Documentation: Lien

Présentation

Cette centrale météo personnelle repose sur deux dépôts complémentaires.

Le premier, weather_web_sensors, exécute l’acquisition sur un Raspberry Pi Pico 2W avec MicroPython. Le second, rpi3-meteo, reçoit les mesures sur un Raspberry Pi 3, les historise, les affiche sur une interface locale et les enrichit avec des pages de prévision.

L’ensemble forme une petite chaîne d’observation autonome, pensée pour un usage domestique ou de proximité, avec une architecture simple, réparable et facile à faire évoluer.

Vue du prototype d'acquisition sur Pico 2W

Vue du prototype d’acquisition sur Pico 2W avec les capteurs de température, d’humidité et de pression, ainsi qu’un affichage sur écran OLED.

Vue de l'affichage sur un Raspberry Pi 3

Vue de l’affichage sur l’écran du Raspberry Pi 3, avec les données brutes et les données réduites.

Architecture du projet

La chaîne actuelle se décompose en quatre blocs:

  1. acquisition locale sur le Pico 2W
  2. publication des mesures en MQTT
  3. ingestion et stockage sur le Raspberry Pi 3
  4. visualisation locale sur écran ou navigateur

Le nœud MicroPython lit plusieurs capteurs en parallèle, calcule une mesure agrégée de référence, met à jour un petit affichage OLED et expose aussi une interface web locale légère. Les données utiles sont ensuite publiées vers un broker Mosquitto, puis consommées par l’application FastAPI, qui les stocke dans PostgreSQL et les restitue sous forme de tableau de bord.

Partie weather_web_sensors

Le dépôt weather_web_sensors constitue la couche embarquée du projet. Il s’appuie sur:

  • un Raspberry Pi Pico 2W
  • un BME680 pour la température, l’humidité, la pression et les gaz
  • un DHT22
  • un couple AHT20 + BMP280
  • un écran SSD1306
  • un module DS3231 pour l’horloge temps réel

Le logiciel gère:

  • deux bus I2C distincts
  • une acquisition autonome au démarrage
  • une synchronisation NTP avec recopie vers la RTC
  • une page web locale avec comparaison inter-capteurs
  • une exportation UDP ou MQTT

Cette partie est particulièrement intéressante pour comparer plusieurs sondes de température, d’humidité et de pression sur un même montage, afin de mieux suivre les écarts ou de choisir une référence de travail.

Affichage du serveur embarqué sur le Pico 2W

Vue de l’affichage du serveur web embarqué sur le Pico 2W, avec les données brutes, les données réduites, les statistiques et les comparaisons entre capteurs.

Partie rpi3-meteo

Le dépôt rpi3-meteo constitue la couche serveur locale et l’interface de visualisation de la centrale météo.

Il repose sur:

  • un backend FastAPI
  • un broker Mosquitto
  • un stockage PostgreSQL
  • une interface adaptée à un écran tactile
  • des pages de prévision alimentées notamment par Open-Meteo

L’application consomme deux flux MQTT publiés par le Pico:

  • un flux brut pour les acquisitions détaillées
  • un flux agrégé pour l’affichage synthétique

Elle peut ensuite:

  • historiser les messages et les mesures individuelles
  • exposer les dernières valeurs utiles
  • calculer un indicateur local de qualité de l’air à partir du BME680
  • afficher des pages de prévision immédiate, horaire et journalière
  • produire des graphiques à distance depuis WSL via interrogation du serveur PostgreSQL en Python

Ci-dessous, quelques exemples de captures d’écran des pages disponibles sur l’interface utilisateur:

Vue de la page d'accueil du Raspberry Pi 3

Vue de la page d’accueil du Raspberry Pi 3 avec les données en temps réel et les données réduites.

Vue de la page temps réel du Raspberry Pi 3

Vue de la page temps réel du Raspberry Pi 3 avec les données brutes transmises chaque minute via le broker MQTT.

Vue de la page de synthèse du Raspberry Pi 3

Vue de la page de synthèse du Raspberry Pi 3 avec les données réduites, ici regroupées par heure.

Vue des informations actuelles provenant du site Open-Meteo

Vue de la page des informations actuelles provenant du site Open-Meteo.

Vue des prévisions à court terme provenant du site Open-Meteo

Vue de la page des prévisions à court terme provenant du site Open-Meteo.

Vue des prévisions à 4 jours provenant du site Open-Meteo

Vue de la page des prévisions à 4 jours provenant du site Open-Meteo.

Intérêt du projet

L’intérêt principal de cette centrale météo est de relier proprement l’électronique légère et le logiciel applicatif:

  • acquisition embarquée compacte avec MicroPython
  • transport des mesures par MQTT
  • persistance et requêtes avec PostgreSQL
  • interface locale moderne avec FastAPI
  • possibilité de faire évoluer séparément la partie capteurs et la partie tableau de bord

Le projet garde aussi une dimension expérimentale utile: ajout futur d’un anémomètre, d’un pluviomètre, amélioration des heuristiques de qualité de l’air, comparaison entre capteurs et enrichissement des visualisations historiques.

On peut aussi envisager la fabrication d’un abri météo en PETG avec une imprimante 3D, ainsi que le remplacement de la transmission des données en Wi-Fi par deux transmetteurs série HC-12 à 433 MHz.

Public visé

Cette centrale météo s’adresse aux personnes qui veulent:

  • construire une station météo personnelle ouverte et modifiable
  • conserver la maîtrise locale des données
  • comparer plusieurs capteurs environnementaux
  • disposer d’un tableau de bord autonome sur Raspberry Pi
  • réutiliser des briques simples fondées sur Python, MicroPython et MQTT

Liens