Primeiros passos com o Node-RED e Arduino UNO 28

Para aqueles que não conhecem, o Node-RED consiste em uma ferramenta bastante versátil, voltada principalmente para o desenvolvimento de aplicações relacionadas ao conceito de Internet de Coisas (IoT). Este recurso utiliza uma abordagem de programação gráfica, ou seja, através do mesmo, torna-se possível elaborar uma aplicação por meio do estabelecimento de conexões entre blocos que possuem códigos predefinidos (conhecidos como nós) para a realização de determinadas tarefas.

Node-Red O Node-RED tem como função primordial auxiliar na elaboração de aplicações propondo uma maneira mais simples para o usuário que não domina muito as ferramentas de programação e também não possui conhecimento suficiente sobre estruturas utilizadas no desenvolvimento de sistemas embarcados, como um Arduino UNO ou um Raspberry PI. Entretanto, também é possível desenvolver uma vasta gama de aplicações avançadas, de maneira rápida e fácil.

O objetivo deste artigo consiste em apresentar algumas aplicações básicas que podem ser realizadas utilizando o Node-RED em conjunto com um Arduino UNO. Espera-se que após a leitura deste conteúdo, o leitor possa ter uma noção das capacidades desta ferramenta e possa começar a implementar seus próprios projetos.

INSTALAÇÃO DO NODE-RED

O primeiro passo para prosseguir com a utilização do Node-RED consiste em instalar o Node.js (é conveniente que seja utilizada a versão recomendada para a maioria dos usuários).

download

Em seguida, abre-se o prompt de comando do Windows e deve-se digitar o seguinte comando para que a instalação seja realizada:

npm install -g --unsafe-perm node-red

instalaçãodos

COMO ACESSAR?

Para acessar a ferramenta, deve-se abrir novamente o prompt de comando do Windows e digitar node-red.

promptdecomando

Em seguida, é necessário que o usuário abra uma aba no seu navegador e digite o seguinte endereço: localhost:1880

Entrandonode

COMO É ORGANIZADA A ESTRUTURA DE PROGRAMAÇÃO DO NODE-RED?

Basicamente, pode-se dizer que o Node-RED é composto por uma aba que contém todos os nós instalados, um ambiente onde é possível realizar a conexão entre os nós citados, uma aba cuja função consiste em apresentar as informações relativas aos nós utilizados e aos procedimentos efetuados (depuração ou debug) e por último, deve-se notar a existência do menu, conforme a figura abaixo.

AMBIENTE

QUAIS SÃO OS NÓS EXISTENTES NO NODE-RED?

No Node-RED existem basicamente três tipos de nós, que por sua vez, podem ser divididos em nós de entrada (permitem que os dados sejam inseridos em uma aplicação), nós de saída (permitem o envio de dados para fora de uma aplicação) e nós de processamento (permitem a manipulação dos dados que entram nos mesmos afim de disponibilizar novos dados para o estágio posterior).

Na grande maioria das vezes as aplicações são desenvolvidas através da utilização destes três tipos de nós (em alguns casos, apenas dois podem ser necessários), que, quando conectados, geram uma estrutura denominada fluxo. Note, que as informações seguem ao longo dos nós, portanto, seguem de para .

fluxodidático

ADICIONANDO OS NÓS DE ENTRADA E SAÍDA DO ARDUINO

Como dito anteriormente, no Node-RED é possível criar uma infinidade de aplicações devido à imensa gama de tipos de nós disponíveis, de modo que, alguns deles são instalados juntamente com a ferramenta, enquanto outros, só podem ser obtidos através de um processo de instalação manual. Este é o caso dos nós de entrada e saída para o Arduino UNO.

nos

Para instalar os nós citados, deve-se clicar sobre o menu, no canto superior direito da tela e em seguida selecionar a opção Manage Palette.

instalarno

Após este procedimento, deve-se selecionar o campo install, escrever a palavra Arduino no campo de pesquisa e clicar para instalar o pacote node-red-node-arduino.

instalacao

ACENDENDO UM LED COM O ARDUINO ATRAVÉS DE UMA APLICAÇÃO DO NODE-RED

A partir deste momento, será demonstrado como o leitor deve proceder para realizar a criação de uma série de aplicações, onde a primeira delas consiste na criação do fluxo necessário para possibilitar o acionamento de um led conectado ao Arduino UNO. Antes de prosseguir com os passos abaixo, lembre-se de que é necessário gravar o código escrito no exemplo StandardFirmata, no Arduino (este código aparece como um exemplo de aplicação da biblioteca Firmata).

O primeiro passo para atingir o objetivo desejado consiste em arrastar o nó de entrada inject (apresentado na figura abaixo) da aba de nós para o ambiente de desenvolvimento.

inject

Após o procedimento anterior, a forma do em questão irá mudar automaticamente e passará a ter o formato apresentado na figura abaixo. Observe que na extremidade esquerda do existe um botão que ao ser pressionado impõe um determinado valor na saída do nó de entrada utilizado.

