chore: initial skeleton — NextPM sensor, JSON format, Miotiq UDP parser

This commit is contained in:
2026-04-23 00:36:19 +02:00
commit 278775e7e8
8 changed files with 649 additions and 0 deletions

38
formats/mqtt.md Normal file
View File

@@ -0,0 +1,38 @@
# MQTT — conventions
> **Statut** : squelette. À compléter au premier déploiement MQTT AirCarto.
## Broker
- À définir : URL, port (1883 / 8883 TLS), credentials.
## Topics
Convention proposée :
```
aircarto/<projet>/<token>/<canal>
```
- `projet` : `nebuleair`, `moduleair`, `mobileair`, …
- `token` : identifiant unique du capteur.
- `canal` :
- `telemetry` : mesures périodiques (publish capteur → broker), payload JSON conforme à [`json-payload.md`](json-payload.md).
- `status` : en ligne / hors ligne, version firmware (retain, LWT).
- `cmd` : commandes broker → capteur (ex. reboot, changer la fréquence).
- `ack` : accusés capteur → broker.
Exemple : `aircarto/nebuleair/001/telemetry`.
## QoS et retain
- `telemetry` : **QoS 0** (fire-and-forget, InfluxDB tolère les pertes occasionnelles).
- `status` : **QoS 1** + **retain = true** + LWT pour détecter les déconnexions.
- `cmd` : **QoS 1**, pas de retain.
## À faire
- [ ] Nommer le broker de référence (Mosquitto ? HiveMQ ? EMQX ?).
- [ ] Documenter l'authentification (username+password, certificats ?).
- [ ] Schéma exact des payloads `status` et `cmd`.
- [ ] Exemple de wildcard subscription côté backend.