Aller au contenu

ModuleAir WiFi

Logo ModuleAir

ModuleAir WiFi

Présentation

Le ModuleAir WiFi est un capteur de qualité de l'air d'intérieur connecté en WiFi. Il mesure en continu les particules fines (PM1, PM2.5, PM10) et le CO₂, et affiche les résultats en temps réel sur un écran LED intégré.

Cette page documente la version 4 (V4) du ModuleAir. Le capteur est construit autour d'un microcontrôleur ESP32 et transmet ses mesures toutes les minutes vers les serveurs AirCarto.

Le ModuleAir, conçu et fabriqué par AirCarto

Une installation sans configuration compliquée

Le ModuleAir WiFi se configure entièrement depuis un téléphone ou un ordinateur, sans application à installer : on le branche, on choisit son réseau WiFi, et c'est terminé.

Caractéristiques techniques

Schéma de principe du ModuleAir WiFi

Le ModuleAir WiFi rassemble, dans un boîtier imprimé en 3D, une carte électronique AirCarto à base d'ESP32, les capteurs de qualité de l'air, un écran LED et son alimentation USB :

Les composants du ModuleAir : façade, carte AirCarto (ESP32), capteur CO₂, NextPM (particules fines), écran LED HUB75 et alimentation USB

Plateforme

  • Microcontrôleur : ESP32-WROOM-32U (Espressif)
  • CPU : double cœur Xtensa LX6 à 240 MHz
  • Flash : 4 MB
  • WiFi : 802.11 b/g/n, antenne externe (connecteur U.FL) pour une meilleure portée

La carte est une board custom AirCarto (ModuleAir WiFi) conçue autour de ce module.

Capteurs

De série, le ModuleAir WiFi embarque deux capteurs de référence :

Capteur Mesure Paramètres Interface
NextPM (Tera Sensor) Particules fines PM1 · PM2.5 · PM10 UART (Modbus RTU)
MH-Z19C (Winsen) Dioxyde de carbone CO₂ UART

En option, une sonde BME280 (température, humidité, pression) peut être ajoutée en version déportée — voir Les capteurs en détail.

Capteurs détectés automatiquement

Le ModuleAir détecte les capteurs présents à chaque cycle de mesure. Un capteur peut être branché ou débranché à chaud, et chaque capteur peut être activé ou désactivé individuellement depuis le dashboard web (voir Réglages et fonctionnalités). Seules les mesures des capteurs présents et activés sont affichées et transmises.

Écran LED

Le ModuleAir WiFi est équipé d'une matrice LED RGB de 64 × 32 pixels (panneau HUB75). Une fois le capteur en fonctionnement, l'écran affiche en rotation les différents polluants (une mesure toutes les 5 secondes), entrecoupés des logos, avec un code couleur indiquant la qualité de l'air.

La matrice existe en deux tailles :

Variante Pas (pitch) Dimensions
P2.5 2.5 mm 160 × 80 mm
P3 3.0 mm 192 × 96 mm

La luminosité de l'écran est réglable depuis le dashboard (de 0 — écran éteint — à 255).

Boîtier

Le boîtier est composé d'éléments imprimés en 3D, conçus sur mesure pour accueillir le PCB et les capteurs. Il intègre des ouvertures pour la circulation de l'air (nécessaire aux mesures de particules et de gaz), le passage du câble USB et l'antenne WiFi externe. Le logo AirCarto est directement intégré au design.

Le fichier 3D du boîtier est téléchargeable dans la section Fichiers 3D.

Connectivité

Le ModuleAir WiFi se connecte à un réseau WiFi 2.4 GHz classique (WPA/WPA2). Il transmet ses mesures par internet vers les serveurs AirCarto.

Réseaux non supportés

Le capteur ne peut se connecter qu'à un réseau WiFi protégé par un mot de passe (ou ouvert). Les réseaux d'entreprise à portail captif ou à identifiant/mot de passe (université, hôtel, certains bureaux) ne sont pas supportés.

