Station Météo Connectée

Etude de système — Sciences de l'Ingénieur

La station météo connectée représente une application concrète des systèmes cyber-physiques, intégrant des capteurs physiques, un traitement numérique et une communication réseau pour fournir des données environnementales en temps réel. Ce projet pédagogique permet d'aborder l'ensemble de la chaîne d'information, depuis la mesure des grandeurs physiques jusqu'à la visualisation des données sur une interface utilisateur.

Dans le contexte des Sciences de l'Ingénieur, la station météo connectée sert de support pour comprendre les principes de l'Internet des Objets (IoT), les méthodes d'acquisition de données, les contraintes d'alimentation autonome et les protocoles de communication sans fil. Nous analyserons chaque sous-système en détail, en mettant l'accent sur les choix technologiques et les compromis de conception.

Architecture générale et chaîne d'information

Structure d'une station météo IoT

Une station météo connectée suit le schéma classique de la chaîne d'information : acquisition, traitement, communication et restitution. L'architecture se compose généralement :

  • Une partie capteurs pour mesurer les grandeurs météorologiques
  • Une carte électronique avec microcontrôleur pour le conditionnement et le traitement
  • Des modules de communication sans fil pour transmettre les données
  • Une interface de visualisation (locale ou distante)
  • Un système d'alimentation autonome

Modélisation du système

La modélisation SysML ou les diagrammes blocs fonctionnels permettent de représenter les flux d'énergie et d'information entre les différents sous-systèmes. On distingue clairement la chaîne d'énergie (alimentation, gestion de puissance) de la chaîne d'information (mesure, traitement, communication).

Capteurs et mesures environnementales

Principaux capteurs utilisés

Les stations météo intègrent plusieurs capteurs pour mesurer différents paramètres :

  • Température : Thermistance (NTC/PTC) ou sonde numérique (DS18B20) avec précision typique de ±0.5°C
  • Humidité : Capteur capacitif (DHT22, SHT31) mesurant la variation de constante diélectrique
  • Pression atmosphérique : Capteur piézorésistif (BMP280, BME280) avec compensation thermique
  • Vent : Anémomètre à coupelles (vitesse) et girouette potentiométrique (direction)
  • Pluviomètre : Système à augets basculants avec contact reed ou mesure capacitive

Conditionnement des signaux

Les signaux des capteurs nécessitent souvent un conditionnement : amplification, filtrage anti-repliement, adaptation de niveaux. Les capteurs numériques (I2C, SPI) intègrent ce conditionnement, simplifiant l'interface avec le microcontrôleur.

Acquisition et numérisation des données

Convertisseur Analogique-Numérique (CAN)

Les signaux analogiques des capteurs sont convertis en valeurs numériques par le CAN du microcontrôleur. Les caractéristiques principales sont :

  • Résolution : Nombre de bits (10-12 bits sur Arduino, 12 bits sur ESP32) déterminant le pas de quantification
  • Fréquence d'échantillonnage : Doit respecter le théorème de Shannon (fe > 2×fmax)
  • Temps de conversion : Impacte la fréquence maximale d'acquisition
  • Plage de tension : Généralement 0-3.3V ou 0-5V selon le microcontrôleur

Optimisation de l'acquisition

Pour les mesures lentes (température, pression), un échantillonnage à 1 Hz suffit. Pour le vent et la pluie, des fréquences plus élevées (10-100 Hz) peuvent être nécessaires pour détecter les variations rapides. La moyenne glissante permet de lisser les fluctuations tout en conservant la dynamique du signal.

Microcontrôleur et traitement embarqué

Choix du microcontrôleur

Deux familles sont principalement utilisées :

  • Arduino : Simple d'utilisation, large communauté, mais capacités limitées en communication sans fil native
  • ESP32 : Plus puissant, intègre WiFi et Bluetooth, idéal pour les applications IoT connectées

Traitement des données embarqué

