Broker MQTT com Raspberry Pi: Aprenda a montar o seu! - MakerHero
Monte um Broker MQTT Mosquitto com Raspberry Pi

Monte um Broker MQTT Mosquitto com Raspberry Pi Deixe um comentário

Um broker MQTT é essencial para gerenciar a comunicação entre dispositivos IoT, e uma Raspberry Pi pode facilmente assumir esse papel em projetos caseiros. Graças ao seu tamanho compacto, baixo consumo de energia e conectividade Wi-Fi, a Raspberry Pi é uma excelente opção para quem quer criar um broker MQTT local de forma prática e econômica.

Broker MQTT Mosquitto com Raspberry Pi

Neste post, você vai aprender como instalar o Mosquitto no sua Raspberry Pi e configurar um broker MQTT funcional, além de integrar um projeto prático para testar seu funcionamento.

O que é um Broker MQTT?

Um broker MQTT é o coração da comunicação no protocolo MQTT, funcionando como um servidor que envia, recebe e gerencia mensagens entre os dispositivos conectados, chamados de clientes MQTT. Em outras palavras, ele atua como uma “central de comunicação”, garantindo que cada dispositivo receba as informações corretas no momento certo.

O protocolo MQTT foi desenvolvido para ser leve, com baixo consumo de banda e eficiente mesmo em redes instáveis, tornando um broker MQTT ideal para projetos IoT de pequeno e médio porte. Por ser eficiente, ele pode rodar em uma Raspberry Pi, transformando-a em um servidor local confiável para seus dispositivos.

Broker MQTT Mosquitto com Raspberry Pi

Existem vários brokers MQTT disponíveis, mas neste post vamos focar no Mosquitto, um broker open-source mantido pela Eclipse Foundation. Ele é gratuito, confiável e amplamente utilizado tanto em projetos pessoais quanto profissionais.

Se você ainda não conhece o MQTT ou quer entender melhor como ele funciona, confira nosso post detalhado sobre O que é MQTT.

Por que usar Mosquitto como Broker MQTT?

O Mosquitto é uma das opções mais populares de broker MQTT, especialmente para quem deseja rodar um servidor local em uma Raspberry Pi. Ele combina simplicidade, leveza e confiabilidade, tornando-o ideal tanto para iniciantes quanto para projetos mais avançados.

Broker MQTT Mosquitto

Alguns motivos para escolher o Mosquitto como seu broker MQTT:

  • Open-source e gratuito: Mantido pela Eclipse Foundation, é uma solução de MQTT broker free (gratuito) confiável.
  • Leve e eficiente: Consome poucos recursos de CPU e memória, perfeito para placas pequenas como a Raspberry Pi.
  • Compatível com múltiplos clientes: Funciona com computadores, smartphones e dispositivos IoT de diferentes fabricantes.
  • Fácil de instalar e configurar: Em poucos comandos você terá um broker funcional rodando localmente.

Além disso, usar o Mosquitto como broker MQTT local permite que você controle melhor suas mensagens e dados, aumentando a segurança e a velocidade da comunicação em sua rede IoT, especialmente quando comparado a brokers públicos ou online.

Materiais necessários

Antes de começar a configurar seu broker MQTT no Raspberry Pi, você precisará dos seguintes itens:

Dica: Antes de prosseguir, certifique-se de que sua Raspberry Pi está totalmente operacional, com Raspberry Pi OS instalado e conectividade funcionando. Se você ainda não configurou sua Raspberry Pi, confira nosso guia passo a passo para a instalação do sistema operacional na Raspberry Pi.

Com esses materiais em mãos, você estará pronto para iniciar a instalação do Mosquitto e configurar seu broker MQTT local.

Instalação do Broker MQTT Mosquitto no Raspberry Pi

Instalar o Mosquitto em uma Raspberry Pi é simples, mas requer atenção a alguns detalhes para garantir que o broker funcione corretamente. Vamos detalhar todo o processo:

Passo 1: Atualizar o sistema

Antes de instalar qualquer pacote, é importante atualizar os repositórios e os pacotes já instalados. Abra o terminal da Raspberry Pi e execute os comandos:

Isso garante que seu sistema esteja com todas as atualizações mais recentes, evitando problemas durante a instalação do Mosquitto.

Passo 2: Instalar o Mosquitto

Com o sistema atualizado, instale o Mosquitto com o seguinte comando:

  • O pacote mosquitto instala o broker MQTT.
  • O pacote mosquitto-clients permite testar a publicação e assinatura de mensagens diretamente pelo terminal da Raspberry Pi.

Após a instalação, o Mosquitto já estará rodando como um serviço do sistema, iniciando automaticamente junto com a Raspberry Pi.

Passo 3: Configuração básica do Mosquitto

Por padrão, o Mosquitto permite conexões locais sem autenticação, o que é suficiente para testes e projetos em rede interna.

Se quiser, você pode editar o arquivo de configuração para alterar porta, habilitar autenticação ou configurar logs:

Para a maioria dos projetos domésticos, a configuração padrão já é suficiente.

Configuração do hostname do Raspberry Pi

Configurar um hostname na sua Raspberry Pi facilita a conexão de outros dispositivos ao broker MQTT, pois você poderá usar um nome amigável em vez de depender do endereço IP, que pode mudar devido ao DHCP.