Alimentation et consommation

Le ModuleAir WiFi est conçu pour une alimentation permanente sur USB 5 V (chargeur de téléphone ou port USB). Un adaptateur secteur standard 5 V / 1 A est suffisant.

Analyse de la consommation électrique du ModuleAir (profileur Otii)

Mesure réalisée sur USB 5 V avec un power profiler (~15 secondes en fonctionnement normal) :

Paramètre Valeur
Tension d'alimentation 5.0 V
Courant moyen ~171 mA
Courant max (pic) ~509 mA
Puissance moyenne ~858 mW
Puissance max (pic) ~2.56 W
Estimation Valeur
Consommation moyenne ~0.86 W
Consommation journalière ~20.6 Wh/jour
Consommation annuelle ~7.5 kWh/an

Lecture du profil

Le courant de repos se situe autour de 100–150 mA (ESP32 actif, WiFi maintenu). Les pics périodiques (300–509 mA) correspondent aux transmissions WiFi et aux lectures des capteurs. Un pic au démarrage (~1 s) accompagne l'initialisation de l'ESP32 et la connexion WiFi.

Les capteurs en détail

De série, le ModuleAir WiFi mesure les deux paramètres clés de la qualité de l'air intérieur : les particules fines et le CO₂, à l'aide de capteurs de référence. Une sonde de température / humidité / pression peut être ajoutée en option (voir plus bas).

Particules fines — NextPM (Tera Sensor)

Capteur de particules fines NextPM (Tera Sensor)

Les particules fines (PM, particulate matter) sont des poussières microscopiques en suspension dans l'air. On les classe par taille : PM10 (< 10 µm), PM2.5 (< 2.5 µm) et PM1 (< 1 µm). Plus une particule est fine, plus elle pénètre profondément dans l'appareil respiratoire — les PM2.5 atteignent les alvéoles pulmonaires, ce qui en fait l'un des polluants les plus surveillés sur le plan sanitaire. Elles proviennent du chauffage, de la cuisson, du trafic, du tabac, des bougies, etc.

Le NextPM est un compteur optique de particules fabriqué par la société française Tera Sensor. Il éclaire le flux d'air avec un laser et mesure la lumière diffusée par les particules selon deux angles (45° et 90°) — une technologie brevetée qui améliore la distinction des tailles de particules. Il détecte les particules de 0.3 à 10 µm et restitue les concentrations en µg/m³ pour PM1, PM2.5 et PM10.

Pour rester fiable même dans un air humide, le capteur intègre un système de chauffage qui maintient l'humidité interne sous 60 %. C'est un capteur durable (durée de vie > 10 ans, > 10 000 h de fonctionnement) dont la corrélation avec les instruments de référence dépasse 0.95.

Le même capteur que le NebuleAir Pro

Le NextPM est le capteur de particules de référence d'AirCarto : il équipe aussi le NebuleAir Pro.

Dioxyde de carbone (CO₂) — MH-Z19C (Winsen)

Capteur CO₂ NDIR MH-Z19C (Winsen)

Le CO₂ (dioxyde de carbone) est le meilleur indicateur du renouvellement de l'air dans une pièce occupée. L'air extérieur contient environ 420 ppm de CO₂ ; dans une pièce fermée et occupée, le taux monte avec la respiration des personnes présentes. Au-delà de ~1000–1500 ppm, l'air est considéré comme confiné : il est temps d'aérer. Des niveaux élevés s'accompagnent souvent de somnolence, de maux de tête et d'une baisse de concentration. Le CO₂ est aussi un bon proxy du risque de transmission des maladies aéroportées.

Le MH-Z19C du fabricant Winsen mesure le CO₂ par principe NDIR (Non-Dispersive InfraRed, infrarouge non dispersif) : le CO₂ absorbe une longueur d'onde infrarouge précise ; en mesurant cette absorption dans une chambre dorée, le capteur en déduit la concentration. C'est une méthode robuste et stable dans le temps.

