Aller au contenu
Station environnementale : mesure température, humidité, qualité air

Station environnementale connectée basée sur ESP8266 avec alertes Telegram

    La Station THAQ 5.1 (octobre 2025) constitue une solution réaliste et efficace pour le suivi environnemental domestique et semi-professionnel. Elle repose sur le microcontrôleur NodeMCU ESP8266, doté d’un processeur Tensilica à 80 MHz et d’une connectivité Wi-Fi 802.11 b/g/n, capable de gérer simultanément la lecture des capteurs, l’affichage local et la communication distante avec une latence moyenne inférieure à 2 secondes. Le système utilise des capteurs éprouvés : le DHT11 pour la température (0–50 °C, précision ±2 °C) et l’humidité (20–90 % RH, ±5 %), ainsi que le MQ135 pour la qualité de l’air (10–1000 ppm pour le CO et autres gaz nocifs). L’affichage TM1637 4 digits à 7 segments assure une lecture claire, avec une luminosité modulée entre 0x02 et 0x07 selon l’heure, limitant la consommation à environ 50 mA pour l’écran. Grâce à l’intégration de l’API OpenWeatherMap, la station récupère toutes les 15 minutes les conditions météorologiques de Tunis (température, humidité, vitesse du vent) pour comparer les mesures locales aux données officielles. L’utilisateur peut également interagir via Telegram pour consulter les rapports ou changer les modes d’affichage, faisant de la THAQ 5.1 un outil fiable, pragmatique et accessible pour une surveillance environnementale continue et réaliste.

    Station environnementale : mesure température, humidité et qualité d air

    Station-THAQ-photo-1

    Caractéristiques de la station THAQ 5.1

    • Surveillance en temps réel de la température, de l’humidité et de la qualité de l’air intérieur.
    • Affichage local sur écran TM1637 à quatre chiffres.
    • Contrôle à distance via Telegram grâce à la bibliothèque UniversalTelegramBot.
    • Plusieurs commandes Telegram disponibles.
    • Rapports sur demande envoyés via Telegram (environnemental et technique).
    • Capteurs intégrés : DHT11 pour température/humidité et MQ135 pour la qualité de l’air.
    • Connexion Wi-Fi locale stable et sécurisée.
    • Watchdog matériel pour redémarrage automatique en cas de blocage du système.
    • Faible consommation énergétique adaptée à un fonctionnement 24h/24.
    • Architecture modulaire et évolutive, compatible avec d’autres capteurs (pression, CO, luminosité, bruit, etc.).
    • Utilisation polyvalente : adaptée aux environnements domestiques, éducatifs ou professionnels.

    Un dispositif complet et reproductible

    La Station THAQ 5.1 s’appuie sur une architecture matérielle simple et robuste, conçue pour offrir des mesures fiables à faible coût. Elle intègre un capteur DHT11, capable de mesurer la température entre 0 et 50°C avec une précision d’environ ±2°C et l’humidité relative de 20 à 90% RH avec une marge d’erreur de ±5%. Ce capteur effectue une lecture chaque seconde (1Hz), suffisante pour suivre les variations domestiques ou semi-professionnelles. Le capteur de qualité de l’air MQ135 détecte des gaz comme le CO, l’ammoniac ou le benzène, avec une sortie analogique variant approximativement entre 100 et 1023 selon la concentration et la tension d’alimentation (3,3V ±0,1V). Ces valeurs sont ensuite converties en indicateurs qualitatifs : «Bonne» (<400ppm), «Moyenne» (400–800 ppm), «Mauvaise» (800–1200ppm) et «Dangereuse» (>1200ppm), facilitant l’interprétation pour l’utilisateur. L’afficheur TM1637 4 digits à 7 segments présente clairement la température, l’humidité, la qualité de l’air ou l’heure, avec une luminosité ajustable automatiquement entre 0x02 et 0x07 selon l’heure, limitant la consommation à moins de 50mA. L’ESP8266 coordonne la collecte, le traitement et la communication Wi-Fi, offrant un dispositif à la fois compact, économique et capable de fournir des informations environnementales utiles et exploitables pour un usage quotidien.

    Affichage local : TM1637 et gestion de la luminosité

    L’afficheur TM1637 à 4 chiffres est privilégié pour sa simplicité et son coût réduit. Il présente alternativement la température, l’humidité, l’indice de qualité d’air ou l’heure selon le mode sélectionné. La luminosité est contrôlée entre 0x02 et 0x07, avec un réglage automatique suivant l’heure (réduction nocturne) ou un mode manuel via les commandes Telegram. Cette stratégie garantit une bonne lisibilité en journée et une consommation réduite la nuit ; la consommation du module d’affichage reste généralement inférieure à 50 mA, la consommation totale de la station en régime normal restant inférieure à 150 mA selon les modules additionnels utilisés.

    Connectivité Wi-Fi et logique de reconnexion

    La gestion du Wi-Fi est conçue pour être robuste et non bloquante : en cas de perte du signal, la station tente une reconnexion toutes les 10 secondes et consigne chaque déconnexion dans l’EEPROM pour un suivi. Un mécanisme limite les cycles de redémarrage automatique à une fois toutes les 24 heures afin d’éviter les boucles de reboot en cas de problèmes d’alimentation récurrents. En pratique, pour un réseau domestique stable, le taux de disponibilité observé dépasse fréquemment 97 – 98 %, ce qui est suffisant pour la plupart des usages pratiques.

    Contrôle à distance via Telegram

    La station intègre la bibliothèque UniversalTelegramBot pour offrir une interface de contrôle simple et portable. Les commandes implémentées comprennent : /status (rapport environnemental), /rtech (rapport technique), /config (affichage de la configuration), ainsi que /t, /h, /aq et /time pour basculer les modes d’affichage.

    Via ces commandes Telegram, il est ainsi possible d’afficher directement sur l’écran TM1637 la température, l’humidité, la qualité de l’air ou encore l’heure actuelle, en temps réel. Le bot répond généralement en moins de 2 secondes, garantissant une interaction fluide pour la consultation et la configuration.

    température, humidité, qualité d air, heure
    Température : photo en haut à gauche, Humidité : photo en haut à droite, Qualité de l’air : photo en bas à gauche, Heure actuelle : photo en bas à droite.

     

    Pour créer un accès Telegram à la station, il suffit de suivre quelques étapes simples :

    1. Ouvrir l’application Telegram et rechercher BotFather, le bot officiel de création de bots.
    2. Envoyer la commande /newbot, puis donner un nom et un identifiant unique pour le bot. BotFather renverra un token API (chaîne alphanumérique) qui permettra à la station d’envoyer et de recevoir des messages.
    3. Copier ce token dans le code de l’ESP8266, dans la configuration de la bibliothèque UniversalTelegramBot.
    4. Obtenir l’ID de chat de l’utilisateur ou du groupe Telegram qui recevra les messages, généralement en envoyant un message au bot et en lisant l’ID dans les logs du programme.

    Une fois configuré, l’ESP8266 peut envoyer automatiquement les rapports environnementaux et techniques, répondre aux commandes utilisateur et mettre à jour dynamiquement l’afficheur selon les instructions reçues.

    Cette approche évite la complexité d’un serveur web complet tout en offrant une expérience utilisateur intuitive, accessible depuis n’importe quel smartphone, avec un contrôle direct, rapide et sécurisé de la station.

    Intégration OpenWeatherMap : comparer local et officiel

    Pour situer les mesures locales dans un contexte externe, la THAQ 5.1 interroge l’API OpenWeatherMap (requêtes toutes les 15 minutes par défaut) pour récupérer température, humidité, vitesse du vent et conditions météorologiques. Ces données servent de référence pour calculer des écarts : typiquement, l’écart de température observé entre le DHT11 et la valeur API est de 1,5–2°C, et l’écart d’humidité de 4–6% RH, cohérent avec la précision des capteurs. La vitesse du vent, fournie en m/s, est convertie en km/h (×3,6) et interprétée via un dictionnaire simple inspiré de l’échelle de Beaufort.

    Pour obtenir l’API key, créez un compte gratuit sur OpenWeatherMap
    , puis générez votre clé API depuis le tableau de bord utilisateur. Cette clé permet à l’ESP8266 d’effectuer des requêtes HTTP sécurisées.

    Pour choisir votre ville, utilisez le nom officiel de la ville ou son identifiant unique (City ID) fourni par OpenWeatherMap. Par exemple, pour Tunis, le nom exact est « Tunis,TN » ou l’ID numérique 2464470. Il suffit d’insérer cette information dans le code de la station, dans la variable city ou cityID. L’ESP8266 récupérera alors automatiquement les données météo correspondantes à votre localisation, permettant de comparer les mesures locales aux relevés officiels et de générer des rapports précis et contextualisés.

    Mémoire, persistance et résilience

    La configuration de base (mode d’affichage, luminosité, état automatique) est conservée dans l’EEPROM du NodeMCU (512 octets disponibles) pour assurer la reprise après une coupure d’alimentation sans intervention. Le système enregistre également la date du dernier redémarrage autorisé pour empêcher plusieurs reboots automatiques sur 24 heures. Ces mesures logicielles limitent le risque de corruption de configuration et simplifient le déploiement dans des lieux où l’alimentation est sujette à variations.

    Config station THAQ

    Rapports et système d’alertes

    La Station THAQ 5.1 produit deux types principaux de rapports pour un suivi complet et pratique. Le rapport environnemental compile les données mesurées par les capteurs : température ambiante (0–50°C, ±2°C), humidité relative (20–90% RH, ±5%), point de rosée calculé via la formule de Magnus-Tetens, qualité de l’air (MQ135, sortie analogique 100–1023 convertie en niveaux Bonne/Moyenne/Mauvaise/Dangereuse), ainsi que les valeurs minimales et maximales sur 24h, permettant d’analyser les variations quotidiennes. Le rapport technique fournit des informations internes : durée totale de fonctionnement (uptime précis à la minute), nombre de reconnexions Wi-Fi effectuées lors de pertes de signal (toutes les 10 s), et date/heure du dernier démarrage, offrant une vue claire sur la stabilité du système.

    Rapport station THAQ

    Les alertes sont régulées par un cooldown de 6heures pour éviter les notifications trop fréquentes. Par défaut, le système prévient si la température dépasse 40°C ou si l’indice MQ135 dépasse 800, seuil correspondant à une qualité de l’air «Mauvaise/Dangereuse». Ces valeurs pragmatiques reflètent les conditions domestiques typiques et peuvent être adaptées facilement via les commandes Telegram (/status, /rtech, /config), permettant à l’utilisateur de personnaliser les seuils et d’obtenir un suivi fiable et sécurisé, tout en maintenant la station opérationnelle et informative de manière continue.

    Rapport technique station THAQ

    Tableau récapitulatif de toutes les commandes Telegram disponibles

    Commande Telegram Description Action exécutée / Fonction associée
    /status Envoie un rapport complet de la station (température, humidité, point de rosée, qualité d’air, météo Manouba, etc.) sendReport()
    /rtech Envoie un rapport technique (uptime, date de démarrage, nombre de reconnexions Wi-Fi, autorisation de redémarrage du jour, etc.) sendTechReport()
    /t Affiche la température locale sur l’écran TM1637 currentMode = MODE_TEMP; saveConfig();
    /h Affiche le taux d’humidité sur l’écran TM1637 currentMode = MODE_HUM; saveConfig();
    /aq Affiche la qualité de l’air (valeur MQ135) sur l’écran TM1637 currentMode = MODE_AIR; saveConfig();
    /time Affiche l’heure actuelle (Manouba) sur l’écran TM1637 currentMode = MODE_TIME; saveConfig();
    /l Indique la luminosité actuelle de l’afficheur Affiche la valeur de luminositeActuelle
    /lmin Force la luminosité au minimum (valeur 0x02) autoLuminosite = false; luminositeFixe = 0x02;
    /lmax Force la luminosité au maximum (valeur 0x07) autoLuminosite = false; luminositeFixe = 0x07;
    /lauto Active la luminosité automatique selon l’heure du jour autoLuminosite = true; saveConfig();
    /config Affiche la configuration actuelle (mode d’affichage + luminosité) sendConfigTelegram()
    /c Affiche la liste complète des commandes disponibles Envoie un message listant toutes les commandes ci-dessus

    Calculs embarqués : point de rosée, ressenti et interprétations

    Pour rendre les informations plus exploitables, la THAQ 5.1 calcule le point de rosée avec la formule de Magnus-Tetens à partir des mesures DHT11, et évalue la température ressentie (heat index) lorsque cela est pertinent. Par exemple, une lecture de 32 °C combinée à 70 % RH donne un ressenti proche de 38 °C, valeur utile pour prévenir des inconforts ou risques sanitaires. Pour la qualité de l’air, les seuils utilisés sont : <400 (Bonne), 400–800 (Moyenne), 800–1200 (Mauvaise), >1200 (Dangereuse), sachant que le MQ135 nécessite une calibration pour convertir précisément en ppm — la valeur renvoyée est donc principalement qualitative.

    Conception logicielle et robustesse

    Le firmware est structuré pour minimiser les opérations bloquantes : la gestion Wi-Fi est asynchrone, les requêtes HTTP vers OpenWeatherMap sont effectuées sans interrompre la lecture des capteurs, et le bot Telegram est interrogé périodiquement pour traiter les commandes entrantes. Cette organisation prévient les blocages du microcontrôleur et améliore la réactivité, même en cas de problèmes réseau. Des protections logicielles (limitation des redémarrages, enregistrement des événements) complètent l’approche pour favoriser la stabilité sur le long terme.

    Limites techniques et recommandations réalistes

    Il est important d’être transparent sur les limites du système. Le DHT11 et le MQ135 sont adaptés à la surveillance qualitative, mais ne fournissent pas la précision requise pour des mesures certifiées : le DHT11 est nettement moins précis et stable qu’un BME280 ou un SHT31 (ceux-ci offrent typiquement ±1 °C et meilleures précisions en humidité). De même, le MQ135 demande un étalonnage pour obtenir des valeurs de ppm fiables ; sans calibration, il donne surtout une tendance. Pour des usages nécessitant une précision accrue (recherche, conformité), il est recommandé d’opter pour des capteurs de meilleure qualité : BME280 / SHT31 pour température/humidité/pression et un capteur CO dédié (MH-Z19C, Senseair) pour les concentrations de CO.

    Évolutivité et améliorations possibles

    La THAQ 5.1 est conçue pour évoluer. Les améliorations prioritaires, classées par impact, sont : remplacer le DHT11 par un BME280 ou SHT31 (gain en précision, stabilité et ajout de la pression atmosphérique), ajouter un capteur CO dédié pour des mesures quantitatives (par exemple 400–5000 ppm), mettre en place une calibration du MQ135 avec zéro local et points d’étalonnage, sécuriser les communications en évitant setInsecure() et en stockant les tokens de façon non visible, et enfin ajouter un mécanisme d’OTA et un watchdog matériel pour la maintenance à distance.

    Par ailleurs, la station peut être développée pour commander automatiquement des appareils en fonction des données qu’elle fournit : par exemple, activer un climatiseur si la température du local dépasse 25 °C, mettre en marche un déshumidificateur si l’humidité dépasse 70 %, ouvrir un extracteur d’air si la qualité d’air devient “Mauvaise”, ou encore allumer l’éclairage extérieur au crépuscule. Ces extensions domotiques, combinées à la mesure environnementale, font de la THAQ 5.1 une véritable plateforme d’automatisation intelligente.

    Cas d’usage recommandés

    La THAQ 5.1 convient bien aux scénarios suivants : surveillance de l’air intérieur d’un logement, suivi climatique d’un local technique ou d’un atelier, support pédagogique pour ateliers Arduino/ESP et projets étudiants, et prototypes pour domotique connectée. Elle n’est pas destinée à remplacer des stations agrées pour la mesure réglementaire de pollution ou des instruments de laboratoire, mais elle fournit des informations exploitables et un cadre pédagogique solide pour comprendre les interactions entre capteurs, collecte de données et IoT.

    Aspects pratiques de déploiement

    Pour un fonctionnement durable et précis, certaines précautions pratiques sont essentielles. La station peut être installée dans une petite boîte de 120×100×50 mm, ce qui facilite son placement domestique ou semi-professionnel. Cependant, le capteur DHT11 doit être isolé des sources de chaleur internes : le MQ135 et le NodeMCU ESP8266 dégagent suffisamment de chaleur pour fausser la mesure de la température si le DHT11 est installé à proximité directe. Dans mon cas, j’ai fixé le DHT11 au bout d’un petit tube en plastique de 8 cm de longueur, verticalement sur le boîtier, garantissant qu’il soit éloigné de la chaleur des composants et exposé à l’air ambiant réel, comme illustré sur la photo.

    D’autres recommandations incluent : placer la sonde à l’abri des rayons directs du soleil et de toute source de chaleur locale, utiliser une alimentation stable avec un régulateur 3,3 V capable de fournir au moins 500 mA pour couvrir les extensions futures, prévoir un boîtier ventilé ou un petit filtre pour le MQ135 afin de limiter la poussière et les particules, et installer la station dans un emplacement représentatif du volume surveillé. Enfin, documenter les calibrations et tenir un journal de maintenance permet de suivre les ajustements et d’interpréter correctement les données sur le long terme, garantissant ainsi une surveillance fiable et durable.

    Tableau des connexions matérielles — Station THAQ 5.1

    Le tableau est réservé aux membres inscrits. Pour le visualiser, veuillez vous inscrire en cliquant ici.

    Station-THAQ-photo-2

    Station-THAQ-photo-6

    Résumé des dépendances logicielles

    Bibliothèque Rôle Remarques
    ESP8266WiFi.h Connexion Wi-Fi et gestion réseau Nécessaire pour Telegram et API météo
    WiFiClientSecure.h Communication HTTPS sécurisée Utilisée par UniversalTelegramBot
    UniversalTelegramBot.h Communication avec Telegram Envoi/réception des messages de commande
    ArduinoJson.h Décodage de la réponse JSON d’OpenWeatherMap Taille du buffer : 2048 octets
    DHT.h Lecture du capteur DHT11 Température et humidité
    ESP8266HTTPClient.h Requête HTTP pour l’API météo GET vers OpenWeatherMap
    TM1637Display.h Pilotage de l’afficheur 4 digits Affichage numérique dynamique
    time.h Gestion du temps système et NTP Conversion en date/heure locale
    EEPROM.h Sauvegarde des paramètres Persistance de la configuration

    Schéma

    Le schéma est réservé aux membres inscrits. Pour le visualiser, veuillez vous inscrire en cliquant ici.

    Code à téléverser

    Pour téléverser le programme de la station THAQ 5.1 dans le NodeMCU ESP8266 Lolin, la procédure est simple et ne nécessite qu’un ordinateur équipé de l’Arduino IDE (version 2.2.1 ou ultérieure). Commencez par installer l’IDE, puis ajoutez le support ESP8266 en ouvrant Fichier > Préférences, et en insérant l’URL suivante dans le champ URL de gestionnaire de cartes supplémentaires :

    https://arduino.esp8266.com/stable/package_esp8266com_index.json

    Ouvrez ensuite Outils > Type de carte > Gestionnaire de cartes, recherchez ESP8266 by ESP8266 Community et installez-le. Sélectionnez ensuite la carte NodeMCU 1.0 (ESP-12E Module).

    Téléchargez le fichier ZIP du projet contenant le code source, puis décompressez-le dans un dossier local. Le fichier principal à ouvrir dans l’Arduino IDE est intitulé :

    Le code à téléverser est réservé aux membres inscrits. Pour le visualiser, veuillez vous inscrire en cliquant ici.
    Connectez le NodeMCU ESP8266 Lolin à l’ordinateur via un câble USB de bonne qualité. Sélectionnez le port COM correspondant (par exemple : COM3 sous Windows ou /dev/ttyUSB0 sous Linux). Dans Outils, réglez les paramètres suivants :

    • Fréquence CPU : 80 MHz
    • Flash Size : 4 MB (FS : 2 MB / OTA : ~1019 KB)
    • Vitesse de téléversement : 115200 baud

    Cliquez sur Téléverser pour charger le programme. Le processus dure environ 30 secondes. Ouvrez ensuite le Moniteur Série (115200 baud) : la station affichera son adresse IP Wi-Fi, les valeurs des capteurs et confirmera que le code Code Station THAQ NODEMCU ESP8266 version 5-1.txt a été installé avec succès.

    Conclusion

    La Station THAQ 5.1 constitue une réalisation pragmatique et bien pensée pour les makers, les enseignants et les utilisateurs souhaitant une surveillance environnementale fiable à coûts maîtrisés. En conservant des composants abordables et une architecture logicielle robuste, le projet offre un bon compromis entre fonctionnalité, simplicité et fiabilité. Il reste néanmoins important d’accepter ses limites : DHT11 et MQ135 offrent des mesures utiles mais qualitatives ; pour monter en précision il faudra remplacer certains capteurs et renforcer la sécurité et l’archivage des données. Dans son état actuel, la THAQ 5.1 fournit une plateforme open-source cohérente, extensible et adaptée à des usages pratiques et pédagogiques.

    Remarque : les valeurs numériques indiquées (précisions, plages, seuils et consommations) correspondent à des ordres de grandeur pratiques pour les composants cités et reflètent un choix de configuration courant pour des déploiements domestiques. Elles peuvent varier selon la qualité, l’étalonnage et les conditions d’installation.