# 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` : `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.