Abra o terminal da Raspberry Pi e execute:

No menu que aparecer, vá até System Options e selecione Hostname. Digite um nome para a sua Raspberry Pi, sem espaços ou caracteres especiais. Exemplo: raspberrybroker

Confirme e saia do configurador, selecionando Finish. Reinicie a Raspberry Pi para aplicar a mudança:

Após o reboot, você pode testar a conexão a partir de outro dispositivo na mesma rede, usando o comando ping:

Ping broker

Se o ping responder, significa que o hostname foi configurado com sucesso e você poderá conectar seus clientes MQTT utilizando raspberrybroker.local como endereço do broker.

Testando o Broker MQTT com Raspberry Pi

Após instalar e configurar o Mosquitto e definir o hostname da Raspberry Pi, é hora de testar se o broker está funcionando corretamente. Para isso, você pode usar tanto o terminal da Raspberry Pi quanto aplicativos em computadores ou smartphones.

Testando pelo terminal da Raspberry Pi

Abra duas janelas do terminal. Na primeira janela, assine um tópico chamado teste:

Na segunda janela, publique uma mensagem nesse tópico:

Teste Mosquitto

Teste Mosquitto

Se a mensagem aparecer na primeira janela, significa que o broker MQTT está funcionando corretamente.

Testando com aplicativos em outros dispositivos

Você também pode testar usando um cliente MQTT no computador ou smartphone:

No cliente, configure:

  • Endereço do broker: raspberrybroker.local (ou o hostname que você configurou)
  • Porta: 1883 (porta padrão do Mosquitto)

MQTT Explorer

Depois, publique e faça subscribe em um tópico qualquer. Se as mensagens forem enviadas e recebidas corretamente, o broker MQTT local está pronto para uso.

MQTT Explorer

Integrando o projeto da Planta IoT ao Broker MQTT local

Uma das melhores formas de validar o funcionamento do seu broker MQTT é conectá-lo a um projeto real. Aqui vamos usar como exemplo o projeto da Planta IoT, que monitora a umidade do solo e envia os dados via MQTT.

No projeto original, as mensagens de umidade do solo são publicadas em um broker MQTT online, público na nuvem. No entanto, podemos mudar isso para que as informações sejam enviadas para o broker MQTT local rodando no seu Raspberry Pi.

No código do projeto, localize a linha onde está configurado o endereço do broker MQTT. Ela deve ser semelhante a:

Substitua pelo hostname que você configurou na Raspberry Pi:

Os benefícios de usar um broker local incluem:

  • Segurança: Apenas dispositivos na mesma rede terão acesso às mensagens.
  • Velocidade: A comunicação é mais rápida, pois não depende da internet.
  • Controle: Você tem total autonomia sobre onde e como os dados são armazenados.

Depois de alterar o código e carregar no microcontrolador, use um cliente MQTT para assinar o tópico onde a Planta IoT publica os dados. Você verá as mensagens de umidade chegando diretamente do seu broker MQTT local, confirmando a integração.

Aplicações de um Broker MQTT local

Ter um broker MQTT rodando localmente no seu Raspberry Pi abre diversas possibilidades para projetos de automação e monitoramento. Além de funcionar com a Planta IoT, você pode aplicá-lo em diferentes contextos:

Automação residencial

  • Centralizar a comunicação de dispositivos como sensores de temperatura, lâmpadas inteligentes e fechaduras eletrônicas.
  • Integrar com plataformas como Home Assistant ou Node-RED para criar rotinas automatizadas.

Sensoriamento em empresas

  • Monitorar temperatura, umidade, consumo de energia ou presença em ambientes de trabalho.
  • Garantir maior privacidade, já que os dados não saem da rede interna.

Automação comercial

  • Gerenciar sistemas de controle de estoque, câmeras de vigilância ou sensores de porta/caixa.
  • Permitir resposta rápida a eventos, sem depender da latência da internet.

Conclusão

Transformar um Raspberry Pi em um broker MQTT usando o Mosquitto é uma maneira simples, econômica e eficiente de gerenciar a comunicação entre dispositivos IoT. Com poucos comandos, você cria um servidor local capaz de integrar projetos como a Planta IoT, além de diversas aplicações em automação residencial, empresarial e comercial.

Embora serviços como o AWS MQTT Broker ofereçam soluções robustas e escaláveis na nuvem, um broker local pode ser mais vantajoso para aplicações que exigem baixa latência e controle total dos dados. Ao optar por um broker MQTT local, você ganha mais segurança, menor latência e controle total sobre seus dados. Isso torna a solução ideal não apenas para experimentos e protótipos, mas também para sistemas que exigem confiabilidade e privacidade.

Agora que você já sabe instalar e configurar o Mosquitto, experimente conectar outros dispositivos, explorar integrações com plataformas como Node-RED ou Home Assistant, e criar sua própria rede de dispositivos inteligentes.

Gostou do conteúdo? Compartilhe suas experiências nos comentários e mostre como você está usando o broker MQTT no seu Raspberry Pi! E não esqueça de conferir nosso Instagram!

Faça seu comentário

Acesse sua conta e participe