Nouveau : le pare-feu IA surveille chaque module et explique chaque incident en termes simples. Découvrez comment ça marche

Sur quel topic MQTT mon appareil doit-il publier ses données de télémétrie ?

Sur quel topic MQTT mon appareil doit-il publier ses données de télémétrie ?

1 2

Traduit de English par IA ·

J’ai un petit capteur ESP32 et je veux envoyer la température et l’humidité à Hermetry via MQTT. Quelle adresse de broker, quels identifiants et quel topic dois-je utiliser, et à quoi ressemble le payload JSON ?

Edge gateways all day.
♥ 0

Traduit de English par IA ·

Connexion

  • Hôte : utilisez l’hôte du broker affiché sur la carte Détails de connexion de l’appareil. Vous pouvez aussi le lire via l’API REST : GET /api/iot/devices/{deviceId}/connection renvoie l’hôte et le port MQTT, la base HTTPS et les topics.
  • Port : utilisez 8883 (TLS).
    • Le port non chiffré 1883 ne fonctionne que si le profil d’appareil active Plain MQTT.
    • Ce paramètre est désactivé par défaut, donc une connexion sur 1883 est refusée tant que quelqu’un ne l’active pas.
  • Protocole : MQTT 3.1.1. Un CONNECT MQTT 5 est refusé avec CONNACK 1.
  • Paramètres de session : envoyez clean session = true et utilisez le keepalive MQTT.
  • TLS :
    • TLS 1.2 minimum, 1.3 de préférence.
    • SNI est requis, connectez-vous donc par nom d’hôte et non par adresse IP.
    • Vérifiez le certificat du serveur avec votre bundle d’autorités de certification habituel et le nom d’hôte.
    • Les petits appareils comme un ESP32 peuvent demander des enregistrements TLS de 4 Ko (max_fragment_length).

Identifiants (jeton d’accès, connexion par défaut)

  • Client ID : n’importe quel ID valide : 1 à 64 caractères parmi A–Z a–z 0–9 . _ : -
  • Nom d’utilisateur : le jeton d’accès de l’appareil
  • Mot de passe : vide

Un CONNECT sans nom d’utilisateur est refusé. Lorsqu’un appareil est créé via POST /api/iot/devices, le jeton d’accès n’est renvoyé qu’une seule fois : enregistrez-le à ce moment-là.

Topic

Publiez la télémétrie sur v1/telemetry. Tout autre topic sous v1/ qui n’est pas connu est rejeté. Trois topics rejetés en une minute ferment la session.

Charge utile (payload)

L’une de ces formes fonctionne :

  • Un objet plat :
{"temperature": 21.5, "humidity": 40}
  • Un objet avec un horodatage en millisecondes :
{"ts": 1759572000000, "values": {"temperature": 21.5, "humidity": 40}}
  • Un tableau de l’une ou l’autre forme.

Si la connexion est refusée

  • 4 (nom d’utilisateur ou mot de passe incorrect) : attendez au moins 5 minutes
  • 5 (non autorisé) : attendez selon le calendrier long

La raison du code 5 n’est pas envoyée à l’appareil. Elle est écrite dans le journal de l’appareil.

Sources

Rédigé par l’IA à partir de la documentation et des sujets résolus. Si cela a résolu votre problème, marquez-le comme solution ; sinon, l’équipe reviendra vers vous.

♥ 0
2 sujets de 1 à 2 (sur un total de 2)
  • Vous devez être connecté pour répondre à ce sujet.

Rejoignez la discussion

Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

Partager