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:
como alterar o diretório no cmd windows 10
- 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.
- Conexão com a 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 Terminal em 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 Fing aplicativo 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 efetuar 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 Terminal.
Isso começará a instalar o Mosquitto (corretor MQTT) e os serviços do cliente.sudo apt install mosquitto mosquitto-clients -y
- Após a instalação, habilite o serviço Mosquitto e verifique a versão do MQTT usando os seguintes comandos.008EFBDFFB34A48CCBBF8212A3C803CAD189488D
- Crie uma conta de usuário para permitir acesso remoto autenticado usando o seguinte comando.
Aqui tratamento é 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 true
pid_file /run/mosquitto/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
allow_anonymous false
listener 1883
password_file /etc/mosquitto/passwd - Reinicie o broker MQTT executando o seguinte comando.
sudo systemctl restart mosquitto
- 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 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.
como impedir que drones voem sobre sua casa
Para instalar o Node-RED, execute o seguinte comando na janela Terminal.
bash <(curl -sL https://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.
node-red admin init
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.
node-red restart
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.