Node-RED Laboratorios: MQTT

De Wiki Cursos IFPR Foz
Revisão de 19h05min de 23 de novembro de 2021 por Root (discussão | contribs) (Criou página com '=Node-RED: Laboratórios com comunicação MQTT= ==Node-RED e Arduino via brocker Moquitto == Veja exemplo descrito em MQTT e Arduino. ;Programação em blocos no Node-...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegaçãoIr para pesquisar

Node-RED: Laboratórios com comunicação MQTT

Node-RED e Arduino via brocker Moquitto

Veja exemplo descrito em MQTT e Arduino.

Programação em blocos no Node-RED

Node-RED e ESP8266 via brocker Moquitto

Veja exemplo descrito em MQTT e ESP8266.

Programação em blocos no Node-RED

Node-RED e Firebase

Permite a interação do Node-RED com a plataforma de computação em nuvem Firebase mantida pela Google. Para tal o módulo correspondente deve ser instalado no Node-RED:

node-red-contrib-firebase

Dados manuseados pelo Node-RED podem ser salvos no Firebase Realtime database, o qual implementa um banco de dados NoSQL que fornece as aplicações clientes atualizações em tempo real (“realtimeupdates) quando os dados mudam na base de dados. As operações básicas no banco de dados são:

  • set() - Salva dado em uma referência específica, substituindo o valor anterior.
  • push() - Adiciona dado em uma lista de valores.
  • once() - Lê dado de uma referência e acompanha qualquer mudança no mesmo.

O nó firebase modify permite modificar ou adicionar dados no banco de dados do Firebase.

Exemplos de uso

Node-RED e Raspberry Pi

Com um Raspberry Pi rodando o Node-RED e fácil de interagir com sensores e atuadores conectados as portas GPIO através da Web.

Este laboratório foi inspirado no post [1], que mostra coletar dados de umidade e temperatura através do sensor DHT11 conectados a um Raspberry Pi através do Node-RED.

Instalação do Node-RED
Pode ser instalado diretamente pela interface gráfica do Raspberry Pi no caminho:
Preferências/Recommended Software/Programming/Node-RED
ou via terminal de comandos, como sugerido em [2]
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
este comando instala o Node.js, npm e Node-RED no Raspberry Pi e também pode ser usado para realizar a atualização de uma instalação existente.
Inicialização do Node-RED
O Node-RED é iniciado no Raspberry Pi diretamente pelo terminal com o comando:
node-red-start
e pode ser parado com CTRL-C.
Acesso via Web do Node-RED
Através de um navegador pode-se acessar diretamente o Node-RED rodando no Raspberry Pi através da URL:
<Endereço IP>:1880

Acionamento de led

Hardware
  • Para acionamento de um led, ou outro dispositivo comandado por saída digital, conectar o dispositivo na porta GPIO escolhida, utilizando um resistor limitador de corrente no caso do led.
Node-RED
  • Utilizar blocos inject para enviar os comandos ao led, um configurado para enviar o comando numérico 0 e o outro 1, pois as saídas digitais aceitam somente comandos numéricos 0 e 1.
  • Conectar ambos os blocos inject em um bloco rpi gpio out e configurar com a porta na qual o led for conectado.

Sensor de temperatura e umidade DHT22

Hardware
  • Conectar os pinos do sensor DHT22 ao Raspberry Pi conforme a figura. Conectar um resistor de 10 KΩ entre a saída de dados do sensor e a alimentação 5 V (resistor pull up).
            ________
           |        |
           | DHT 22 | 
           |________|
             | | | |
   (5 V) ----+ |   +---- (terra)
               +---(gpio)
Node-RED
  • Instalar blocos para interação com sensor DHT22: Manage Palette/Install
node-red-contrib-dht-sensor
  • Utilizar um bloco inject configurado para enviar timestamp em intervalos de 15 segundos ao sensor.
  • Conectar a saída do bloco inject a um bloco rpi dht22 e configurar com a porta na qual o sensor for conectado.
  • Conectar a saída do bloco rpi dht22 a um bloco debug para acompanhar as informações enviadas pelo sensor.

Programação em blocos no Node-RED

Referências


Root (discussão) 16h05min de 23 de novembro de 2021 (-03)