docs: add cellular data budget estimation vs Miotiq 1GB/10y quota

Breakdown per-transmission size (UDP+IP overhead + payload), daily/monthly/
yearly/10y consumption tables for both fixed (NebuleAir Pro 4G, 83B) and
mobile (MobileAir, 17B) modes at various transmission intervals, and a
with-signaling majorant (x1.5) for LTE-M worst case.

Recommended intervals: 5 min fixed (~12% budget) and 30s-in-motion mobile
(~16%), both leaving ample margin for descriptor growth and retries.

Flags scenarios that would exceed budget (fixed 30s continuous, mobile 10s
24/7) and lists TODOs around validating counting policy via Miotiq reports.
This commit is contained in:
2026-04-23 01:04:07 +02:00
parent 9d006ecf19
commit fee8b7dc15
2 changed files with 96 additions and 0 deletions

View File

@@ -9,6 +9,7 @@ Documentation de référence pour tous les capteurs AirCarto : protocoles de com
``` ```
aircarto-protocols/ aircarto-protocols/
├── CONVENTIONS.md Nommage, versioning, style doc ├── CONVENTIONS.md Nommage, versioning, style doc
├── data-budget.md Estimation conso cellulaire vs budget Miotiq 1 Go/10 ans
├── formats/ Formats d'échange de données ├── formats/ Formats d'échange de données
│ ├── json-payload.md Format JSON canonique des mesures │ ├── json-payload.md Format JSON canonique des mesures
│ ├── iso-pollutant-codes.md Mapping ISO_XX → polluant / grandeur │ ├── iso-pollutant-codes.md Mapping ISO_XX → polluant / grandeur

95
data-budget.md Normal file
View File