timestamp

O segundo passo para realizar o acionamento proposto, consiste em determinar qual deve ser o tipo de dado que sairá do nó de entrada criado e entrará no próximo nó.

Para isto basta dar dois cliques sobre o nó de entrada, escolher as opções boolean / true no campo payload e nomear o em questão. A opção boolean determina que o valor de saída deve ser um valor binário de um dígito (0 ou 1), enquanto a opção true determina que o valor da saída seja 1 quando o botão citado anteriormente for pressionado.

info1

O terceiro passo para a realização do acionamento proposto consiste em informar ao Node-RED qual deve ser o pino onde está conectado o led citado anteriormente. Para efetuar este procedimento, deve-se arrastar o nó de saída para aplicações com Arduino UNO.

saida-arduino

Assim como aconteceu com o nó de entrada, este também tem sua apresentação modificada quando é inserido no ambiente de desenvolvimento.

saida-pino

Para definir em qual porta COM (neste caso COM3) está conectado o Arduino UNO, o pino que será utilizado (pino 13) e o tipo de dado (digital, 0 ou 1) que será disponibilizado na saída em questão, deve-se clicar duas vezes sobre o nó e determinar os parâmetros conforme a figura abaixo.

info_portacom1

Em seguida, deve-se conectar os nós criados conforme a figura abaixo.

fluxo1

Por fim, basta clicar no botão Deploy para implementar a aplicação desenvolvida. Observe que, neste momento é possível apenas acender o led (através do acionamento do botão existente no nó de entrada), portanto, é necessário salientar que, para que seja possível apagar o mesmo, deve-se realizar uma alteração no fluxo criado.

deploy

COMO OBTER O CONTROLE TOTAL SOBRE O ESTADO DO LED?

Anteriormente foi ressaltado para o leitor, que o fluxo produzido no primeiro exemplo realizado não possibilitaria o desligamento do led por parte do usuário da aplicação, portanto, neste momento será demonstrado quais são os procedimentos necessários para que esta ação possa ser realizada.

O primeiro passo para proporcionar a possibilidade de desligamento do led existente, consiste em adicionar um novo nó de entrada inject no ambiente de desenvolvimento (este procedimento é o mesmo realizado anteriormente para a criação do nó de entrada LIGA LED), no entanto, neste caso, deve-se selecionar a opção Boolean / False no campo Payload, conforme apresentado na figura a seguir.

info2

Após a criação do nó de entrada citado, basta conectar os 3 nós existentes da maneira apresentada na figura abaixo.

fluxo2

Neste momento, ao clicar no botão Deploy, será possível alterar o estado do led através do clique nos dois botões existentes nos nós de entrada criados.

Este foi mais um conteúdo que preparamos com bastante cuidado para você. Gostou? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

