BLOG - Sistemas Embarcados

Este blog tem como autores os participantes do projeto Smart Campus e alunos das disciplinas: Sistemas Embarcados(Engenharia de Controle e Automação) e Plataformas de prototipação para Internet das Coisas (Especialização Lato Sensu em Internet das Coisas). O objetivo é a divulgação de trabalhos em desenvolvimento no campus que envolvam a utilização de conceitos de sistemas embarcados, internet das coisas, telemetria e outras tecnologias para a resolução de problemas da indústria, meio ambiente, cidades inteligentes, fazendas inteligentes, ....
Coordenação: Prof. Marcos Chaves

[ LOGIN ] [ Autores ]

numero de postagens:1

Node-Red, apresentação e instalação

Node RED, é a principal ferramenta de programação para a internet das coisas.

Construída em node.js, utiliza programação gráfica através de blocos (conhecidos como nós) com funções predefinidas para a realiação de tarefas por meio de um fluxo (flows).

A programação é realizada por meio de browser com acesso a back-end do framework.

Ambiente de programação

Há basicamente três tipos de nós.

 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).

Há um vasta variedade de nós para as mais diversas aplicações possíveis instalados através do menu Manager.

Maiores informações sobre a aplicação e exemplos de códigos (flows) visite a pagina oficial: https://nodered.org

Instalação do Node-Red

Para instalação do Node-red, sugerimos os seguintes links com tutorial. O primeiro link embora direciona para instalação em Debian, funcionou para instalação Ubuntu no AWS. A primeira etapa deve-se conectar com o servidor para utilizar os comandos prompt  de atualização de pacotes:

$ sudo apt-get update 

$ sudo apt-get upgrade -y

Passo 2: Instale NPM e NodeJS

$sudo apt install npm
$ sudo apt-get install nodejs

Verificar versão instalada

$ node -v

Atualizar versão node

Há um pacote chamado n, que nos ajuda a alterar a versão do Node

$ sudo npm install -g n
$ sudo n stable

Reinicie seu terminal para que as mudanças tenham efeito.

Instalando Node-red com npm

$ sudo npm install -g --unsafe-perm node-red
$ sudo n stable

Node-red em linha de comando criando usuario admin

$ sudo npm install -g --unsafe-perm node-red-admin

Para que Node-red na ative na inicialização, edite o arquivo nodered.service  e cole o conteúdo deste Script deste ( link), salve-o o novo arquivo

[Unit]
Description=Node-RED
After=syslog.target network.target

[Service]
ExecStart=/usr/local/bin/node-red --max-old-space-size=128 -v
Restart=on-failure
KillSignal=SIGINT

# log output to syslog as 'node-red'
SyslogIdentifier=node-red
StandardOutput=syslog

# non-root user to run as
#WorkingDirectory=/home/rui/
#User=rui
#Group=rui

# if using a root user
WorkingDirectory=/root/
User=root
Group=root

[Install]
WantedBy=multi-user.target
$ sudo nano /etc/systemd/system/nodered.service

Para iniciar automaticamente o nodered toda vez que o sistema reiniciar, é necessário rodar o comando:

sudo systemctl enable nodered.service

Habilite a porta 1880 nas regras de portas do Oracle ou AWS, e rode o prompt:

sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 1880 -j ACCEPT
sudo netfilter-persistent save

 

Use os comandos de service QUANDO precise inicilizar, parar, status ou reinicializar o nodered

sudo service nodered start
sudo service nodered stop
sudo service nodered status
sudo service nodered restart

O serviço Node-Red funcionará no endereço  http://seuip:1880 de seu servidor. Para AWS utilize as orientações deste link (https://www.techunits.com/topics/setup-guides/step-by-step-guide-to-install-node-red-on-ubuntu-18-04-lts/)  para alocar a porta para este serviço.

Embora no final da instalação apareça um endereço de ip local (127.0.0.0), confira o serviço funcionando em http://ip_seu_servidor:1880

Colocando senha para acesso aos flows

Esta instalação porém não ativa uma senha para bloquear o acesso aos seus flows.

Para colocar uma senha de segurança de acesso aos flows siga as seguintes instruções.

https://nodered.org/docs/user-guide/runtime/securing-node-red

Instale o módulo de segurança como root (super usuário)

$ sudo ufw allow 1880
$ sudo su
$ npm install -g --unsafe-perm node-red-admin

Rode o seguinte script e determine  uma senha para o login "admin", ao pressionar ENTER, aparecerá esta senha criptografada, copie-a:

$ node-red admin hash-pw

Copie esta senha que será inserida no script de credenciais. Acesse a pasta oculta ./nodered em /home/ubuntu ou /root. Edite o arquivo ainda com root

$ cd .node-red
$ nano settings.js

Localize o seguinte trecho no arquivo ./node-red/settings.js , para retirar os comentarios e cole a senha criptografada.

CRTL+X para salvar o arquivo. Reinicie o servidor utilizando o comando reboot ou a na área de administração das instâncias do cloud (AWS ou Oracle).

Links:

[1] Video aula Teams Prof. Marcos Chaves.

[ID:45] Autor:Marcos Aparecido Chaves Ferreira - Criado em: 2021-05-05 00:55:05 - [ Compartilhar ]