@@ -0,0 +1,95 @@
# Budget data cellulaire
Estimation de la consommation data des capteurs AirCarto sur le lien cellulaire Miotiq (LTE-M / NB-IoT).
## Contrainte
**1 carte SIM Miotiq = 1 Go sur 10 ans**, soit en moyenne :
| Horizon | Budget disponible |
|-----------------|-----------------------|
| 10 ans | **1 000 000 000 B** |
| 1 an | 100 000 000 B ≈ 100 Mo |
| 1 mois (≈30 j) | 8,22 Mo |
| 1 jour | 274 Ko |
| 1 minute | 190 B |
> 1 Go ici = 10⁹ octets (convention opérateur SI). Si Miotiq compte en binaire (1 Go = 2³⁰), on a +7 % de marge.
## Taille d'une transmission
Ce qui est facturé = **payload UDP + en-têtes UDP/IP**. Le signaling cellulaire (attach, TAU, PSM wake-up) est normalement à la charge de l'opérateur ; je le mentionne en scénario majorant.
| Composant | Octets |
|--------------------------------------------------------|------------|
| En-tête IPv4 | 20 |
| En-tête UDP | 8 |
| **Total overhead réseau** | **28** |
| Payload **fixe** — NebuleAir Pro 4G (descripteur 83 B) | 83 |
| Payload **mobile** — MobileAir (legacy 17 B) | 17 |
Taille totale sur le fil par transmission :
| Mode | Payload | + UDP/IP | **Total** | + 50 % signaling (majorant) |
|---------|---------|----------|------------|-----------------------------|
| Fixe | 83 B | 28 B | **111 B** | 167 B |
| Mobile | 17 B | 28 B | **45 B** | 68 B |
## Fixe — NebuleAir Pro 4G (111 B / transmission)
| Intervalle | Msg/jour | Jour | Mois | An | 10 ans | **% 1 Go** |
|-------------|----------|---------|---------|----------|----------|------------|
| 30 s | 2 880 | 320 Ko | 9,6 Mo | 117 Mo | 1,17 Go | **117 %** ⚠ dépasse |
| 1 min | 1 440 | 160 Ko | 4,8 Mo | 58 Mo | 584 Mo | 58 % |
| 5 min | 288 | 32 Ko | 960 Ko | 11,7 Mo | 117 Mo | 12 % |
| 10 min | 144 | 16 Ko | 480 Ko | 5,8 Mo | 58 Mo | 6 % |
| 15 min | 96 | 10,7 Ko | 320 Ko | 3,9 Mo | 39 Mo | 4 % |
| 1 h | 24 | 2,7 Ko | 80 Ko | 970 Ko | 9,7 Mo | 1 % |
**Recommandation fixe** : viser **5 minutes** comme intervalle standard → 12 % du budget sur 10 ans, large marge pour l'extension du descripteur (lat/lon/misc = +9 B payload = +8 % de conso) et pour les retries en cas de coupure réseau.
## Mobile — MobileAir (45 B / transmission)
Le mode mobile émet plus souvent (densité spatiale) mais idéalement seulement en déplacement.
| Scénario | Msg/jour | Jour | Mois | An | 10 ans | **% 1 Go** |
|---------------------------------------|----------|-------|---------|---------|---------|------------|
| 1 msg / 10 s, 2 h/jour (trajet vélo) | 720 | 32 Ko | 970 Ko | 11,8 Mo | 118 Mo | 12 % |
| 1 msg / 30 s, 8 h/jour (journée pro) | 960 | 43 Ko | 1,3 Mo | 15,8 Mo | 158 Mo | 16 % |
| 1 msg / 60 s, 24 h/24 | 1 440 | 65 Ko | 1,9 Mo | 23,7 Mo | 237 Mo | 24 % |
| 1 msg / 10 s, 24 h/24 | 8 640 | 389 Ko| 11,7 Mo | 142 Mo | 1,42 Go | **142 %** ⚠ dépasse |
| 1 msg / 5 s, 4 h/jour (mesure active) | 2 880 | 130 Ko| 3,9 Mo | 47 Mo | 473 Mo | 47 % |
**Recommandation mobile** : **1 msg / 30 s en déplacement**, mode veille hors déplacement → 16 % du budget sur 10 ans. Ça laisse de la marge pour les cas « mesure intensive » ponctuels.
## Avec majoration signaling cellulaire (×1,5)
Si l'opérateur comptabilise le signaling LTE-M (attach/PSM wake-up) — rare mais possible selon le plan Miotiq — multiplier toutes les colonnes par 1,5.
Résumé rapide à cette majoration :
- Fixe 5 min → 18 % du budget (au lieu de 12 %).
- Mobile 30 s × 8 h/jour → 24 % (au lieu de 16 %).
- Fixe 1 min → 87 % → **ça passe tout juste**, à éviter.
## Synthèse
| Mode | Intervalle recommandé | Conso 10 ans | Marge sur 1 Go |
|--------|-----------------------|--------------|----------------|
| Fixe | 5 min | ~120 Mo | ×8 |
| Mobile | 30 s en mouvement | ~160 Mo | ×6 |
Les deux scénarios recommandés tiennent très confortablement dans le budget de **1 Go / 10 ans par SIM**. On peut se permettre :
- des intervalles plus courts ponctuellement (campagne de mesure),
- l'extension future du descripteur NebuleAir Pro 4G (+9 B pour lat/lon/misc → +8 % côté fixe),
- des retries en cas de perte réseau.
**Ce qu'il faut éviter** :
- Fixe à 30 s en continu (dépasserait le budget).
- Mobile à 10 s en 24/7 (dépasserait aussi).
- Payloads plus gros que le descripteur actuel sans réviser l'intervalle.
## À faire
- [ ] Remplacer cette estimation par une **mesure réelle** à partir des rapports de conso Miotiq (API `/api/device/detail` renvoie des compteurs de volume ; cf. [`parsers/udp-miotiq.md`](parsers/udp-miotiq.md)).
- [ ] Vérifier la politique de comptage Miotiq exacte : payload UDP seul, UDP+IP, ou avec signaling ?
- [ ] Mettre à jour ce document quand MobileAir migrera vers un descripteur Miotiq (payload probablement > 17 B).