← Toutes les réalisations
Ingénierie & systèmes embarqués

DampAlert

Détection prédictive du risque de moisissure ; IoT LoRaWAN

L'humidité et les moisissures dégradent la santé des occupants et la valeur du bâti, et les mesures classiques alertent trop tard. Tech Fox a conçu et livré DampAlert, un dispositif IoT de maintenance prédictive qui ne se contente pas de mesurer l'humidité : il calcule en temps réel le point de rosée pour anticiper la condensation avant qu'elle n'apparaisse. Chaîne complète (nœud capteur STM32 + BME680, transmission LoRaWAN sur The Things Network, dashboard web souverain à alertes) prototypée et validée en conditions réelles.

Année2025
PaysFrance
StatutProof of Concept validé
Point fort24/7
STM32L432KC (Cortex-M4)CSTM32CubeIDEHAL L4Bosch BME680LMIC (LoRaWAN)Cayenne LPPSemtech SX1276The Things NetworkNode.jsExpressChart.jsWeb Audio API
< 12,8 °Cseuil de vigilance sur le point de rosée
7 octetscharge utile LoRaWAN par mesure
868 MHzbande LoRa EU868, réseau propre
24/7supervision, sans dépendance SaaS

Contexte & problème résolu

Synoptique de l'architecture IoT DampAlert
Synoptique global : environnement → nœud capteur STM32 → réseau LoRa 868 MHz → The Things Network → application web, avec la boucle de rétroaction des actions correctives.

La qualité de l'air intérieur est un déterminant majeur de santé publique : l'exposition à l'humidité et aux moisissures est corrélée à une prévalence accrue d'asthme, d'infections respiratoires et de troubles associés, et pèse lourdement sur le bâti (dégradations, corrosion, litiges, rénovations). En Europe, environ un logement sur cinq est concerné, pour un taux de rénovation d'à peine 2 % par an.

Le point clé est physique : la prévention repose sur la maîtrise du point de rosée, pas sur la seule humidité relative. On recommande de maintenir le point de rosée intérieur sous 12,8 °C ; au-delà de 15,6 °C, les conditions deviennent propices à un développement rapide de moisissures et les interventions arrivent trop tard.

DampAlert répond à une double exigence : informer l'occupant en temps réel pour déclencher une action corrective immédiate (ventiler, chauffer), et historiser sur le temps long pour le gestionnaire (preuve de bonne gestion, détection de ponts thermiques ou d'infiltrations, supervision multi-sites).

Architecture IoT de bout en bout

Schéma électrique de la carte de mesure
Schéma électrique de la carte « Air Monitoring » : BME680, tirages I2C, réseau de découplage et connecteur d'interface.

Le système forme une chaîne d'acquisition complète, du capteur physique à l'interface, en quatre blocs : acquisition et traitement sur le STM32, transmission radio LoRaWAN, réception par une passerelle relayée au serveur de réseau The Things Network, puis une application web qui interroge l'API de TTN pour afficher les tableaux de bord et gérer les alertes.

Parti pris d'architecture fort : plutôt qu'une solution clés en main (type Datacake/TagoIO), Tech Fox a privilégié une intégration directe par API, avec un pont exécuté localement ; garantissant la souveraineté des données et une flexibilité totale de l'interface. La boucle est fermée par l'occupant, qui déclenche les actions correctives et fait redescendre le risque.

  • LoRaWAN retenu contre le Wi-Fi et le cellulaire : modulation à étalement de spectre pour la pénétration deep indoor à travers des parois épaisses, bande ISM libre, faible consommation, indépendance vis-à-vis de la box du locataire.
  • Encodage Cayenne LPP (7 octets utiles) : charge compacte et auto-décodable nativement côté TTN, sans parser fragile à maintenir.

Nœud capteur & firmware embarqué

Console TTN Live Data
Console Live Data de The Things Network : uplinks temps réel, payload décodé (température, humidité), trame Cayenne LPP, data rate, SNR et RSSI.

Le nœud associe un microcontrôleur STM32L432KC (Cortex-M4 à 80 MHz, choisi pour son efficacité énergétique), un capteur environnemental Bosch BME680 (température, humidité, pression, COV) sur bus I2C, et un transceiver LoRa Semtech SX1276 piloté en SPI sur la bande EU868. Le firmware, en C sous STM32CubeIDE (HAL L4), s'appuie sur la pile LoRaWAN LMIC et son ordonnanceur coopératif non bloquant.

