Primeiras aulas do curso Raspberry Pi Node-RED: Elabore aplicações conectando dispositivos e serviços

Raspberry Pi Node-RED: Elabore aplicações conectando dispositivos e serviços

Primeiros passos - Introdução

Oi, eu sou o Ricardo Merces, e vamos dar início a mais um curso dentro do tema de IoT. Dessa vez, vamos estudar sobre o Node-RED. Exatamente, uma ferramenta simples, open source, que permite que a gente faça integração de hardware, API, software e que a gente crie a nossa app dentro do mundo de IoT.

Eu dividi o curso em duas partes. Na primeira parte do curso, a gente vai entender melhor sobre os componentes do Node-RED, como é que a gente cria um flow, como é que a gente muda propriedades, como é que examina a saída, enfim, como é que combina tudo isso para estar gerando uma aplicação IoT. Inclusive, com dashboard para facilitar a visualização dos dados.

Depois disso, a gente vai pegar um hardware e combinar um processo de automação, usando, inclusive, o MQTT para gerar uma parte de iluminação de forma totalmente automática dentro do Node-RED.

Se você quer aprender mais sobre IoT, o Node-RED é uma excelente ferramenta para você começar. Então vamos trabalhar, vamos dar início ao nosso curso.

Primeiros passos - Como utilizar o Node-RED

Para a gente começar, eu queria falar com vocês sobre como a gente vai rodar o Node-RED. Isso mesmo, onde a gente vai fazer a instalação do Node-RED. No site ele dá três opções para a gente, quais seriam elas? A gente pode rodar localmente, pode rodar no Raspberry e pode rodar ele na nuvem.

Localmente, usar o Docker é sempre uma opção bem legal. Você vem aqui, “Docker”, e tem lá as instruções. No final das contas, o “Quick start” aqui, você vai copiar essa linha, ele vai fazer o download da imagem e vai executar o seu container.

É só colar a linha aqui, dar um “Enter”, ele vai fazer o download da imagem, eu já tenho a imagem que baixada para adiantar, e já startou o Node-RED.

Como é que a gente visualiza? Abre uma aba aqui, “127.0.0.1”, que é localhost, “:1880”, essa é a porta de conexão do Node-RED. Deixa eu dar um “Enter” e já está aqui pronto para a gente usar. Bem legal, usando no Docker local, essa seria a primeira opção.

Qual seria a segunda opção? Deixa eu fechar isso aqui. A segunda opção é como eu vou desenvolver o curso, que é rodar dentro do Raspberry Pi. Olha só essa belezinha aqui, olha que legal.

“Ricardo, o que é isso? Esse aqui eu ainda não conheço.” Esse daqui, eu sei que no vídeo de repente a proporção não fica legal, vamos pegar uma foto aqui.

Esse é o Raspberry Pi Zero W, esse “W” é porque ele já tem wi-fi embutido. Está vendo uma bateria de 9 volts para você ter exatamente a proporção do tamanho dele. Durante o curso eu vou estar utilizando ele.

E por que ele foi o eleito aqui, foi a minha escolha? Porque na parte aqui do meu escritório, eu estou utilizando um hardware dedicado para as questões de IoT.

Nesse hardware dedicado, eu estou concentrando Node-RED, estou concentrando, também, um servidor de MQTT, que a gente já vai, mais no meio do curso, falar sobre ele. Eu concentro tudo nesse mesmo hardware, que optei por ser o Raspberry Zero.

Por que não o 3? Porque, como eu não preciso de tanto recurso como 3 me oferece, o Zero além dele ser menor, ele custa um terço do preço do Raspberry Pi 3.

Então, estou rodando toda minha parte de IoT, meu server, vamos dizer assim, o meu servidor principal de IoT, hoje está rodando dentro do Raspberry Pi Zero. Então essa seria a segunda opção e a gente vai fazer a instalação do Node-RED aqui.

E a terceira opção? A terceira opção seria usar uma instância do Node-RED na nuvem, e tem as opções da nuvem da IBM, a instalação na WS. Eu vou pegar como exemplo aqui a nuvem da IBM.

Por quê? Porque o Node-RED foi desenvolvido pela própria IBM. Então aqui dentro, vamos clicar “IBM Bluemix”, é o mesmo esquema que a gente tem trabalhado com a WS.

Você vai criar uma conta e ela tem a questão dos recursos que são gratuitos, e dentro desses recursos, logicamente, não vai ter nenhum custo adicional. Se você quiser acrescentar um recurso ou outro, você paga conforme os serviços que você for utilizar.

