Installare ed utilizzare Node-RED

Node-RED è uno strumento di programmazione per collegare insieme dispositivi hardware, API e servizi online in modi nuovi e interessanti. Tramite un editor basato su browser è possibile collegare tra di loro oggetti (Flows) utilizzando l'ampia gamma oggetti disponibili.

All'interno dell'editor possono essere scritte funzioni utilizzando un editor di testo avanzato, una libreria integrata consente di salvare funzioni utili, modelli o flussi per il loro riutilizzo. Il runtime è basato su Node.js sfruttando appieno il suo modello non bloccante basato sugli eventi, con un repository di oltre 225.000 moduli di pacchetti di Node, è facile aggiungere nuove funzionalità.

Installazione

Come detto Node-RED si basa su Node.js quindi occorre provvedere ad installarlo, accedendo alla shell Unix (Bash), direttamente o tramite una connessione SSH con Putty, ecco i comandi da utilizzare.

sudo apt-get update
sudo apt-get dist-upgrade
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

Terminata l'installazione è possibile verificare la versione installata.

node -v
npm -v

Se tutto è andato a buon fine è possibile installare Node-RED utilizzando il comando sottoriportato ulteriori informazioni.

sudo apt install build-essential git
sudo apt-get install nodered

Per settare o eliminare l'esecuzione automatica all'accensione utilizzare comandi:

sudo systemctl enable nodered.service  Attiva esecuzione automatica
sudo systemctl disable nodered.service Disattiva esecuzione automatica

Terminata l'installazione è possibile eseguire ed arrestare Node-RED con i comandi:

node-red-start To start Node-RED
node-red-stop  To stop Node-RED
node-red-log   To view the recent log output

Avviato il servizio è possibile collegarsi via browser all'indirizzo IP del sistema porta 1880 (Esempio: http://xxx.xxx.xxx.xxx:1880). Ecco la visualizzazione di un semplice Flow di programma che richiede ogni 10 secondi la temperatura del processore della Raspberry e la visualizza in debug.

Importare/Esportare un programma

Esistono in linea molti siti come questo che spiegano come utilizzare Node-RED, vediamo come eseguire l'Import/Export di un programma.

Per importare un programma copiare in clipboard il programma da un text editor, il comando Import->Clipboard lo trasferisce nel flusso di programma.

Per esportare un programma selezionare gli oggetti dal flusso di programma, il comando Export->Clipboard li trasferisce nella clipboard che sio può salvare in un text editor.

Programma di esempio

Ecco un programma che rileva ogni 10 secondi la temperatura del processore della Raspberry, copiare nella clipboard il codice e poi importarlo in un flusso vuoto.

[{"id":"4fc6081.04873f8","type":"inject","z":"7ee6a4a2.17e8fc","name":"","topic":"","payload":"","payloadType":"num","repeat":"10","crontab":"","once":false,"onceDelay":0.1,"x":110,"y":160,"wires":[["4853f85f.215388"]]}]

Installazione dashboard

Consiglio di installare anche il modulo node-red-dashboard che permette di creare una interfaccia HMI tramite Dashboard accattivanti in modo estremamente semplice, ulteriori informazioni.

Dal menù scegliere Manage palette, poi cercare il modulo node-red-dashboard e procedere con l'installazione. Terminata l'installazione nella barra a destra vi troverete un pulsante aggiuntivo per accedere alla definizione delle dashboard.

Aggiungere Gauge

Abbiamo aggiunto la possibilità di gestire dashboard di visualizzazione allora possiamo visualizzare un gauge con il valore della temperatura. Dal menu Dashboard con +tab aggiungiamo una dashboard di nonme Tab1. Nel nostro flusso di programma aggiungiamo un oggetto Gauge che collegheremo al valore di temperatura in uscita dalla funzione.

Nelle proprietà del gauge lo abbineremo al gruppo Tab1, ora dopo il Deploy sarà possibile agendo sul tasto di visualizzazione vedere il nostro gauge con il valore di temperatura visualizzato. La dashboard è visibile da browser all'indirizzo IP del sistema porta 1880/ui (Esempio: http://xxx.xxx.xxx.xxx:1880/ui). Ecco di seguito il codice:

[{"id":"42c02dd2.013664","type":"ui_gauge","z":"7ee6a4a2.17e8fc","name":"","group":"e61c9881.e38c98","order":0,"width":0,"height":0,"gtype":"gage","title":"gauge","label":"units","format":"{{value}}","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":620,"y":100,"wires":[]},{"id":"e61c9881.e38c98","type":"ui_group","z":"","name":"Default","tab":"24d206cc.2dfcaa","disp":true,"width":"6","collapse":false},{"id":"24d206cc.2dfcaa","type":"ui_tab","name":"Tab 1","icon":"dashboard","order":1}]

Angolo dei consigli

Eliminare un flusso dal dispositivo
Può succedere che un errore in un flusso faccia abortire l'esecuzione di Node-RED (La pagina web non è più accessibile) ed eseguendo node-red start da linea di comando viene visualizzato un errore di esecuzione che termina il programma. I flussi sono nella cartella /home/user/.node-red (è una cartella nascosta), sono files .json basterà eliminarli.

Was this article helpful?