DRAFT — Preliminary version, do not share. · Version préliminaire, ne pas partager.

Envoyer la télémétrie, les états et les heartbeats

Cette page vous montre comment un appareil connecté publie ses trois types de données : la télémétrie, les états et les heartbeats. Elle indique le topic et un exemple de charge utile pour chacun.

Cycle de vie de l'appareil : une fois connecté, l'appareil publie la télémétrie, les états et les heartbeats

Avant de commencer

Données Topic Format Action de la plateforme
Télémétrie <prefix>/events ou <prefix>/events/<name> Quelconque (JSON, binaire, texte) La transmet telle quelle aux topics du registre
États <prefix>/states JSON Fundamentum Stocke les dernières valeurs de l'appareil
Heartbeat <prefix>/heartbeat JSON (ou protobuf pour les passerelles) Suit la connectivité et les redémarrages

1. Envoyer la télémétrie

La télémétrie correspond aux données de votre application. La plateforme ne l'analyse pas : publiez n'importe quel format, et elle parvient à vos topics telle quelle.

mosquitto_pub -V mqttv5 \
  -h mqtts.fundamentum-iot.com -p 8883 --cafile isrgrootx1.pem \
  -i "projects/<project-id>/regions/1/registries/<registry-id>/devices/<serial-number>" \
  -u unused -P "$JWT" \
  -t "registries/<registry-id>/devices/<serial-number>/events" \
  -m '{"temperature": 21.4, "door": "open"}'

Pour envoyer vers un topic nommé du registre, ajoutez son nom : <prefix>/events/<name>. Utilisez des topics nommés pour séparer les flux, par exemple les alarmes et les mesures. Voir Topics.

2. Envoyer les états

Les états décrivent la condition actuelle de l'appareil, comme le niveau de batterie ou la température. Publiez-les au format Fundamentum afin que la plateforme les stocke :

{
  "timestamp": 1789167823,
  "states": {
    "battery_level": 87,
    "temperature": 21.4
  }
}
Champ Type Description
timestamp Entier Heure Unix, en secondes, à laquelle les valeurs ont été lues
states Objet Paires clé-valeur des états de l'appareil
beacons Tableau Facultatif. États des balises à proximité ; voir Gateways and sub-devices

Publiez vers <prefix>/states. Une charge utile qui ne respecte pas ce format est acheminée, mais n'est pas stockée comme états.

3. Envoyer les heartbeats

Un heartbeat indique à la plateforme que l'appareil est actif. Envoyez-le à intervalle régulier ; le daemon Edge utilise par défaut un intervalle de 15 minutes.

{ "uptime": 86400 }

uptime est le nombre de secondes écoulées depuis le démarrage de l'appareil. Lorsque l'uptime diminue entre deux heartbeats, la plateforme enregistre un redémarrage.

Publiez vers <prefix>/heartbeat. Les passerelles qui signalent l'uptime des sous-appareils utilisent plutôt un heartbeat protobuf ; voir Gateways and sub-devices.

4. Vérifier les données

Choisir une qualité de service

Utilisez QoS 1 pour les données que vous ne pouvez pas vous permettre de perdre et QoS 0 pour les mesures fréquentes et remplaçables.

Étapes suivantes