Mas ele aqui tem a sequência. Você vai acessar o Bluemix, vai criar uma conta com todo aquele processo de criação de conta. Uma vez criada a conta, você vai no catálogo, deixa eu abrir aqui para você, você vai no catálogo de produtos e procura pela aplicação Node-RED.

Eu já estou com a conta criada. No catálogo, conforme diz no manual, “Node-RED”, ele tem essas duas opções aqui. Aqui você tem mais recursos e aqui ele vai subir uma instância dedicada para o Node-RED.

Você pode escolher essa opção vai lá, next, next, next, e ele vai criar um link para você conforme o nome que você escolheu. “rmerceslabs” está aqui. Isso aqui eu já estou rodando o meu Node-RED na nuvem da IBM.

Então vou acessar aqui e olha o que vai aparecer para mim. Não é exatamente a mesma coisa que apareceu no Docker local? É exatamente a mesma coisa. A diferença é que aqui está na nuvem, e o Docker está local.

Estou apresentando para você essas três formas da gente trabalhar. Se você for trabalhar na nuvem, lógico que você vai ter que fazer as adaptações lá na frente para apontar para o seu serviço, que está fora da sua rede local.

Agora a gente vai fazer a instalação do Node-RED no nosso Raspberry, que está rodando aqui na minha rede local.

Então, três opções, se você puder usar um Raspberry, legal, porque é mais uma forma de você integrar localmente com outras ferramentas, com outros hardwares que você já preparou ao longo dos outros cursos. Então vamos dar sequência, vamos fazer a instalação dentro do Raspberry Pi.

Primeiros passos - Instalação no Raspberry Pi

Para a gente fazer a instalação no Raspberry, eu queria te avisar o seguinte, eu estou utilizando o Raspbian, a última versão, que no momento da gravação é o Stretch versão Light. “Ricardo, eu posso usar o Desktop?” Pode. Lembrando que, como eu estou utilizando o Zero, eu quero ocupar ele, não quero ocupar tanto o meu hardware, eu vou colocar o mínimo necessário. Eu optei por usar o Raspbian Light.

Então faz download, instala a imagem, tranquilo. Quando você vai utilizar o Node-RED no seu Raspberry, dependendo da distribuição, ele já está previamente instalado. Só que, possivelmente ele não está atualizado. Então, o primeiro passo é a gente colocar a última versão do Node-RED.

Como é que a gente faz isso? Dentro das opções locais, device, Raspberry Pi, muito simples, vamos pegar, fazer a instalação upgrade da versão. Então eu vou copiar exatamente isso daqui, vou conectar no meu Raspberry, já estando conectado, é só a gente colar o script.

O que ele vai fazer? Ele vai fazer o download e vai fazer a execução. Vão fazer aqui aquelas perguntas básicas. Você quer realmente isso? Sim. Vai estar lá, sim. E esse processo demora um pouquinho, 20 a 30 minuto. Eu já fiz anteriormente, demorou 15, não chegou a isso tudo, mas enfim.

Vale a pena destacar o seguinte, ele vai atualizar sua versão de Node, ele vai atualizar todos os componentes para a gente poder rodar na versão nova no Node-RED. Vou deixar aqui rodando o meu script, e daqui a pouco eu volto quando tiver terminado e a gente começa a fazer o uso e começar efetivamente a brincar aqui dentro do Node-RED. Então eu já volto.

Terminou aqui a minha instalação, percorreu todos os itens e a gente está utilizando a versão mais nova do Node-RED, que é 18.7. Então, finalizado a instalação, ele diz aqui o seguinte para a gente, para iniciar a aplicação basta “node-red-start” e sempre vai acessar na porta 1880. Como eu estou utilizando, vou acessar fora do Raspberry Pi, eu vou usar aqui o meu endereço IP, seguido da 1880.

Então, olha só. “node-red-start”, ele iniciou, está iniciando o serviço e eu venho aqui no Browser, e vou utilizar aqui o IP. Vamos ver se já inicializou, está indo. Vamos voltar. Primeira vez ele vai demorar um pouquinho, porque tem carregar os modos, geral algumas configs.

Prontinho, agora vai. Então vamos dar um reload aqui. A mesma tela que a gente viu no Docker, no Bluemix, sendo que no curso eu vou estar utilizando o tempo a instalação no Raspberry Pi.