Caractéristique Valeur
Principe NDIR (infrarouge non dispersif)
Gamme de mesure 400 – 5000 ppm
Précision ± (50 ppm + 5 % de la lecture)
Compensation en température
Interface UART (sortie série)

Température, humidité, pression — sonde BME280 (en option)

Sonde BME280 — température, humidité, pression

La sonde BME280 mesure la température, l'humidité relative et la pression atmosphérique — les conditions ambiantes qui complètent le diagnostic de l'air intérieur.

Pourquoi cette sonde n'est pas montée de série

À l'intérieur du boîtier, la chaleur dégagée par l'écran LED fausse les mesures de température et d'humidité. Pour cette raison, le ModuleAir est livré de série avec uniquement les particules fines et le CO₂.

Sur demande, AirCarto réalise une version équipée du BME280 : nous avons mis au point des prototypes avec une extension déportée qui place la sonde à l'extérieur du boîtier, reliée par un câble. La mesure échappe ainsi à la chaleur de l'écran et reste fiable.

Mesure Gamme Précision
Température −40 à +85 °C ± 1 °C
Humidité 0 à 100 % HR ± 3 % HR
Pression 300 à 1100 hPa ± 1 hPa

Première mise en service

1. Brancher le capteur

Branchez le capteur sur une prise USB (chargeur de téléphone, port USB d'une box…). Le capteur démarre automatiquement : une courte animation s'affiche sur l'écran LED, puis l'écran indique « Config WiFi » tant que le capteur n'est pas configuré.

2. Se connecter au réseau du capteur

Au premier démarrage (ou tant qu'aucun réseau n'est mémorisé), le ModuleAir crée son propre point d'accès WiFi :

  • Nom du réseau : ModuleAir-XXXXXX (les 6 derniers caractères sont propres à votre capteur)
  • Mot de passe : aucun (réseau ouvert)

Sur votre téléphone ou ordinateur, ouvrez les paramètres WiFi et connectez-vous à ce réseau. Une page de configuration s'ouvre automatiquement (portail captif). Si elle ne s'ouvre pas, lancez votre navigateur sur n'importe quelle adresse, ou rendez-vous sur http://192.168.4.1.

Page de configuration WiFi du ModuleAir : mode point d'accès et liste des réseaux

3. Choisir son réseau WiFi

Sur la page de configuration :

  1. Repérez votre réseau WiFi dans la liste (bouton « Actualiser les réseaux » si besoin)
  2. Cliquez sur le nom de votre réseau
  3. Entrez le mot de passe de votre box WiFi
  4. Cliquez sur Connecter

Le capteur enregistre les identifiants, redémarre et tente de se connecter. La configuration est mémorisée : aux démarrages suivants, le capteur se reconnecte automatiquement à votre box.

Variante : configuration par Bluetooth (BLE Improv)

En plus du portail captif, le ModuleAir supporte la configuration WiFi par Bluetooth via le standard Improv, depuis un navigateur compatible (Chrome / Edge). Le capteur affiche l'avancement (connexion, identifiants reçus, succès/échec) directement sur l'écran LED.

4. Vérifier la connexion

Une fois connecté, l'écran affiche brièvement le réseau et la qualité du signal, puis le logo ModuleAir en attendant la première mesure (~60 s). Le capteur envoie ensuite automatiquement ses mesures toutes les 60 secondes.

Reconnexion automatique intelligente

Si la box redémarre ou que le WiFi est momentanément perdu, le capteur tente de se reconnecter tout seul pendant 3 minutes, puis réessaie périodiquement en arrière-plan. Si le réseau configuré devient introuvable, il rebascule en mode point d'accès pour permettre une reconfiguration.

Le dashboard web

Une fois le capteur connecté à votre WiFi, vous accédez à son interface depuis n'importe quel appareil du même réseau.

Ouvrez un navigateur et tapez :

http://moduleair.local

Si l'adresse .local ne fonctionne pas

Certains appareils (notamment sous Android) ne gèrent pas les adresses .local. Utilisez alors l'adresse IP du capteur (visible dans l'interface d'administration de votre box).

Dashboard du ModuleAir : connexion et mesures en temps réel

Consulter les mesures

Le dashboard affiche en temps réel les dernières mesures, regroupées par capteur : particules fines, CO₂ et — si la sonde optionnelle est installée — les conditions ambiantes (température / humidité / pression). Les valeurs sont colorées selon leur niveau (vert = bon, orange = moyen, rouge = mauvais). La page se rafraîchit automatiquement, sans rechargement complet.

La carte Système affiche l'état de chaque capteur sous forme de pastille :

Pastille Signification
Verte « ok » Capteur actif, lecture correcte
Rouge « err » Capteur actif mais en erreur (voir les logs)
Grise barrée « off » Capteur volontairement désactivé
Orange « warm » Premier cycle de mesure en cours (juste après le démarrage)

Réglages et fonctionnalités

Le dashboard ne sert pas qu'à consulter les mesures : il permet de personnaliser entièrement le fonctionnement du capteur. Tous les réglages sont mémorisés et conservés après un redémarrage.

  • Activer / désactiver un capteur — dans Capteurs actifs, chaque capteur possède un interrupteur. Désactiver un capteur arrête sa lecture, le retire de l'écran et des données envoyées — effet immédiat, sans redémarrage. Pratique si un capteur n'est pas installé ou que vous ne souhaitez pas suivre une mesure.
  • Choisir les polluants affichés à l'écran — dans Écrans matrice, vous décidez quels paramètres défilent sur l'écran LED (PM1, PM2.5, PM10, CO₂, et — avec la sonde optionnelle — température, humidité) : affichez uniquement ceux qui vous intéressent. Vous choisissez aussi quels logos apparaissent dans la rotation (ModuleAir, AirCarto, AtmoSud).
  • Régler les seuils d'alerte CO₂ — éditez les seuils « bon » et « mauvais » qui déterminent les couleurs (par défaut 800 et 1500 ppm), avec un bouton « Par défaut » pour revenir aux valeurs officielles.
  • Régler la luminosité de l'écran — de 0 (écran éteint) à 255.
  • Écran de debug au démarrage — afficher ou non l'écran d'information technique au boot.

Cohérence automatique

Si vous désactivez un capteur, les écrans des polluants correspondants se grisent automatiquement (ex. désactiver le NextPM grise PM1 / PM2.5 / PM10). Vos préférences d'affichage sont conservées : elles reviennent automatiquement quand vous réactivez le capteur.

Logs en temps réel

Le dashboard intègre une console de logs en direct (live tail), avec pause et effacement. Elle permet de diagnostiquer facilement un problème de capteur ou de connexion sans matériel particulier.

L'écran LED en détail

À quoi ressemble un écran de mesure

En fonctionnement, l'écran fait défiler une mesure toutes les 5 secondes. Chaque polluant occupe un écran construit toujours de la même façon, pour une lecture en un coup d'œil. Chaque écran de mesure se compose des repères suivants :

Zone Position Contenu
Polluant En haut à gauche (cyan) Le nom de la mesure (PM2.5, CO₂, PM10…)
Unité À droite du nom (gris) L'unité (µg/m³, ppm…)
Valeur Au centre, en grand (blanc) La mesure en cours
Carré de couleur À droite Le niveau de qualité (vert → jaune → orange → rouge)
Libellé En bas (même couleur) Le niveau en toutes lettres (BON, MOYEN, AÉRER SVP, MAUVAIS…)
Badge réseau En haut à droite L'état de la connexion (bleu = en ligne)

Le carré de couleur et le libellé prennent la même couleur, déterminée par les seuils ci-dessous : c'est l'indicateur visuel principal de la qualité de l'air.

États affichés

État Affichage
Démarrage Animation de boot (spinner)
En attente de configuration WiFi « Config WiFi… » (orange)
Connexion en cours Nom du réseau + points animés
Connecté « Connecté » + nom du réseau + barres de signal (3 s)
Attente de la première mesure Logo ModuleAir
Fonctionnement normal Rotation des polluants (5 s/écran) + logos
WiFi perdu « WiFi déconnecté » jusqu'à reconnexion
Mise à jour OTA Écran de progression dédié

Le badge de connectivité

En haut à droite de chaque écran de mesure, un petit badge indique l'état de la connexion. En arrière-plan, le capteur teste son lien toutes les 15 secondes, en trois étapes successives :

  1. WiFi — le capteur est-il associé à votre box ?
  2. Internet — l'accès à internet fonctionne-t-il ? (test direct vers une IP publique, sans dépendre du DNS)
  3. Serveur AirCarto — le serveur qui reçoit les mesures répond-il ?

Le badge résume ce diagnostic d'un coup d'œil :

Badge État Signification
(rien) Hors-ligne Pas de connexion WiFi du tout. À reconfigurer (portail WiFi ou Bluetooth).
Badge en ligne : logo WiFi bleu En ligne WiFi + internet + serveur AirCarto : tout est OK, les mesures remontent normalement.
Badge sans internet : flèches haut et bas rouges Pas d'internet Le capteur est sur le WiFi, mais aucun accès internet. Côté box / fournisseur d'accès.
Badge serveur injoignable : flèche haut rouge, flèche bas verte Serveur injoignable Internet fonctionne, mais le serveur AirCarto ne répond pas. Rien à faire de votre côté.

Comment lire les icônes

  • Logo WiFi (bleu) — apparaît quand tout fonctionne : c'est l'état normal. Le capteur est connecté et envoie ses mesures.
  • Dès qu'il y a un problème, le logo WiFi laisse place à deux flèches qui montrent ça coince :
    • Flèche du haut ↑ = l'envoi des mesures vers le serveur AirCarto (montée).
    • Flèche du bas ↓ = l'accès à internet en général (descente).
  • La couleur de chaque flèche dit si cette direction marche :
    • 🟢 Verte = ce lien fonctionne · 🔴 Rouge = ce lien est coupé.

Concrètement :

  • ↑ rouge + ↓ rouge → rien ne passe dans aucun sens : pas d'internet (le WiFi est là, mais la box n'a pas internet).
  • ↑ rouge + ↓ verte → internet marche (↓ verte) mais l'envoi au serveur échoue (↑ rouge) : c'est le serveur AirCarto qui est en cause, pas votre WiFi.