28 Comentários

  1. Faltou um traço antes de “unsafe” no texto publicado:
    “Em seguida, abre-se o prompt de comando do Windows e deve-se digitar (sem aspas) “npm install -g –unsafe-perm node-red” para que a instalação seja realizada”.
    O correto é:
    “npm install -g –-unsafe-perm node-red” .

    1. Olá Flavio,

      Corrigimos, obrigado pelo aviso, era uma falha na formatação.

      Abraços!
      Vinícius – Equipe MakerHero

  2. Olá, tenho o node-red instalado em um notebook com windows funcionando perfeitamente, gostaria de uma forma de fazer o node-red iniciar automaticamente ao ligar o notebook, sem precisar entrar no cmd e digitar node-red.
    Existe como?

  3. Olá, boa noite!
    Parabéns! muito obrigado por seu trabalho!

  4. Acho que programar arduíno através da ide para muitos já é uma tarefa fácil, acho que a maioria estaria interessada em como colocar isso na nuvem, acesso remoto, iot etc… Visto que muitos desenvolvedores de sistemas embarcados não estão acostumados com a redes, servidores, IP e coisa toda..

  5. Desculpe, par um total iniciante, pode ser que eu tenha entendido errado rsss:
    1- Após criar o fluxo como enviar para o Arduíno?
    2- Ele cria uma “Pagina” no Arduíno que devo acessar pelo navegador?
    Bônus rsss
    3- Tem como acessar um Banco de Dados com este?

  6. Olá, estou tendo problemas com a instalação do pacote node-red-node-arduino. Após selecionar a opção instalar ele demora uns 30 segundos e retorna a mensagem de erro:

    Failed to install: node-red-node-arduino

    Error: Install failed

    Check the log for more information

    Alguém sabe o que está ocorrendo?

    1. Olá Luis?

      Já checou o log para mais informações como indicado? “Check the log for more information”
      O que diz lá?

      1. Estou mesmo erro! Alguém conseguiu?

      2. Estou mesmo erro! Alguém conseguiu?onde fica esse log?

  7. Olá,
    É possível controlar um dispositivo com um computador ou smartphone fora da rede? Como aceder à página do node red (DASHBOARD) em outro computador fora da rede.
    Abraço,
    J. C.

    1. Olá João!

      É possível sim. É necessário abrir um porta em seu roteador. Verifique o procedimento com seu provedor de internet.

  8. Como ocorre a comunicação? Preciso de um módulo Wi-fi, bluetooth? o Node-Red exporta aplicativo?

  9. Funciona no arduino mega?

    1. Olá Sérgio, funciona com qualquer arduino ou microcontrolador escrito com Firmata!
      Espero ter ajudado, forte abraço!

  10. Como implementar um ESP01 juntamente ao arduino e NodeRED via MQTT, este seria um ótimo tutorial.

  11. Uma duvida
    Apos ter a aplicação programada e testada, eu ainda preciso ter computador conectado a internet para acessar minha aplicação do node red?

    1. Olá José, não é necessário ter o PC conectado na internet full time, somente é necessário para baixar os pacotes mesmo ou para aplicações com requisições web, fora isso é sucesso baixar as NPM’s e brincar com seu IoT!
      Espero ter ajudado, forte abraço!

  12. Não é um comentário agradável ………

    Estou entendendo que esta ferramenta “Node_RED” se destina a usuários iniciantes e sem experiência (que é o meu caso) logo esta publicação deveria se ater a essas características do público ao qual se destina ….

    A partir das instruções de instalação do Node começaram os meus problemas pois (pelo apresentado) tem-se a impressão que deve-se clicar numa das “teclas” verdes para se fazer o download o que parece que não é correto pois deve-se clicar em “node.js” para tanto,,,,
    Isso sem falar que não é mencionada quais as versões do Windows são suportadas ……
    Tentei instalar no Windows 10 e ele não reconhece o comando.
    Olhando atentamente as telas de orientação apresentadas elas são de 2013 com Windows NT (que esta descontinuado pela MS)

    Resumindo ….. um usuário leigo não terá condições de usar de recurso (que parece muito interessante para facilitar) se for depender só desta publicação ….

    Finalmente gostaria de mencionar a desatenção para os leitores pois notei que várias perguntas ou comentários feitos desde o início de julho/17 não foram respondidas ….

    Me desculpe pela “acidez” mas me senti frustrado por não ter conseguido seguir adiante nesta instalação

    1. Olá Edmundo!

      Isso mesmo. Node RED veio para facilitar a programação com um estilo de programar com gráfico e blocos.

      A tecla verde de instalação é apenas uma imagem demonstrando onde deve ser clicado.
      Acessando o site do Node.js(clicando em Node.js) você acessa o site e verá os botões verdes.

      Node RED deve funcionar na maioria dos sistema operacionais sem problemas.

      Note que outro usuário do blog, Luiz Fernando, detectou um pequeno erro no comando de instalação. Veja se funciona para você.
      Basta colocar um hífen em “node red”.

      npm install -g –unsafe-perm node-red

      Não sei como você identificou que foi usado Windows NT.
      O que eu vejo nas imagens do terminal são as mensagens:

      “Microsoft Windows [Version 6.3.9600]
      (c) 2013 Microsoft Corporation. All Rights Reserved.”

      Essa versão(6.3.9600) é referente ao Windows 8.1 e o ano 2013 coincide com o ano de lançamento do Windows 8.1
      https://www.msigeek.com/442/windows-os-version-numbers
      https://pt.wikipedia.org/wiki/Windows_8.1

      São muitos comentários todos os dias. Respondemos na medida do possível.
      Por ser um Blog contamos também com a ajuda da comunidade e dos outros usuários do Blog.

      Sentimos muito que não tenha conseguido seguir o tutorial.
      Por favor tente refazer os passos e conte com a ajuda de todos nós aqui inclusive o pessoal da comunidade.
      Se chegar em um ponto que não consegue seguir, comente sua dúvida aqui que tentaremos ajudar.

      Abraço!

    2. Utilizei no Windows 10 e funcionou perfeitamente

  13. Caro Daniel, boa noite.

    Informo que o comando npm install -g –unsafe-perm node-red do artigo está com problemas, consegui instalar com npm install -g –unsafe-perm node-red, faltou um hifen no original.

    1. Open a command prompt and type these commands
    2. npm install -g –unsafe-perm node-red
    3. npm install node-red-dashboard
    4. node-red.

    Um grande abraço.

  14. vou tentar instalar no meu pc e ver como funciona, me digam aonde começo a ter contato com primeiros passos

  15. Daniel, o Node Red funciona no Mac? Se sim, o que muda na instalação?

    1. Olá Guilherme, sim é possível o usar o Node-RED em qualquer SO, no MAC o procedimento de instalação e uso é igual ao do linux!
      Espero te ajudado, valeu!

  16. Excelente Daniel. Agora para complementar, que tal um tutorial com dashboard?

Trackbacks and Pingbacks

  1. […] saber mais sobre a funcionalidade do Node-RED utilizando outras plataformas? Veja este excelente post aqui no blog da […]