Node-RED
De Wiki Cursos IFPR Foz
Node-RED
O Node-RED é uma ferramenta de programação Low Code, voltada para Internet das Coisas, que permite interligar dispositivos físicos, ambientes de desenvolvimento de software e serviços em nuvem.
Site: knolleary: Words and things by Nick O'Leary
Instalação
- Instalação no Ubuntu
- Instalando com npm (comando do node.js)[1]
sudo npm install -g --unsafe-perm node-red
docker run -it -p 1880:1880 --name mynodered nodered/node-red
- Detalhando o comando [2]:
docker run - run this container... initially building locally if necessary -it - attach a terminal session so we can see what is going on -p 1880:1880 - connect local port 1880 to the exposed internal port 1880 --name mynodered - give this machine a friendly local name nodered/node-red - the image to base it one
- Navegar normalmente:
http://{host-ip}:1880
- Para sair do terminal Docker:
Ctrl-p Ctrl-q - the container will keep running in the background.
- Voltar ao terminal:
docker attach mynodered
- Parar o contêiner com Node-Red
docker stop mynodered
- Reiniciar o contêiner:
docker start mynodered
Instalação de módulos no node-red
- Menu
Manage palette -> Install -> Search
- Módulos sugeridos para instalação para trabalho com IoT
Arduino -> node-red-node-arduino Firebase -> node-red-contrib-firebase Mosca -> node-red-contrib-mqtt-broker
Interação do Node_RED e Arduino
O Node-RED se comunica com o Arduíno através da serial USB utilizando o protocolo Firmata [3].
Para interação com Arduíno o módulo correspondente deve ser instalado no Node-RED:
node-red-node-arduino
A biblioteca Firmata deve ser instalada no Arduíno e deve ser carregado o sketch StandardFirmata.
- Capacidades
- O Arduíno suporta os seguintes modos de operação:
- Entradas e saídas digitais: Valores 0 ou 1
- Entradas analógicas: Valores 0 a 1023
- Saídas PWM (analógica): Valores 0 a 255
- Saídas servo: 0 a 180
Nós: arduino in / arduino out
No Node-RED os nós arduino in e arduino out permitem interação com um Arduíno conectado a serial e rodando o sketch StandardFirmata.
- arduino in
- Permite selecionar entradas digitais ou analógicas. Os valores são lidos em msg.payload e o número do pino como msg.topic.
- Quando uma entrada do Arduíno é modificada o Node-RED é imediatamente notificado.
- Este processo funciona bem para as entradas digitais.
- Para as entradas analógicas podem ser obtidos muitos valores, os quais devem ser manuseados. Por exemplo, pode-se usar um atraso para ajustar um tempo de amostragem e descartar valores intermediários. Outra opção é utilizar um nó rbe (Report by Exception node) e configurar para reportar mudanças somente a partir de um dado montante de variação.
- arduino out
- Permite selecionar saídas digitais, analógicas (PWM) ou tipo servo. Espera valores numéricos inteiros em msg.payload para transferir ao Arduíno.
Referências
Evandro.cantu (discussão) 13h47min de 1 de junho de 2020 (-03)