Le microcontrôleur effectue plusieurs traitements :

  • Calibration des capteurs (application de courbes d'étalonnage)
  • Conversion des valeurs brutes en unités physiques
  • Filtrage numérique (moyenne, médiane, passe-bas)
  • Détection d'événements (rafales de vent, début de pluie)
  • Gestion de l'alimentation (mise en veille, wake-up)

La programmation se fait généralement en C/C++ avec les frameworks Arduino ou ESP-IDF.

Communication sans fil et protocoles IoT

Technologies de communication

Selon la distance et la consommation :

  • WiFi : Haut débit, courte portée (≈50m), consommation élevée
  • Bluetooth Low Energy (BLE) : Très faible consommation, portée réduite (≈10m)
  • LoRa : Longue portée (≈10km), faible débit, excellente pénétration

Protocoles d'application IoT

Pour transmettre les données vers le cloud ou un serveur :

  • MQTT : Protocole publish/subscribe léger, idéal pour les connexions intermittentes
  • HTTP/HTTPS : Plus lourd mais universel, utilisé avec des API REST
  • WebSocket : Communication full-duplex pour des mises à jour en temps réel

Le format de données standard est JSON, léger et facilement interprétable par les applications.

Visualisation et interface utilisateur

Affichage local

Pour une consultation sur place :

  • Écran LCD alphanumérique (16×2, 20×4) pour les données essentielles
  • Écran OLED graphique pour des visualisations plus avancées
  • Affichage segmenté à LED pour une lisibilité à distance

Interface web et applications

Pour un accès distant :

  • Serveur web embarqué (ESP32) affichant une page avec les dernières mesures
  • Tableau de bord type Grafana ou Node-RED pour la visualisation historique
  • Application mobile dédiée (Android/iOS) avec notifications
  • Intégration à des assistants vocaux (Google Home, Alexa)

Les données sont souvent stockées dans des bases de données temporelles (InfluxDB) optimisées pour les séries chronologiques.

Alimentation autonome et gestion d'énergie

Systèmes d'alimentation

Pour une autonomie complète :

  • Panneau solaire : 5W à 20W selon l'ensoleillement et la consommation
  • Batterie : Lithium-ion (18650) ou LiFePO4 pour la durée de vie
  • Régulateur de charge : MPPT pour optimiser le rendement solaire
  • Convertisseur DC/DC : Pour adapter les tensions aux différents modules

Optimisation de la consommation

Techniques pour maximiser l'autonomie :

  • Mise en veille profonde (deep sleep) du microcontrôleur entre les mesures
  • Désactivation périodique des modules radio
  • Adaptation de la fréquence d'acquisition selon les conditions
  • Utilisation de composants low-power pour l'électronique

Un bilan énergétique précis permet de dimensionner correctement le panneau solaire et la batterie.

Traitement des données et analyse

Traitement côté serveur

Les données collectées peuvent être enrichies :

  • Correction des valeurs (altitude pour la pression, effet d'îlot de chaleur)
  • Calcul de dérivées (tendance pression, point de rosée)
  • Agrégation temporelle (moyennes horaires, maximales quotidiennes)
  • Détection d'anomalies (valeurs aberrantes, capteurs défaillants)

Applications avancées

Les données météo permettent :

  • Prévisions locales à très court terme (nowcasting)
  • Études microclimatiques (différences urbain/rural)
  • Optimisation de systèmes (irrigation, chauffage, production solaire)
  • Intégration à des systèmes d'alerte (gel, fortes pluies)

L'analyse statistique sur le long terme révèle les tendances climatiques locales.

Exercices d'application

Exercice 1

Pour mesurer la température avec une précision de 0.1°C sur une plage de -10°C à +50°C, quelle résolution minimale doit avoir le CAN ? On considère un capteur avec une sensibilité de 10mV/°C et une tension de sortie de 0V à -10°C.
Voir la correction
Plage de température : 60°C. Tension correspondante : 60°C × 10mV/°C = 600mV = 0.6V. Pour une précision de 0.1°C, il faut discerner 0.1°C soit 1mV. Résolution nécessaire : 0.6V / 0.001V = 600 pas. 2^9 = 512 (insuffisant), 2^10 = 1024 (suffisant). Il faut donc un CAN d'au moins 10 bits. En pratique, avec les erreurs de quantification et le bruit, un CAN 12 bits est recommandé.

Exercice 2

Comparez les technologies WiFi et LoRa pour une station météo située dans un champ à 2km de la maison. Considérez le débit, la portée, la consommation et la fiabilité.
Voir la correction
WiFi : Portée limitée à ~50m en extérieur (insuffisant pour 2km sans antenne directionnelle), débit élevé (>10Mbps), consommation importante, sensible aux obstacles. LoRa : Portée de plusieurs km (parfait pour 2km), débit très faible (~300bps à 50kbps), consommation très faible, excellente pénétration et immunité au bruit. Pour cette application, LoRa est clairement supérieur car la distance est importante et le débit requis faible (quelques octets de données météo toutes les 10 minutes).

Exercice 3

Calculez l'autonomie d'une station avec une batterie 18650 de 3000mAh à 3.7V. Consommation : ESP32 en deep sleep (100µA), actif 5s toutes les 10min (120mA), capteurs (20mA pendant 5s), module LoRa (40mA pendant 2s).
Voir la correction
Cycle de 10min = 600s. Énergie par cycle : Deep sleep : 100µA × 595s = 59.5mAs. ESP32 actif : 120mA × 5s = 600mAs. Capteurs : 20mA × 5s = 100mAs. LoRa : 40mA × 2s = 80mAs. Total par cycle : 839.5mAs = 0.233mAh. Nombre de cycles : 3000mAh / 0.233mAh/cycle ≈ 12875 cycles. Autonomie : 12875 cycles × 10min/cycle = 128750min ≈ 89.4 jours. En réalité, l'autonomie sera inférieure à cause du rendement des convertisseurs et de l'autodécharge.

Exercice 4

Expliquez pourquoi le théorème de Shannon est important pour l'échantillonnage de la vitesse du vent, et proposez une fréquence d'échantillonnage adaptée.
Voir la correction
Le théorème de Shannon (fe > 2×fmax) garantit une reconstruction correcte du signal sans repliement spectral. Pour la vitesse du vent, les rafales peuvent avoir des variations rapides. La fréquence maximale significative (fmax) dépend de la constante de temps de l'anémomètre et des phénomènes mesurés. Pour des rafales typiques, fmax est de l'ordre de 1-2Hz. Ainsi, fe doit être > 4Hz. En pratique, on choisit fe = 10Hz pour avoir une marge et capturer fidèlement les variations. Un filtrage anti-repliement (passe-bas analogique à 2Hz) est nécessaire avant l'échantillonnage.

Exercice 5

Décrivez la chaîne d'information complète depuis la mesure de la pression atmosphérique jusqu'à l'affichage sur un tableau de bord web, en précisant le rôle de chaque élément.
Voir la correction
1. Capteur (BMP280) : Mesure analogique de la pression via cellule piézorésistive, conditionnement et conversion I2C. 2. Microcontrôleur (ESP32) : Lecture via bus I2C, conversion en hPa avec compensation thermique, étalonnage. 3. Traitement : Application de correction d'altitude, filtrage. 4. Formatage : Encodage en JSON avec horodatage. 5. Communication : Connexion WiFi, envoi via MQTT ou HTTP POST. 6. Serveur : Réception, validation, stockage en base de données (InfluxDB). 7. Traitement serveur : Calcul de tendance, agrégation. 8. Visualisation : Serveur web (Grafana) interroge la base et génère le tableau de bord. 9. Client : Navigateur web affiche les graphiques et valeurs actuelles.
Scientia