Installare ed utilizzare Node-RED

  1. Home
  2. Knowledge Base
  3. Controllori SlimLine Raspberry
  4. 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 funzioniutili, 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_8.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, ignorare eventuali errori riferiti al modulo node-pre-gyp, ulteriori informazioni.

bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)

Per settare esecuzione automatica utilizzare comando:

sudo systemctl enable nodered.service

Per eliminare esecuzione automatica utilizzare comando:

sudo systemctl disable nodered.service

Terminata l'installazione è possibile eseguire Node-RED con il comando.

node-red

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.

Ti è stato utile questo articolo ?

Ultimo aggiornamento: 12 Giugno 2019