Files
aircarto-protocols/formats/iso-pollutant-codes.md
Paul Vuarambon 7f8d6a21e9 docs(miotiq): Miotiq descriptor format as canonical parser + NebuleAir Pro 4G 83B descriptor
- Refactor parsers/udp-miotiq.md around the pipe-separated descriptor format used on Miotiq side.
- Document the full 83-byte NebuleAir Pro 4G descriptor (PM, gases, noise, weather, power, status).
- Keep legacy MobileAir 17B binary format for reference.
- Add formats/iso-pollutant-codes.md placeholder for AirCarto ISO 7168 code mapping.
- Open TODOs: flag W semantics, endianness, signed battery_current, MobileAir migration.
2026-04-23 00:46:35 +02:00

38 lines
2.8 KiB
Markdown

# Codes polluants ISO — convention AirCarto
Les descripteurs Miotiq (voir [`parsers/udp-miotiq.md`](../parsers/udp-miotiq.md)) utilisent des codes `ISO_XX` pour désigner les grandeurs physiques et polluants. Ces codes sont inspirés de la norme **ISO 7168-2** (échange de données de qualité de l'air) et du vocabulaire EIONET / Directive européenne 2008/50/CE, mais le mapping exact **est la convention AirCarto** — à verrouiller ici.
## Mapping
| Code | Grandeur / polluant | Unité de référence | Scale standard | Remarques |
|----------|---------------------|--------------------|----------------|-----------|
| `ISO_03` | *à confirmer* (gaz) | ppb | | Candidat : O₃ (ozone) |
| `ISO_04` | *à confirmer* (gaz) | ppb | | Candidat : NO₂ |
| `ISO_05` | *à confirmer* (gaz) | ppb | | Candidat : NO ou SO₂ |
| `ISO_08` | *à confirmer* (gaz) | ppb | | Candidat : CO |
| `ISO_21` | *à confirmer* (gaz) | ppb | | |
| `ISO_24` | PM2.5 | µg/m³ | x/10 | Poussières fines |
| `ISO_39` | PM10 | µg/m³ | x/10 | |
| `ISO_53` | Pression | hPa | | Pression atmosphérique |
| `ISO_54` | Température | °C | x/100 | |
| `ISO_55` | Humidité relative | % | x/100 | |
| `ISO_68` | PM1 | µg/m³ | x/10 | |
## Règles
- Un code ISO est **unique** au sein de l'écosystème AirCarto : pas de redéfinition par capteur.
- Un nouveau polluant / nouvelle grandeur suit la numérotation ISO 7168-2 si elle existe ; sinon on alloue le prochain code libre au-dessus de 100 et on le documente ici.
- Unité de référence : celle stockée dans InfluxDB (donc celle après application de `scale`). Les firmwares peuvent encoder à une précision différente, le `scale` ramène à l'unité finale.
## À faire
- [ ] Remplir les gaz `ISO_03`, `ISO_04`, `ISO_05`, `ISO_08`, `ISO_21` — les 5 gaz du NebuleAir Pro 4G.
- [ ] Vérifier que le mapping ci-dessus correspond bien à la norme ISO 7168-2 version utilisée en interne chez AirCarto.
- [ ] Ajouter les codes pour les grandeurs qui n'existent pas encore en ISO : bruit (`noise_cur_leq`, etc.), vent, batterie, solaire — ou laisser en noms `snake_case` non-ISO comme aujourd'hui dans le descripteur.
## Références
- ISO 7168-2:1999 — Air quality — Exchange of data, Part 2: Condensed data format.
- EIONET Air Quality data flow — https://www.eionet.europa.eu/
- Directive 2008/50/CE — annexe listant les codes polluants européens.