community italiana di domotica personale
 
Node-RED: come installarlo e configurarlo su Linux Debian con Docker

Node-RED: come installarlo e configurarlo su Linux Debian con Docker

Amazon - Promozioni del giorno
Scopi della guida
  • Installare e configurare Node-RED su Mini PC/Intel NUC o computer tradizionali con sistema operativo Linux Debian
  • Livello di difficoltà: basso
Concetti affrontati:
  • installazione e configurazione software
Componenti software utilizzate:
Prerequisiti
Dispositivi fisici utilizzati:
GUIDA DEDICATA A SISTEMI:

Debian

NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In presenza di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat.
Revisione guida: 1.0

Node-RED + Docker

Abstract

Node-RED è un fantastico ambiente operativo tramite il quale definire dei veri e propri “flussi” di processo per la manipolazione dei dati, interfacciamento e la gestione. La sua estrema semplicità, potenza ed espandibilità ne fanno uno strumento insostituibile in molti campi di applicazioni, tra i quali la domotica e più genericamente l’IoT.

In questa guida vedremo come installarlo su un computer (Mini PC/Intel NUC o generico) dotato di sistema operativo Linux Debian tramite Docker.


Articoli che trattano Node:-RED su inDomus:

Node-RED Flow

Si parte

Assunti

Questa guida è dedicata a chi abbia già un computer con sistema operativo Linux Debian. Per coloro che non abbiano ancora provveduto e si trovino ad avere un Mini PC/Intel NUC, magari acquistato appositamente per realizzare la propria domotica, allora questo passo della guida va smarcato seguendo prima un’altra guida, che spiega passo passo come configurare il sistema operativo Linux Debian.

Una volta terminata la configurazione di Linux Debian (inclusa la possibilità di collegarvisi tramite SSH nonché aver effettuato il perfezionamento) è possibile procedere nella presente guida.

Prima configurazione

Come prima cosa creeremo, sul file system del sistema operativo di Linux Debian, un percorso nel quale salvare la configurazione del server Node-RED.

Una volta collegati via SSH a Linux Debian tramite utenza “deb“, provvedere a creare a cartella (assumiamo infatti che l’utenza di servizio sia “deb” – diversamente, cambiare i comandi di tutta la guida in funzione della corretta utenza in uso):

sudo mkdir /home/deb/nodered

Dopodiché usciamo salvando (CTRL+X, y, invio).

Installare Docker

Installare Docker su Linux Debian è piuttosto semplice, esiste una procedura completamente automatica e una manuale. Entrambe le procedure sono illustrate in dettaglio in questa breve guida.

Se si ha già provveduto all’installazione di Docker, va da sé che questo passaggio possa essere saltato.

ATTENZIONE: affinché i comandi a seguire funzionino, è necessario aver aggiunto Docker al gruppo sudoers, come spiegato in guida.

Istanziare Node-RED su Docker

Una volta installato Docker è dunque il momento di installare (o meglio, “istanziarvi sopra”) Node-RED.

In ambito Docker, l’istanziamento dell’applicazione può essere effettuato tramite esecuzione di un comando manuale (più immediato) oppure tramite una configurazione del tool di gestione Docker Compose, approccio inizialmente più ostico ma che consigliamo per tutta una serie di motivi. Entrambe le scelte sono valide, ma in prospettiva (specie in ottica di aggiornamento) imparare ad usare Docker Compose è altamente consigliato.

Tramite comando “docker run”

Istanziamo dunque Node-RED su Docker tramite il comando:

docker run --init -d -it -p 1880:1880 --name nodered --restart always -e TZ=Europe/Rome -v /home/deb/nodered:/data nodered/node-red

Al termine dell’esecuzione, Node-RED sarà in esecuzione come container Docker.

Tramite Docker Compose

Se astutamente si sceglie di utilizzare Docker Compose, allora è semplicemente necessario aggiungere al proprio file docker-compose.yaml la seguente configurazione (sotto il bocco services):

  nodered:
    container_name: nodered
    image: nodered/node-red
    volumes:
    - "/home/deb/nodered:/data"
    ports:
    - "1880:1880"
    environment:
    - "TZ=Europe/Rome"
    restart: always

Una volta salvato il file docker-compose.yaml, eseguire il comando:

docker-compose up -d nodered

il quale provvederà a istanziare il container.
Lanciato il comando, attendere il completamente del primo avvio. Per leggere eventualmente in tempo reale i log e verificare quindi cosa stia succedendo all’interno del container, eseguire il comando:

docker container logs nodered -f

Al termine dell’esecuzione, Node-RED sarà in esecuzione come container Docker.

Accedere a Node-RED

Ora che Node-RED è correttamente installato e in esecuzione, collegarsi tramite browser all’indirizzo:

http://INDIRIZZO_IP_DEL_COMPUTER:1880

dove ovviamente “INDIRIZZO_IP_DEL_COMPUTER” sarà l’indirizzo IP del computer dove abbiamo appena istanziato Node-RED.

Apparirà un’interfaccia similare a questa:

Node-RED Dashboard

Complimenti! Ora Node-RED è pronto ad essere utilizzato.

Usi

Gli usi possibili di Node-RED – specialmente in domotica – sono i più disparati. Il limite è davvero la fantasia unita a necessità specifiche.

Uno dei progetti più belli che abbiamo dedicato a Node-RED è quello che illustra come creare un vero e proprio dispositivo virtuale MQTT a partire da più elementi MQTT presenti nel proprio ambiente.

Installazione nodi aggiuntivi

Immaginiamo di voler installare un nuovo set di “nodi” su Node-RED tra i tantissimi disponibili, per esempio l’arcinoto set node-red-contrib-home-assistant-websocket, utile a gestire esternamente il noto HUB per domotica personale Home Assistant.

Per farlo, innanzitutto entrare dentro la shell del container tramite:

docker exec -it nodered sh

poi, accedere alla cartella che contiene i nodi:

cd node_modules/

infine, eseguire il comando di installazione del set di nodi:

npm install NOME_SET

per esempio, nel caso del sopracitato node-red-contrib-home-assistant-websocket:

npm install node-red-contrib-home-assistant-websocket

Uscire poi dal container ed effettuare il restart dello stesso.

exit
docker restart nodered

Collegandosi nuovamente all’interfaccia di Node-RED, i nuovi nodi risulteranno presenti nella colonna di destra.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Se ti sei perso, a tua disposizione c'è la mappa.
Amazon - Promozioni del giorno