Neste post vamos mostrar como você pode controlar uma placa Arduino usando Node-RED, programa que já abordamos anteriormente aqui no blog, no post Tutorial Node-RED com Raspberry Pi.
No tutorial, nós usamos uma Raspberry Pi 4 para fazer a instalação do Node-RED no Linux/Raspbian, e vamos aproveitar essa instalação agora para controlar uma placa Arduino UNO conectada na porta USB da Raspberry Pi.
Você também pode usar uma instalação do Node-RED rodando por exemplo em plataforma Windows. Os procedimentos são os mesmos.
Preparando o Arduino
Antes de configurarmos o Node-RED, vamos carregar no Arduino o Firmata, um protocolo de comunicação que permite que você envie e receba dados do microcontrolador por meio de softwares específicos. Além do Node-RED que vamos usar, um outro bem conhecido é o Processing.
O Firmata está disponível na IDE do Arduino, em Arquivo -> Exemplos -> Firmata:
Selecione o StandardFirmata e carregue normalmente para a placa Arduino.
Configurando o Node-RED para Arduino
Com o Node-RED já instalado e funcionando, vamos acessar seu editor usando um browser (Firefox, Chrome, etc) digitando na barra de endereços o IP da máquina onde o Node-RED está instalado, seguido da porta 1880.
No nosso caso, temos: 192.168.15.5:1880
Aguarde o carregamento da tela principal do editor do Node-RED:
Agora vamos configurar os nós de entrada e saída do Arduino. Para isso, precisamos primeiro instalar os nós, selecionando o menu no canto superior direito e em seguida Manage Palette:
Em seguida, selecione a aba Install e procure por Arduino na caixa de seleção. Instale o módulo node-red-node-arduino:
Após a instalação, você verá no lado esquerdo do editor os nós correspondentes ao Arduino:
Agora vamos criar a aplicação que vai acionar as portas do Arduino.
Acionando portas do Arduino usando Node-RED
No editor do node RED, escolha um nó do tipo inject e arraste para a parte central do editor:
Perceba que o nó muda de formato assim que arrastamos para a parte central.
Agora clique duas vezes sobre o nó que você acabou de criar. São várias opções de configuração, mas vamos alterar apenas o msg.payload, selecionando Boolean e o valor True. Altere também o nome do nó para Ligar Led. Clique em Done para gravar:
Use o mesmo procedimento para criar um segundo nó do tipo Inject, selecionando desse vez o valor FALSE e o nome para Desligar Led:
Agora selecione um nó do tipo Arduino Out e coloque-o ao lado dos nós que você acabou de criar:
Nesse nó vamos configurar a porta onde o Arduino está conectado (na Raspberry Pi), e também qual será o pino de saída.
Selecione a porta onde o Arduino está conectado (no nosso caso, em /dev/ttyACM0), defina que a porta será digital (aceita valores 0 ou 1, ou seja, HIGH ou LOW), que a porta é a 13 e o nome do nó é Led Onboard:
Agora o que precisamos fazer é simplesmente ligar os nós inject (nós de entrada) que criamos anteriormente, no nosso nó de saída que é o Arduino:
Pronto. O que fizemos foi conectar os “botões” que vão ligar ou desligar (enviando os valores True (1) ou False (0)) a porta 13 do Arduino, configurada no nó de saída.
Para controlar o Arduino, clique em Deploy no canto superior direito, depois acione os nós de entrada conforme a imagem abaixo:
O Node-RED vai fazer a conexão com o Arduino, e ao clicar nos botões você acende ou apaga o led onboard da placa.
Gostou? Confira outros posts usando Arduino aqui mesmo no Arduino e Cia!