Hors ligne, le capteur continue de mesurer

Même sans internet, l'écran continue d'afficher les mesures en direct. Seul l'historique en ligne sur monmoduleair.fr est suspendu tant que la connexion n'est pas rétablie.

Seuils de couleur

Les couleurs affichées à l'écran suivent ces seuils. Pour chaque polluant, voici le tableau des niveaux et l'écran tel qu'il s'affiche à chaque niveau (les seuils CO₂ sont éditables depuis le dashboard) :

Aperçus générés à partir des polices et de la mise en page exactes du firmware (matrice 64 × 32 pixels).

Particules de diamètre < 1 µm.

PM1 (µg/m³) Niveau Couleur
< 10 Bon 🟢 Vert
10 – 20 Moyen 🟡 Jaune
20 – 50 Dégradé 🟠 Orange
≥ 50 Mauvais 🔴 Rouge

Écran PM1 niveau bon (vert)
Bon · < 10
Écran PM1 niveau moyen (jaune)
Moyen · 10–20
Écran PM1 niveau dégradé (orange)
Dégradé · 20–50
Écran PM1 niveau mauvais (rouge)
Mauvais · ≥ 50

Particules de diamètre < 2.5 µm (les plus surveillées sur le plan sanitaire).

PM2.5 (µg/m³) Niveau Couleur
< 10 Bon 🟢 Vert
10 – 20 Moyen 🟡 Jaune
20 – 50 Dégradé 🟠 Orange
≥ 50 Mauvais 🔴 Rouge

