Passa al contenuto principale

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.

Node-RED_Core_Temp

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.

Node-RED_Import_Export

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.

Node-RED_Install_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}]

Node-RED_Add_Gauge

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.