Décision d'ingénierie déterminante pour la fiabilité : le BME680 embarque une résistance chauffante (mesure des COV) qui, laissée active, biaise la température de +5 à +10 °C et invaliderait tout calcul de point de rosée. Le firmware désactive explicitement ce chauffage, de sorte que la mesure reflète uniquement l'ambiant. L'acquisition se fait en mode « forced » (réveil, mesure unique, retour en sommeil) pour économiser l'énergie.

Le rattachement au réseau se fait en OTAA (activation over-the-air, clés de session dynamiques), préféré à l'ABP pour sa sécurité. La conformité au duty cycle réglementaire de la bande 868 MHz (~1 %) est prise en charge nativement par LMIC ; la période d'émission constitue le curseur du compromis réactivité / autonomie batterie / duty cycle.

Cloud souverain & dashboard temps réel

Messages stockés via l'API Storage TTN
Messages stockés sur fenêtre glissante (intégration Storage de TTN), interrogés par le pont local.

Côté TTN, l'application reçoit les uplinks, les décode nativement (Cayenne LPP vers JSON) et les expose. Un pont Node.js/Express local interroge l'API Storage de TTN à intervalle régulier, normalise les données et publie une API locale simplifiée que le navigateur consomme : contournant au passage les restrictions CORS et le flux JSON non standard renvoyé par TTN.

Le tableau de bord « Surveillance HygroThermique » exécute l'ensemble des calculs thermodynamiques côté client et affiche en continu température, humidité relative et absolue, point de rosée, indice de risque de moisissure, courbes temporelles et journal d'alertes. Il propose trois modes (Production lissée, Instantané pour le diagnostic, Démo par curseurs pour tester les scénarios critiques). Les retours sensoriels sont synthétisés par la Web Audio API (tonalités distinctes selon le type d'alerte), doublés d'un flash visuel.

Fondements thermodynamiques (publics)

Tableau de bord Surveillance HygroThermique
Tableau de bord en mode Production : indicateurs synthétiques, point de rosée, courbes temporelles, barres de risque et journal d'alertes.

Le cœur scientifique est la conversion de mesures brutes (T, HR) en indicateurs de risque, à l'aide de modèles publics et standards ; gage de justesse. Le point de rosée est calculé par l'approximation de Magnus-Tetens, valide de −40 à +50 °C avec une erreur inférieure à 0,1 °C et très peu coûteuse en calcul : gamma = ln(HR/100) + (b·T)/(c+T), puis Tdp = c·gamma / (b − gamma), avec les constantes b = 17,625 et c = 243,04 °C.

L'humidité absolue (masse d'eau réelle par mètre cube), dérivée du modèle des gaz parfaits avec la constante spécifique de la vapeur d'eau Rv = 461,5 J·kg⁻¹·K⁻¹, permet de distinguer une baisse de température d'une vraie variation de charge hydrique : donc de savoir s'il faut chauffer ou ventiler. L'indice de risque combine, sur moyenne glissante, un score humidité et un score point de rosée (pondération 60/40).

  • Seuils retenus : humidité relative 60 % (confort) et 80 % (seuil biologique de germination), point de rosée 12,8 °C (vigilance) et 15,5 °C (critique).
  • Logique d'alerte à deux niveaux : rouge + sirène cyclique si HR ≥ 80 % ou Tdp ≥ 15,5 °C ; orange + bip simple si HR ≥ 60 % ou Tdp ≥ 12,8 °C.

Résultats, difficultés & compétences

La chaîne complète a été validée de bout en bout (acquisition, encodage LPP, transmission LoRaWAN, réception TTN, pont local et dashboard) avec un flux d'uplinks régulier et cohérent visible dans la console TTN (Live Data et Storage), et un essai de référence filmé en conditions réelles. Limite assumée en toute honnêteté : la littérature n'offre pas de modèle quantitatif reliant précisément le risque de moisissure à l'humidité absolue ; l'indice combiné est affiché à titre indicatif.

Plusieurs pièges classiques ont été résolus : biais thermique du BME680 (chauffage désactivé), endianness des identifiants OTAA (AppEUI/DevEUI en little-endian, AppKey en big-endian), blocage CORS (pont local), flux JSON concaténé (parsing résilient), fausses alertes sur transitoires (moyennes glissantes). Le projet démontre une palette complète : électronique embarquée, radiofréquence/LoRaWAN, thermodynamique appliquée, développement full-stack et architecture IoT souveraine.

Nous ne vous disons pas qu'il fait humide. Nous vous disons que vos murs vont moisir si vous n'agissez pas ; parce que nous calculons le point de rosée, pas seulement l'hygrométrie.
Positionnement produit DampAlert
UN PROJET DU MÊME TYPE ?

Construisons-le.

Présentez le problème, même s'il est encore flou. On transforme le besoin en système clair.

Démarrer un projet