Écran PM2.5 niveau bon (vert)
Bon · < 10
Écran PM2.5 niveau moyen (jaune)
Moyen · 10–20
Écran PM2.5 niveau dégradé (orange)
Dégradé · 20–50
Écran PM2.5 niveau mauvais (rouge)
Mauvais · ≥ 50

Particules de diamètre < 10 µm.

PM10 (µg/m³) Niveau Couleur
< 15 Bon 🟢 Vert
15 – 30 Moyen 🟡 Jaune
30 – 75 Dégradé 🟠 Orange
≥ 75 Mauvais 🔴 Rouge

Écran PM10 niveau bon (vert)
Bon · < 15
Écran PM10 niveau moyen (jaune)
Moyen · 15–30
Écran PM10 niveau dégradé (orange)
Dégradé · 30–75
Écran PM10 niveau mauvais (rouge)
Mauvais · ≥ 75

CO₂ (ppm) — éditable Niveau Couleur
< 800 Bon 🟢 Vert
800 – 1500 Aérer SVP 🟡 Jaune
≥ 1500 Aérer SVP 🔴 Rouge

Écran CO₂ niveau bon (vert)
Bon · < 800
Écran CO₂ niveau aérer (jaune)
Aérer SVP · 800–1500
Écran CO₂ niveau aérer (rouge)
Aérer SVP · ≥ 1500