“Ricardo, instalei, legal, também estou usando o Raspberry Pi, e aí?” Vamos começar a entender um pouquinho dessa console, dessa estrutura aqui do Node-RED. Eu tenho aqui os meus nodes e aqui é que a gente trabalha. E desse lado direito aqui, a gente vai ter algumas opções legais para visualizar as informações.

Então vamos fazer o nosso bem básico aqui. Primeiro, eu vou arrastar esse flow aqui, coloquei um “timestamp” aqui, ele vai ser a minha entrada. Assim como eu tenho a entrada, eu vou ter a minha saída output aqui.

Como é que eu faço o flow? Como é que eu comunico entre eles? Olha só que coisa legal, arrastou daqui para cá, simples assim, já tenho um flow criado. Um “timestamp” e aqui o meu meu output. Mas como é que eu visualizo esse negócio? Para a gente poder executar os flows e trabalhar com os flows, depois que você constrói você tem que fazer o Deploy deles.

Então eu venho aqui, está lá o Deploy. Se tiver algum erro, algum parâmetro, ele vai gritar e você vai precisar corrigir para fazer um novo Deploy. Fiz o Deploy, e aí? O “timestamp” eu estou gerando aqui, vou clicar nesse botãozinho aqui. Olha o que apareceu no meu debug aqui, que está mostrando a saída. Eu estou usando esse output de saída, o que ele está me gerando é aquele “timestamp” ali. De novo, está gerando o “timestamp”.

Então você vê como é simples a criação de um flow. Peguei entrada, a saída no meu caso agora é só um debug, eu poderia jogar isso com uma outra aplicação, para um GPIO do Raspberry, não importa. A gente vai ver mil opções que você pode combinar. E a gente vai passo a passo construindo o nosso flow. Mas como eu disse para vocês, a minha ideia é deixar um hardware dedicado aqui ao Node-RED.

Por que eu estou dizendo isso? Porque a gente, para rodar o Node-RED, a gente fez a instalação e depois deu o start. Assim como a gente iniciou, eu posso vir aqui na Console e parar o serviço. Só que, da maneira que a gente pós instalação deixou, toda vez que a gente reiniciar o Raspberry, você precisa vir aqui e dar um start novamente. A ideia não é essa, a ideia é deixar isso no automático.

Então a gente vai configurar ele como serviço. Como é que configura como serviço? A gente faz assim: “sudo systemctl enable nodered.survice”. Vamos ver se é isso, está criando o link de serviço, fazendo alteração do script, na verdade.

E ele agora, toda vez que a gente reiniciar o Raspberry, vou reiniciar ele aqui, toda vez que a gente reiniciar a ideia é que ele volte e ligue o serviço. Assim facilita o uso e, até mesmo uma interrupção de energia ou qualquer problema que você venha a ter, quando ele voltar, o serviço já está carregado.

Então deixa eu conectar de novo. Ele está ainda reiniciando mais uma vez aqui. Agora ele já voltou e sem iniciar nenhum serviço. Vamos fazer o teste aqui, a gente apaga e a URL essa daqui. Okay, ele já está pronto para a gente começar a trabalhar, que é iniciar sempre como serviço. E você pode notar aqui o seguinte, à medida que você for criando os seus flows, ele já vai aparecer aqui para a gente.

Então essa é a primeira parte. Faz instalação do seu Node-RED, atualizando ele no Raspberry. Pega esse flow aqui, repete isso que eu fiz que é bem simplesinho, pegar uma entrada, saída e ver o output aqui na aba do debug. De novo, gerei aqui, ele me gera um output. Até para você começar a mexer e a se inteirar melhor aqui do recurso do Node-RED. Então a gente já volta, criando aqui um novo flow, o nosso famoso “Hello, World” na versão Node-RED.

Sobre o curso Raspberry Pi Node-RED: Elabore aplicações conectando dispositivos e serviços

O curso Raspberry Pi Node-RED: Elabore aplicações conectando dispositivos e serviços possui 151 minutos de vídeos, em um total de 44 atividades. Gostou? Conheça nossos outros cursos de Embarcados e Robótica em Infraestrutura, ou leia nossos artigos de Infraestrutura.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Embarcados e Robótica acessando integralmente esse e outros cursos, comece hoje!

  • 1112 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1112 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1112 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1112 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?
Acesso por 1 ano
Estude 24h/dia onde e quando quiser
Novos cursos toda semana