Instale um servidor MQTT e Node-RED no Raspberry Pi para automação residencial

Instale um servidor MQTT e Node-RED no Raspberry Pi para automação residencial

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.



  encontre o ip do seu framboesa através das configurações do roteador dhcp

Digite o endereço IP em PuTTY e clique Conectar . Digite seu nome de usuário e senha para fazer login.

  conectar-se ao raspberry pi por ssh

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.

  1. Instale o Mosquitto executando o seguinte comando na janela Terminal.
    sudo apt install mosquitto mosquitto-clients -y
      instalar servidor mosquitto mqtt Isso começará a instalar o Mosquitto (corretor MQTT) e os serviços do cliente.
  2. Após a instalação, habilite o serviço Mosquitto e verifique a versão do MQTT usando os seguintes comandos.008EFBDFFB34A48CCBBF8212A3C803CAD189488D   habilitar serviço de mosquito
  3. Crie uma conta de usuário para permitir acesso remoto autenticado usando o seguinte comando.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    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.
  4. Abra o mosquitto.conf arquivo no editor nano usando o seguinte comando.
    sudo nano /etc/mosquitto.conf
    Cole o seguinte código no editor nano.
    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
      edite o arquivo de configuração do mosquito Imprensa CTRL+X Seguido por S e Digitar para salvar as alterações.
  5. Reinicie o broker MQTT executando o seguinte comando.
    sudo systemctl restart mosquitto
  6. Verifique o status do broker MQTT para ver se o MQTT está em execução.
    sudo systemctl status mosquitto
      verifique o status do servidor mqtt Se você vir a saída acima, o MQTT está em execução.

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 .





  conecte-se ao servidor mqtt e envie mensagem ao tópico de teste para verificar se o mqtt broker está funcionando

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 .

  mensagens publicadas com sucesso indicando que o mqtt está funcionando

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)
  instale o nó vermelho

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:

  1. aperte o Digitar chave.
  2. 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.
  3. Escolher Acesso total .
  4. Você pode adicionar outro usuário ou selecionar Não para prosseguir.
  5. Selecionar Não quando solicitado a habilitar os recursos do projeto.
  6. Imprensa Digitar .
  7. Digite uma senha e mantenha-a segura.
  8. Escolha o Tema Padrão > Mônaco (padrão) .
  9. Selecionar Não quando solicitado a carregar nós externos.
  configurar a instalação do node red

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.

  nó de acesso vermelho no ip raspberry pi na porta 1880

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.

  fluxo vermelho do nó de amostra para exibir vários valores do sensor em exibição de matriz 8x32

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.