Mosquitto: Comprendere i topic MQTT

Questa documentazione fa parte della guida Iniziare. Consulta la guida completa qui: Come iniziare con Mosquitto.

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione Mosquitto MQTT cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Scambi e trasferimenti illimitati di messaggi.
  • Autenticazione illimitata dei dispositivi tramite un'API esterna.
  • ACL avanzate su argomenti, utenti e azioni.
  • Nome di dominio personalizzabile sicuro con HTTPS (ad esempio, https://mqtt.your-company.com).
  • Aggiornamenti semplificati con un solo clic.
  • Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.

Risparmiate tempo e semplificate la vostra vita: bastano 5 minuti per provare la soluzione Mosquitto MQTT cloud hosting di Stackhero!

MQTT organizza la comunicazione in "topic", che fungono da canali per pubblicare e sottoscrivere dati. I dispositivi pubblicano messaggi su topic specifici o si iscrivono a essi per ricevere aggiornamenti pertinenti.

I topic in MQTT sono case-sensitive, devono contenere caratteri UTF-8 e richiedono almeno un carattere. La gerarchia all'interno dei topic è definita utilizzando il carattere slash (/).

Ecco un esempio di configurazione per dispositivi IoT che raccolgono dati di temperatura e umidità, identificati dai loro indirizzi MAC:

  • Per un dispositivo con indirizzo MAC 00:00:00:00:00:00:

    • Temperatura: devices/00:00:00:00:00:00/temperature
    • Umidità: devices/00:00:00:00:00:00/humidity
  • Per un dispositivo con indirizzo MAC 11:11:11:11:11:11:

    • Temperatura: devices/11:11:11:11:11:11/temperature
    • Umidità: devices/11:11:11:11:11:11/humidity

Le applicazioni possono iscriversi a un topic specifico, come devices/00:00:00:00:00:00/temperature, per ricevere dati dal rispettivo dispositivo IoT.

MQTT supporta i caratteri jolly per una gestione efficiente dei topic:

  • Il carattere jolly + corrisponde a un singolo livello nella gerarchia dei topic. Ad esempio, iscriversi a devices/+/temperature cattura topic come devices/1/temperature ma non devices/1/2/temperature.

  • Il carattere jolly # corrisponde a più livelli. Ad esempio, devices/# corrisponde a topic come devices/1/temperature, devices/2/humidity e devices/1/2/somethingElse.