Como configurar um broker MQTT passo a passo

O MQTT, ou Message Queuing Telemetry Transport, é um protocolo de comunicação entre máquinas que permite a troca de mensagens e comandos entre dispositivos de forma segura e simples. É um protocolo padrão e muito utilizado na comunicação entre máquinas. Outra área também onde se torna muito presente é para conectividade de IoT (Internet of Things). Ele surgiu nos anos 90 para substituir o HTTP que, apesar de muito famoso mundialmente, possuía diversos problemas com segurança e confiabilidade.  

Neste blog você irá entender o que é o protocolo, como ele funciona e como instalá-lo da melhor forma.   

Como funciona a comunicação em um protocolo MQTT  

Em um Protocolo MQTT, a publicação e o recebimento de dados são realizados através de um tipo de servidor chamado de Broker.  

Toda a comunicação se dá através de tópicos, que é o local ou endereço para qual a mensagem será encaminhada. Os dispositivos que enviam mensagens são os publishers, que publicam nesses tópicos. Já os dispositivos que desejam receber essas mensagens se inscrevem neste endereço e são chamados de subscribers.  

Assim, sempre que um dispositivo publica uma mensagem em um tópico, todos os que estão seguindo esse tópico recebem a mensagem. O Broker apenas faz essa conexão entre quem pública e quem está interessado, ele não altera nem armazena a informação, só encaminha. 

Essa forma de comunicação é simples, rápida e muito eficiente, ideal para aplicações com sensores, automação industrial, ou dispositivos conectados na internet (IoT). 

Os tipos de brokers mais utilizados são os Mosquitto, EMQX, HiveMQ e VerneMQ.  

Pré-requisitos   

Antes de iniciar a configuração de um broker MQTT, é importante garantir que alguns pré-requisitos estejam atendidos.  

Você precisará de um ambiente com acesso administrativo ao sistema operacional, seja ele Linux, Windows ou outro, para realizar a instalação e configuração dos serviços. Além disso, é essencial que o equipamento ou servidor tenha conexão estável com a rede, já que o broker será responsável por gerenciar as comunicações entre clientes e dispositivos.  

Para ambientes de produção, recomenda-se também uma infraestrutura mínima com bom desempenho de processamento e memória, especialmente se o broker for responsável por um grande volume de conexões simultâneas. 

Instalação passo a passo 

Com os pré-requisitos em mãos, é hora de partir para a configuração do broker MQTT. Neste guia, utilizaremos o Mosquitto, um dos brokers MQTT mais populares e amplamente adotados no mercado como exemplo prático.  

O processo inclui etapas essenciais como instalação do broker, ajustes de configuração básica (porta de comunicação, autenticação de usuários e permissões de acesso), além de configurações de segurança utilizando criptografia TLS/SSL. 

Também vamos mostrar como realizar testes de publicação e assinatura de mensagens para garantir que o broker esteja funcionando corretamente.  

Por fim, abordaremos como monitorar logs e acompanhar o status das conexões para manter a operação segura e eficiente. 

No Linux (Ubuntu/Debian), abra o terminal e execute os seguintes comandos: 

sudo apt update 

sudo apt install mosquitto mosquitto-clients 

No Windows, acesse o site oficial do Mosquitto (https://mosquitto.org/download/) e baixe o instalador compatível com sua versão do sistema operacional. Siga as instruções do assistente de instalação. 

Após a instalação, é possível ajustar o arquivo de configuração principal, geralmente localizado em /etc/mosquitto/mosquitto.conf (Linux) ou na pasta de instalação (Windows). 

Os principais ajustes incluem: 

  • Porta de comunicação: A padrão é 1883 para conexões sem TLS; 
  • Criação de usuários e senhas: Para habilitar autenticação, crie um arquivo de senhas com o comando: 

sudo mosquitto_passwd -c /etc/mosquitto/passwd usuario 

Depois, adicione a configuração no arquivo .conf: 

allow_anonymous false 

password_file /etc/mosquitto/passwd 

  • Controle de acesso (ACL): Define quem pode publicar ou assinar tópicos específicos. 

Para ambientes de produção, recomenda-se habilitar a comunicação criptografada. Isso garante que os dados transmitidos não sejam interceptados por terceiros. Para isso, é necessário: 

  • Gerar um certificado digital (ou adquirir de uma autoridade certificadora); 
  • Adicionar as linhas abaixo no arquivo mosquitto.conf: 

listener 8883 

cafile /etc/mosquitto/certs/ca.crt 

certfile /etc/mosquitto/certs/server.crt 

keyfile /etc/mosquitto/certs/server.key 

A porta 8883 é padrão para conexões MQTT seguras. 

Com o broker configurado e em execução, você pode testar a comunicação utilizando os clientes MQTT: 

Para publicar uma mensagem: 

mosquitto_pub -h localhost -t “teste/topico” -m “Olá, MQTT!” 

Importante 

Esse teste deve ser feito no mesmo computador com duas instâncias do terminal aberta, justamente por estar utilizando o -h (host) como localhost. Ou seja, apenas a máquina vai conseguir se comunicar com ela mesma.  

Para que outros dispositivos conectados na mesma rede se comuniquem com o broker, deve-se adicionar no arquivo “mosquitto.conf” o seguinte código:  

listener 1883 

Ao incluir o código irá abrir a porta de comunicação para que qualquer dispositivo com IP válido na rede consiga se conectar no broker. Feito isso, deve rodar no terminal o seguinte código:  

mosquitto -c “Local\de\caminho\do\mosquitto.conf” -v  

Deve especificar o local de caminho do arquivo mosquitto.conf para rodar com as configurações feitas. 

Feito isso, o broker vai rodar e todo e qualquer dispositivo que estiver na mesma rede vai conseguir se conectar usando o IP do computador (caso a rede não esteja com a porta bloqueada por firewall).  

Para assinar um tópico: 

mosquitto_sub -h localhost -t “teste/topico” 

Se a configuração estiver correta, ao publicar a mensagem, ela aparecerá imediatamente no terminal do cliente que estiver assinado ao tópico. 

Por fim, acompanhe os registros de operação do broker para garantir que tudo está funcionando corretamente. No Linux, você pode acessar os logs em: 

tail -f /var/log/mosquitto/mosquitto.log 

Essa prática ajuda a identificar problemas de conexão, erros de autenticação e comportamento dos clientes conectados. 

A importância de uma boa configuração  

A configuração correta de um broker MQTT é fundamental para garantir um fluxo de dados seguro, eficiente e estável em aplicações de comunicação industrial, IoT e automação. Como vimos ao longo deste conteúdo, com poucos passos é possível instalar e configurar um broker como o Mosquitto, habilitar autenticação, aplicar criptografia e monitorar as conexões de forma prática.  

Ao investir tempo na configuração adequada e na adoção de boas práticas, como controle de acesso e monitoramento de logs, sua operação estará preparada para suportar um grande volume de mensagens e garantir a integridade e confiabilidade das informações transmitidas. 

Se sua empresa trabalha com monitoramento contínuo de temperatura e umidade, integração de sensores ou comunicação de dados críticos, dominar o funcionamento do MQTT e manter um broker bem configurado pode fazer toda a diferença para a segurança e eficiência dos seus processos. 

Se ainda tiver dúvidas sobre as configurações, fale com o suporte da NOVUS e saiba como implementar um sistema completo de monitoramento integrado ao seu broker MQTT.