Files
aircarto-protocols/formats/iso-pollutant-codes.md
Paul Vuarambon efd1aa438a docs: align with AirCarto 2026 JSON template + fix ISO mapping
formats/json-payload.md: full rewrite around the actual server-side template
  (endpoint api.aircarto.com/receive_data?device_type=<model>, flat schema,
  _unit suffix companions, -1 and 255 sentinel semantics, full bitfield
  tables for error_flags/npm_status/device_status, misc context codes).

formats/iso-pollutant-codes.md: fill in the LCSQA mapping. Fixes my earlier
  inversion — ISO_39=PM2.5 and ISO_24=PM10 (not the other way). Add gases:
  ISO_03=NO2, ISO_04=CO, ISO_05=H2S, ISO_08=O3, ISO_21=NH3.

parsers/udp-miotiq.md:
  - string base function outputs hex (not ASCII) — update description and
    generic Python parser accordingly.
  - Fix ISO_39/ISO_24 labels in NebuleAir Pro 4G byte layout.
  - Name the 5 gases by offset, cross-link bitfield docs and JSON canonical.
  - New TODO: origin of latitude/longitude/misc in final JSON (not in 83B
    descriptor).

README.md: reflect the new file layout and data flow summary.
2026-04-23 00:55:25 +02:00

3.2 KiB

Codes polluants ISO — convention AirCarto

Les descripteurs Miotiq (voir parsers/udp-miotiq.md) et le JSON canonique (voir json-payload.md) utilisent des codes ISO_XX pour désigner les polluants et grandeurs physiques. Ces codes suivent la nomenclature du LCSQA (Laboratoire Central de Surveillance de la Qualité de l'Air), basée sur la norme ISO 7168.

Les codes vont théoriquement de ISO_01 à ISO_99. Seuls ceux effectivement mesurés par au moins un capteur AirCarto sont documentés ici.

Mapping

Code Grandeur / polluant Unité de référence Equation descripteur Miotiq Remarques
ISO_03 NO₂ — dioxyde d'azote ppb
ISO_04 CO — monoxyde de carbone ppb
ISO_05 H₂S — sulfure d'hydrogène ppb
ISO_08 O₃ — ozone ppb
ISO_21 NH₃ — ammoniac ppb
ISO_24 PM10 µg/m³ x/10 Particules ≤ 10 µm
ISO_39 PM2.5 µg/m³ x/10 Particules fines ≤ 2.5 µm
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 Particules ultrafines ≤ 1 µm

Règles

  • Un code ISO est unique au sein de l'écosystème AirCarto : pas de redéfinition par capteur.
  • Pour ajouter un polluant :
    1. Chercher son code dans la nomenclature LCSQA / ISO 7168.
    2. S'il existe, ajouter la ligne ici avec l'unité de référence et l'équation standard.
    3. S'il n'existe pas, allouer le prochain code libre > 70 et documenter la décision en « À faire » ci-dessous.
  • Unité de référence = unité stockée en base (après application de l'équation du descripteur). Les firmwares peuvent encoder à une précision différente, l'équation ramène à l'unité finale.
  • Les grandeurs non-polluantes propres aux capteurs AirCarto (bruit, vent, batterie, solaire…) ne reçoivent pas de code ISO : elles gardent leur nom snake_case (wind_speed, battery_voltage, etc.). Seuls les polluants atmosphériques et paramètres ambiants standard utilisent ISO_XX.

Sources

  • LCSQA — nomenclature polluants : https://www.lcsqa.org/
  • ISO 7168-2:1999 — Air quality — Exchange of data, Part 2: Condensed data format.
  • Directive 2008/50/CE — codes polluants européens.