Au-delà de 800 ppm, le message affiché reste « Aérer SVP » : seule la couleur s'intensifie (jaune puis rouge) à mesure que l'air se confine. Les deux seuils (800 et 1500 ppm) sont réglables depuis le dashboard.

Ce ne sont pas des polluants, mais une zone de confort est signalée à l'écran.

Température (°C) Couleur Message
< 19 🔵 Bleu Froid
19 – 28 🟢 Vert OK
≥ 28 🔴 Rouge Chaud
Humidité (%) Couleur Message
< 40 🔴 Rouge Sec
40 – 60 🟢 Vert Idéal
≥ 60 🔴 Rouge Humide

Pour l'humidité, « Sec » comme « Humide » sont signalés en rouge : seule la zone idéale (40–60 %) est verte.

Mise à jour du firmware (OTA)

Le firmware du ModuleAir WiFi peut être mis à jour à distance (Over-The-Air), directement depuis le dashboard, sans aucun câble ni logiciel :

  1. Sur le dashboard, cliquez sur « Vérifier les mises à jour »
  2. Si une nouvelle version est disponible, confirmez la mise à jour
  3. Le capteur télécharge le firmware, l'installe et redémarre automatiquement

La mise à jour prend environ 30 secondes. La progression est affichée à la fois dans le navigateur et sur l'écran LED. Le dashboard redevient accessible une fois le capteur redémarré.

Pendant la mise à jour

Ne débranchez pas le capteur pendant le téléchargement et l'installation. En cas d'échec, le capteur conserve l'ancienne version et reste fonctionnel (protection anti-rollback).

Consulter les données

Le ModuleAir s'utilise de deux manières, selon qu'il dispose ou non d'un accès à internet.

Connecté à internet — l'historique sur monmoduleair.fr

Quand le capteur est connecté à un WiFi disposant d'un accès internet, il transmet ses mesures toutes les 60 secondes vers les serveurs AirCarto. Les données remontent alors dans le cloud, où elles sont historisées et consultables à distance, depuis n'importe où :

Consulter mes données sur monmoduleair.fr

C'est le mode d'usage normal : vous pouvez suivre l'évolution de la qualité de l'air sous forme de graphiques, sur la durée.

Hors ligne — l'affichage en direct sur l'écran

Sans accès internet, les données ne remontent pas vers le cloud (il n'y a donc pas d'historique en ligne), mais le capteur continue de mesurer : il affiche les valeurs en direct sur son écran LED. La qualité de l'air reste donc lisible en un coup d'œil, directement sur l'appareil.

