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-lhe um ambiente Mosquitto MQTT cloud totalmente gerido, concebido para garantir fiabilidade e flexibilidade:

  • Débito ilimitado de mensagens e transferências de dados, para que os seus workflows nunca encontrem limites artificiais.
  • Autenticação ilimitada de dispositivos através da sua própria API externa, facilitando o onboarding e a gestão de acessos.
  • ACLs avançadas para controlo detalhado sobre tópicos, utilizadores e ações.
  • Um domínio personalizado com HTTPS integrado para endpoints seguros e com a sua marca (por exemplo: https://mqtt.sua-empresa.com).
  • Atualizações sem complicações: aplique melhorias ou patches de segurança com um simples clique.
  • Desempenho consistente e segurança reforçada, com cada instância a funcionar numa infraestrutura privada e dedicada.

Acelere os seus projetos IoT e reduza o esforço operacional. Pode ter uma instância Mosquitto MQTT cloud hosting segura e pronta para produção em apenas alguns minutos.

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.

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
  • 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

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.

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, subscrever devices/+/temperature captura tópicos como devices/1/temperature, mas não devices/1/2/temperature.

  • O wildcard # corresponde a múltiplos níveis. Por exemplo, devices/# corresponde a tópicos como devices/1/temperature, devices/2/humidity e devices/1/2/somethingElse.