Mosquitto: Comprendre les topics MQTT

Cette documentation fait partie du guide Premiers pas. Consultez le guide complet ici : Comment débuter avec Mosquitto.

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution Mosquitto MQTT cloud prête à l'emploi offrant de nombreux avantages, notamment :

  • Échanges et transferts illimités de messages.
  • Authentification illimitée des appareils via une API externe.
  • ACLs avancées sur les topics, utilisateurs et actions.
  • Nom de domaine personnalisable sécurisé avec HTTPS (par exemple, https://mqtt.votre-entreprise.com).
  • Mises à jour simplifiées en un clic.
  • Performance optimale et sécurité robuste grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Mosquitto MQTT cloud hosting de Stackhero !

MQTT organise la communication en "topics", qui agissent comme des canaux pour publier et s'abonner aux données. Les appareils publient des messages sur des topics spécifiques ou s'y abonnent pour recevoir des mises à jour pertinentes.

Les topics dans MQTT sont sensibles à la casse, doivent contenir des caractères UTF-8 et nécessitent au moins un caractère. La hiérarchie au sein des topics est définie à l'aide du caractère slash (/).

Voici un exemple de configuration pour des appareils IoT collectant des données de température et d'humidité, identifiés par leurs adresses MAC :

  • Pour un appareil avec l'adresse MAC 00:00:00:00:00:00 :

    • Température : devices/00:00:00:00:00:00/temperature
    • Humidité : devices/00:00:00:00:00:00/humidity
  • Pour un appareil avec l'adresse MAC 11:11:11:11:11:11 :

    • Température : devices/11:11:11:11:11:11/temperature
    • Humidité : devices/11:11:11:11:11:11/humidity

Les applications peuvent s'abonner à un topic spécifique, tel que devices/00:00:00:00:00:00/temperature, pour recevoir des données de l'appareil IoT correspondant.

MQTT prend en charge les wildcards pour une gestion efficace des topics :

  • Le wildcard + correspond à un seul niveau dans la hiérarchie des topics. Par exemple, s'abonner à devices/+/temperature capture des topics comme devices/1/temperature mais pas devices/1/2/temperature.

  • Le wildcard # correspond à plusieurs niveaux. Par exemple, devices/# correspond à des topics tels que devices/1/temperature, devices/2/humidity et devices/1/2/somethingElse.