chore: initial skeleton — NextPM sensor, JSON format, Miotiq UDP parser
This commit is contained in:
38
formats/mqtt.md
Normal file
38
formats/mqtt.md
Normal 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.
|
||||
Reference in New Issue
Block a user