Et le dashboard local ?

L'interface http://moduleair.local reste accessible tant que vous êtes sur le même réseau WiFi que le capteur : elle affiche les dernières mesures en temps réel et donne accès aux réglages. C'est surtout un outil de configuration et de contrôle, pas d'historique.

Format des données envoyées

Les mesures sont envoyées au format JSON, avec les codes ISO LCSQA :

Mesure Code ISO Unité
PM1.0 ISO_68 µg/m³
PM2.5 ISO_39 µg/m³
PM10 ISO_24 µg/m³
CO₂ ISO_17 ppm
Température ISO_54 °C
Humidité ISO_55 %
Pression ISO_53 hPa

Les champs de température, d'humidité et de pression ne sont présents que si la sonde optionnelle est installée.

Le capteur est identifié par son Device ID (AABBCCDDEEFF), dérivé de l'adresse MAC de l'ESP32.

Champs omis si capteur absent

Les champs d'une mesure (ISO_*) sont omis du JSON lorsque le capteur correspondant est absent ou en erreur. Les champs de diagnostic (error_flags, npm_status, device_status) sont toujours présents.

Exemple de payload JSON
{
  "device_id": "AABBCCDDEEFF",
  "signal_quality": -52,
  "signal_quality_unit": "-52 dB",
  "version": 1,
  "version_major": 0,
  "version_minor": 3,
  "version_patch": 1,
  "ISO_68": 3.2,
  "ISO_39": 5.1,
  "ISO_24": 7.8,
  "ISO_54": 22.3,
  "ISO_55": 45.2,
  "ISO_53": 1013.5,
  "ISO_17": 420,
  "error_flags": 0,
  "npm_status": 0,
  "device_status": 2
}
Champs de diagnostic (avancé)

error_flags — bitmask des capteurs en erreur :

Bit Valeur Capteur
2 0x04 BME280 (température / humidité / pression)
3 0x08 NextPM (particules fines)
7 0x80 MH-Z19C (CO₂)

Un capteur volontairement désactivé par l'utilisateur ne lève pas son bit d'erreur (ce n'est pas une panne).

npm_status — registre de statut interne du NextPM, transmis tel quel (0xFF = capteur muet / non lu).

device_status — bitmask d'état : bit 1 (0x02) = WiFi connecté ; bit 7 (0x80) = démarrage récent (uptime < 5 min).

Fichiers 3D

Le boîtier du ModuleAir est imprimable en 3D. Le fichier du corps principal est disponible au téléchargement (format STL, prêt à imprimer).

Corps du boîtier

Corps du boîtier ModuleAir WiFi — aperçu du fichier 3D

Télécharger le fichier STL

Documentation matérielle

Schématique

Schématique ModuleAir WiFi

Vue 3D du PCB

PCB 3D

Brochage (pinout) ESP32
Bus Capteur / fonction GPIO
UART1 (Modbus RTU) NextPM RX IO39 · TX IO32
UART2 MH-Z19C RX IO36 · TX IO27
I²C BME280 (sonde optionnelle) SDA IO21 · SCL IO22
HSPI + contrôle Écran HUB75 64×32 LAT IO25, A IO17, B IO33, C IO4, D IO12, E IO15, OE IO16

Alimentation : régulateur AMS1117-3.3 (5 V → 3.3 V), diode Schottky de protection. Boutons : BOOT, RST (reset), CALI (calibration). LED verte d'alimentation.

Firmware

Le firmware du ModuleAir est open source et développé par AirCarto.

Dépôt GitHub AirCarto

La version du firmware est affichée sur le dashboard (carte Système) et au démarrage sur le port série. Le projet suit le Semantic Versioning (MAJEUR.MINEUR.CORRECTIF).

Évolutions futures

Une intégration LoRaWAN (transmission longue portée sans WiFi) est à l'étude pour une future révision du PCB. Elle n'est pas disponible sur la version actuelle du ModuleAir WiFi.

Questions / Commentaires