O Messaging Queuing Telemetry Protocol, ou MQTT, é um protocolo de mensagens leve projetado para dispositivos e ambientes de baixa largura de banda. É uma solução rápida, fácil de implantar e com baixo consumo de energia para conectar e trocar informações entre vários dispositivos IoT. Requer um broker/servidor MQTT e o tópico no qual as mensagens são publicadas e assinadas pelos dispositivos ou usuários para enviar ou receber as informações.
Neste guia, implantaremos o corretor MQTT e a ferramenta Node-RED no Raspberry Pi para conectar dispositivos IoT inteligentes DIY habilitados para MQTT e usá-los para automação residencial.
Coisas que você vai precisar
Para construir e implantar um servidor MQTT com Node-RED, você precisará do seguinte:
- Um Raspberry Pi Zero W ou melhor. Recomendamos usar um Raspberry Pi 3 ou 4 (se disponível).
- Um cartão microSD (8 GB ou superior).
- Um leitor de cartão microSD.
- Um PC Linux, Mac ou Windows PC.
- Ligação à Internet (Wi-Fi).
Etapa 1: Instale o Raspberry Pi OS Lite (64 bits)
Você precisará da versão Lite de 64 bits do Raspberry Pi OS. No Raspberry Pi Imager ferramenta em outro computador, clique em Escolha o SO > Raspberry Pi OS (Outro), em seguida, selecione Raspberry Pi OS Lite (64 bits). Além disso, você desejará usar as configurações avançadas do Imager para habilitar o SSH (usamos pi e framboesa como nome de usuário e senha para este guia) e configure a conexão Wi-Fi. Para mais detalhes, confira nosso guia em como instalar um sistema operacional em um Raspberry Pi. Depois de gravar o sistema operacional no cartão, ejete-o e insira-o no Raspberry Pi.
Etapa 2: conectar-se por SSH e atualizar os pacotes
Você pode se conectar ao seu Raspberry Pi por SSH usando PuTTY no Windows ou Terminalon macOS e Linux. No entanto, você deve saber o IP do Raspberry Pi para se conectar por SSH. Para descobrir, você pode abrir as configurações de DHCP do seu roteador sem fio ou usar o Fingapp em seu smartphone.
Digite o endereço IP em PuTTY e clique Conectar. Digite seu nome de usuário e senha para fazer login.
No terminal Linux ou macOS, digite YourPiUsername@IPAddress e digite a senha para fazer login. Uma vez conectado via SSH, execute o seguinte comando para atualizar a lista de pacotes e atualizar os pacotes.
sudo apt update && sudo apt upgrade –y
Etapa 3: instalar o agente MQTT
Para instalar e ativar o broker MQTT (Mosquitto), execute as etapas a seguir.
- Instale o Mosquitto executando o seguinte comando na janela do Terminal.
Isso começará a instalar o Mosquitto (corretor MQTT) e os serviços do cliente.sudo apt instalar mosquitto mosquitto-clients -y
- Após a instalação, habilite o serviço Mosquitto e verifique a versão do MQTT usando os comandos a seguir.
sudosystemctlpermitirmosquito.serviço
mosquito -v - Crie uma conta de usuário para permitir acesso remoto autenticado usando o comando a seguir.
Aqui ravi é o nome de usuário (você pode usar o que quiser). Digite a senha quando solicitado. Anote este nome de usuário e senha para uso posterior.sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
- Abra o mosquitto.conf arquivo no editor nano usando o seguinte comando.
Cole o seguinte código no editor nano.sudo nano /etc/mosquitto.conf
Imprensa CTRL+X Seguido por S e Digitar para salvar as alterações.per_listener_settings verdadeiro
pid_file /run/mosquitto/mosquitto.pid
persistência verdadeiro
localização_persistência /var/lib/mosquitto/
arquivo log_dest /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
permitir_anônimo falso
ouvinte 1883
password_file /etc/mosquitto/passwd - Reinicie o broker MQTT executando o comando a seguir.
sudo systemctl reiniciar mosquito
- Verifique o status do broker MQTT para ver se o MQTT está em execução.
Se você vir a saída acima, o MQTT está em execução.sudo systemctl status mosquitto
Etapa 4: testar o corretor MQTT
Para testar se o broker MQTT está funcionando ou não, instale MQTTLens ou um aplicativo MQTT semelhante no Chrome ou em qualquer outro navegador da Web e inicie-o. Digite o endereço IP do Raspberry Pi e o nome de usuário/senha do MQTT. Clique Criar conexão.
Insira qualquer tópico no Se inscrever campo e o mesmo tópico no Publicar campo. Digite "Oi" ou qualquer coisa no campo de mensagem e clique Publicar.
Se você vir a mensagem nas assinaturas, o broker MQTT está funcionando bem.
Etapa 5: instalar o Node-RED
Com o Node-RED, você pode publicar mensagens ou enviar e receber cargas úteis de ou para seus dispositivos inteligentes. Essa carga útil pode ser usada para acionar dispositivos inteligentes para ligar/desligar ou receber dados (como temperatura) de um sensor. Você pode usar seu navegador da web para criar esses fluxos no Node-RED e controlar seus dispositivos inteligentes.
Para instalar o Node-RED, execute o seguinte comando na janela Terminal.
bash //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Isso fará o download e instalará o Node-RED no seu Raspberry Pi. Pode demorar um pouco para ser concluído. Depois que o Node-RED estiver instalado, você precisará criar um arquivo de configurações do Node-RED executando o seguinte comando.
inicialização do administrador do nó vermelho
Então siga estes passos:
- aperte o Digitar chave.
- Deseja configurar a segurança do usuário? Selecionar Sim. Digite um nome de usuário e uma senha. Mantenha-o seguro, pois isso será usado para fazer login e gerenciar o Node-RED por meio de uma interface da web.
- Escolher Acesso total.
- Você pode adicionar outro usuário ou selecionar Não para prosseguir.
- Selecionar Não quando solicitado a habilitar os recursos do projeto.
- Imprensa Digitar.
- Digite uma senha e mantenha-a segura.
- Escolha o Tema Padrão > Mônaco (padrão).
- Selecionar Não quando solicitado a carregar nós externos.
Feito isso, reinicie o Node-RED.
reinicialização do nó vermelho
Já pode visitar Seu-Framboesa-Pi-IP: 1880 em um navegador da Web para abrir e fazer login no painel de administração do Node-RED.
Agora você pode criar fluxos no Node-RED. Abaixo está um exemplo de um fluxo Node-RED que usamos para executar nosso display de matriz WS2812B 8x32 que mostra várias informações de sensores instalados em nossa casa em tempo real.
Para começar, você também pode construir um relógio inteligente DIY usando a matriz de pontos MAX7219, e conecte-o ao seu servidor MQTT para exibir texto ou mensagens nele.
Habilitar automação residencial usando MQTT e Node-RED
Agora você pode criar fluxos para controlar ou monitorar seus dispositivos domésticos inteligentes habilitados para MQTT. Você também pode construir interruptores inteligentes DIY Tasmota ou sensores inteligentes baseados em Arduino e outros dispositivos inteligentes com controle MQTT e usá-los com este servidor MQTT e Node-RED. Você pode criar fluxos para automação residencial com base em eventos, hora ou carga recebida do cliente MQTT do smartphone.
Em seu smartphone Android, você pode instalar o MQTT Dash para se conectar ao seu agente MQTT e enviar ou receber cargas úteis de ou para vários tópicos que seus dispositivos inteligentes assinam ou publicam.