Node-RED: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 66: Linha 66:
:*Este processo '''funciona bem''' para as '''entradas digitais'''.  
:*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.
:*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==
==Referências==

Edição das 13h18min de 2 de junho de 2020

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
Instalação com Docker
Necessita instalação prévia do Docker [2].
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)