Today these 3 fields appear in the JSON final but are absent from the 83B descriptor. The 11-byte 'reserved' block has room for all three (4+4+1=9). TODO section now proposes concrete encoding lines: 8|latitude|hex2dec|degrees|x/1000000| 8|longitude|hex2dec|degrees|x/1000000| 2|misc|hex2dec||| ...with an open question on whether Miotiq hex2dec supports signed ints, and a note to keep 2 bytes reserved for future growth.
aircarto-protocols
Documentation de référence pour tous les capteurs AirCarto : protocoles de communication (UART, I2C, UDP, HTTP, MQTT…), formats de données, parsers et conventions.
Public visé — chaque projet firmware ou backend AirCarto consomme cette doc pour intégrer la logique commune (dialogue capteur, format d'envoi, parsing côté serveur) sans réinventer ni diverger.
Structure
aircarto-protocols/
├── CONVENTIONS.md Nommage, versioning, style doc
├── formats/ Formats d'échange de données
│ ├── json-payload.md Format JSON canonique des mesures
│ ├── iso-pollutant-codes.md Mapping ISO_XX → polluant / grandeur
│ └── mqtt.md Topics et conventions MQTT
├── sensors/ Un fichier par capteur
│ ├── _TEMPLATE.md Gabarit à copier pour tout nouveau capteur
│ └── nextpm.md NextPM (Tera Sensor) — UART
└── parsers/ Parsers côté serveur / passerelle
└── udp-miotiq.md Webhook Miotiq (UDP → HTTPS JSON)
Index des capteurs
| Capteur | Interface | Doc | État |
|---|---|---|---|
| NextPM | UART | sensors/nextpm.md | Complet |
Index des parsers
| Nom | Transport | Doc | État |
|---|---|---|---|
| UDP Miotiq | UDP → HTTPS JSON | parsers/udp-miotiq.md | Descripteur NebuleAir Pro 4G + legacy MobileAir |
Comment ajouter une entrée
- Nouveau capteur : copier
sensors/_TEMPLATE.mdverssensors/<nom>.md, remplir les sections, mettre à jour l'index ci-dessus. - Nouveau format / parser : créer le fichier sous
formats/ouparsers/, mettre à jour l'index. - Voir CONVENTIONS.md pour le style et le nommage.
Pourquoi ce repo
Avant : chaque firmware AirCarto (NebuleAir, ModuleAir, MobileAir…) redéfinissait ses trames et son format JSON dans son coin. Les parsers côté serveur (data.mobileair.fr/udp_miotiq_*.php, gestion.aircarto.fr) devaient suivre. Résultat : dérives silencieuses entre capteurs, bugs d'intégration.
Ici on centralise la spécification :
- Capteur → Miotiq : payload UDP binaire, décodé côté Miotiq via un descripteur (
parsers/udp-miotiq.md). - Miotiq → serveur AirCarto : JSON canonique 2026 (
formats/json-payload.md) posté surapi.aircarto.com/receive_data. - Vocabulaire polluants : codes ISO LCSQA (
formats/iso-pollutant-codes.md). - Capteurs physiques : docs individuelles sous
sensors/(protocole UART/I2C, câblage, commandes).
Le code de référence reste dans les repos des projets (firmwares, backends) ; ce repo décrit ce qui est attendu sur le fil.