Mosquitto: Compreender os tópicos MQTT
Esta documentação faz parte do guia Introdução. Consulte o guia completo aqui: Como começar com o Mosquitto.
👋 Bem-vindo à documentação da Stackhero!
A Stackhero oferece uma solução Mosquitto MQTT cloud pronta a usar que proporciona uma série de benefícios, incluindo:
- Trocas e transferências de mensagens ilimitadas.
- Autenticação de dispositivos ilimitada via uma API externa.
- ACLs avançadas em tópicos, utilizadores e ações.
- Nome de domínio personalizável seguro com HTTPS (por exemplo, https://mqtt.sua-empresa.com).
- Atualizações simplificadas com apenas um clique.
- Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.
Poupe tempo e simplifique a sua vida: leva apenas 5 minutos para experimentar a solução de Mosquitto MQTT cloud hosting da Stackhero!
O MQTT organiza a comunicação em "tópicos", que atuam como canais para publicar e subscrever dados. Os dispositivos publicam mensagens em tópicos específicos ou subscrevem-nos para receber atualizações relevantes.
Estrutura dos tópicos MQTT
Os tópicos no MQTT são sensíveis a maiúsculas e minúsculas, devem conter caracteres UTF-8 e requerem pelo menos um carácter. A hierarquia dentro dos tópicos é definida usando o carácter barra (/).
Aqui está um exemplo de configuração para dispositivos IoT que recolhem dados de temperatura e humidade, identificados pelos seus endereços MAC:
-
Para um dispositivo com endereço MAC
00:00:00:00:00:00:- Temperatura:
devices/00:00:00:00:00:00/temperature - Humidade:
devices/00:00:00:00:00:00/humidity
- Temperatura:
-
Para um dispositivo com endereço MAC
11:11:11:11:11:11:- Temperatura:
devices/11:11:11:11:11:11/temperature - Humidade:
devices/11:11:11:11:11:11/humidity
- Temperatura:
As aplicações podem subscrever um tópico específico, como devices/00:00:00:00:00:00/temperature, para receber dados do respetivo dispositivo IoT.
Utilização de wildcards nos tópicos MQTT
O MQTT suporta wildcards para uma gestão eficiente dos tópicos:
-
O wildcard
+corresponde a um único nível na hierarquia dos tópicos. Por exemplo, subscreverdevices/+/temperaturecaptura tópicos comodevices/1/temperature, mas nãodevices/1/2/temperature. -
O wildcard
#corresponde a múltiplos níveis. Por exemplo,devices/#corresponde a tópicos comodevices/1/temperature,devices/2/humidityedevices/1/2/somethingElse.