docs(co2): ajouter ISO_17 (CO2, ppm) au protocole NebuleAir Pro 4G
- iso-pollutant-codes.md: code ISO_17 = CO2 (ppm), sentinelle 0xFFFF - udp-miotiq.md: ISO_17 consomme les 2 octets reserved (offset 81), trame inchangee a 83 octets, retrocompat (0 = anciens fw) - json-payload.md: tableau polluants, note sentinelle, exemple Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -65,6 +65,9 @@ Le mapping complet vit dans [`formats/iso-pollutant-codes.md`](iso-pollutant-cod
|
||||
| `ISO_21` | NH₃ | ppb |
|
||||
| `ISO_04` | CO | ppb |
|
||||
| `ISO_08` | O₃ | ppb |
|
||||
| `ISO_17` | CO₂ | ppm |
|
||||
|
||||
> **CO₂ (`ISO_17`)** : encodé en **ppm bruts** (`uint16`), pas en ppb comme les gaz traces. Comme ce champ vient d'un descripteur Miotiq `hex2dec` (non signé), il ne peut pas porter la sentinelle `-1` : un capteur sans CO₂ envoie `0xFFFF` (65535) — ou `0` sur les firmwares qui émettaient encore l'ancien bloc `reserved`. Le backend traite `ISO_17 ∈ {0, 65535}` comme « CO₂ non disponible ». Voir [`udp-miotiq.md`](udp-miotiq.md).
|
||||
|
||||
Les codes ISO vont théoriquement de `ISO_01` à `ISO_99`. Seuls les polluants effectivement mesurés par le capteur sont présents dans le JSON.
|
||||
|
||||
@@ -198,6 +201,7 @@ Enum extensible — de nouvelles valeurs peuvent être ajoutées (7, 8, …) san
|
||||
"signal_quality_unit": "-22 dB",
|
||||
"command": 0,
|
||||
"ISO_68": 0.8, "ISO_68_unit": "0,8 ugm3",
|
||||
"ISO_17": 437, "ISO_17_unit": "437 ppm",
|
||||
"ISO_54": 25.5, "ISO_54_unit": "25.5 °C",
|
||||
"noise_cur_leq": 25.5, "noise_cur_leq_unit": "25,5 dB",
|
||||
"noise_cur_level": 25.5, "noise_cur_unit": "25,5 dB",
|
||||
@@ -251,3 +255,4 @@ Enum extensible — de nouvelles valeurs peuvent être ajoutées (7, 8, …) san
|
||||
| 2026-04-23 | v2 | **Format officiel AirCarto 2026** : schéma plat, bitfields détaillés, compat firmware ancien. |
|
||||
| 2026-04-27 | v3 | Champ `version` (offset 9 du binaire, hardcodé `0x01` côté firmware) renommé `command` et réaffecté à un type de trame : `0x00` = données, `0x01` = ping test. Ajout de la section « Commande / type de trame ». Versioning protocole reste sur `version_major/minor/patch`. |
|
||||
| 2026-04-27 | v4 | Rétrocompatibilité : ping test déplacé de `0x01` vers `0x02`. Les firmwares déployés émettent déjà `0x01` (héritage de l'ancien champ `version`) ; les compter comme pings aurait masqué toutes leurs mesures. `0x00` et `0x01` sont désormais tous deux des trames de données normales, `0x02` est le déclencheur explicite du ping. |
|
||||
| 2026-06-01 | v5 | Ajout du CO₂ (`ISO_17`, ppm) au tableau des polluants et à l'exemple NebuleAir_Pro. Sentinelle « non disponible » = `0` ou `65535` (`0xFFFF`) car le champ vient d'un descripteur Miotiq `hex2dec` non signé (pas de `-1` possible). |
|
||||
|
||||
Reference in New Issue
Block a user