Home - BitMakerMan/Share_NodeRed_Flow GitHub Wiki
📘 Guida Completa a Node-RED
⚠️ Node-RED è uno strumento open source basato su Node.js per creare flussi logici tra dispositivi, API e servizi. È ampiamente utilizzato nell’ambito dell’IoT (Internet of Things), automazione domestica, integrazione di sistemi e prototipazione rapida.
Indice
- Cos’è Node-RED?
- Caratteristiche principali
- Installazione
- Interfaccia utente
- I nodi
- Creare un primo flusso
- Importare/Esportare flussi
- Configurazione avanzata
- Dashboard UI
- Esempi pratici
- Estendere Node-RED con NPM
- Problemi comuni e soluzioni
- Risorse utili
Cos’è Node-RED?
Node-RED è un ambiente di programmazione visuale che permette di collegare dispositivi, API e servizi usando un sistema di "flussi" composti da blocchi logici chiamati nodi.
Vantaggi:
- Non richiede una conoscenza approfondita di programmazione
- Molto flessibile grazie ai pacchetti aggiuntivi
- Ideale per il mondo IoT e automazione
- Funziona ovunque giri Node.js
Caratteristiche principali
Caratteristica | Descrizione |
---|---|
Ambiente Web | Accessibile tramite browser |
Programmazione visuale | Usa un editor drag-and-drop |
Estensibile | Supporta migliaia di nodi aggiuntivi via NPM |
Multi-piattaforma | Funziona su Windows, Linux, macOS, Raspberry Pi |
MQTT integrato | Per comunicazioni IoT leggere e veloci |
Dashboard UI | Per creare interfacce grafiche personalizzate |
Installazione
Windows
Installa Node.js:
- Scarica da: https://nodejs.org/it/download
- Scegli la versione LTS
- Segui l’installer
Verifica l'installazione:
node -v
npm -v
Installa Node-RED globalmente:
npm install -g --production node-red
Avvia Node-RED:
node-red
Accesso all’interfaccia web:
👉 http://localhost:1880
Linux (Ubuntu/Debian)
Aggiorna i pacchetti:
sudo apt update
Installa Node.js e npm:
sudo apt install nodejs npm
Installa Node-RED:
sudo npm install -g --unsafe-perm node-red
Avvia Node-RED:
node-red
macOS
Installa Node.js con Homebrew:
brew install node
Installa Node-RED:
npm install -g --production node-red
Avvia Node-RED:
node-red
Accesso:
👉 http://localhost:1880
Interfaccia utente
L’interfaccia si compone di 4 aree principali:
- Barra laterale sinistra: gestisce nodi, flussi, debug, ecc.
- Area dei nodi: elenco dei nodi disponibili
- Area di lavoro (canvas): dove costruisci i tuoi flussi
- Barra superiore: pulsanti per deploy, import/export, ecc.
I nodi
I nodi sono i "blocchi" base di ogni flusso. Ogni nodo ha una funzione specifica.
Tipi principali:
- Input/output (HTTP, MQTT, Serial, ecc.)
- Logica condizionale (switch, function)
- Manipolazione dati (JSON, CSV, ecc.)
- Database (MongoDB, MySQL, ecc.)
- Dashboard UI (grafici, bottoni, slider)
Puoi cercare i nodi nel pannello sinistro oppure installarli da NPM.
Creare un primo flusso
Obiettivo: Stampare un messaggio dopo 5 secondi
Passaggi:
- Trascina un nodo
inject
sull’area di lavoro - Impostalo su "timestamp" e intervallo di 5 sec
- Trascina un nodo
debug
- Collega i due nodi
- Clicca su Deploy
- Apri la scheda Debug per vedere il risultato
Importare/Esportare flussi
Esportare
- Seleziona i nodi che vuoi esportare
- Clicca con il tasto destro → "Copy"
- Incolla il codice JSON in un file
.json
Importare
- Clicca sull’area di lavoro → tasto destro → "Import"
- Inserisci il codice JSON → clicca "Import"
Configurazione avanzata
La configurazione principale si trova in:
~/.node-red/settings.js
In questo file puoi modificare:
- Porta di accesso
- Sicurezza (username/password)
- Cartella dei flussi
- Log
- Abilitare HTTPS
Dashboard UI
Node-RED include un modulo chiamato Dashboard UI per creare interfacce grafiche facilmente.
Installazione:
npm install node-red-dashboard
Dopo riavvio, troverai nuovi nodi nella categoria Dashboard per creare:
- Grafici
- Bottoni
- Slider
- Tabelle
- Schede
Esempi pratici
Esempio 1: Invio notifica Telegram quando arriva un dato
[
{
"id": "telegram-in",
"type": "telegram receive",
"name": "Telegram In",
"botid": "my-bot",
"x": 100,
"y": 100,
"wires": ["process-msg"](/BitMakerMan/Share_NodeRed_Flow/wiki/"process-msg")
},
{
"id": "process-msg",
"type": "function",
"name": "Process Message",
"func": "msg.payload = 'Hai detto: ' + msg.payload; return msg;",
"x": 250,
"y": 100,
"wires": ["telegram-out"](/BitMakerMan/Share_NodeRed_Flow/wiki/"telegram-out")
},
{
"id": "telegram-out",
"type": "telegram send",
"name": "Telegram Out",
"botid": "my-bot",
"x": 400,
"y": 100,
"wires": []
}
]
Estendere Node-RED con NPM
Node-RED supporta l’installazione di nuovi nodi tramite NPM.
Comando:
cd ~/.node-red
npm install nome-del-nodo
Esempio:
npm install node-red-contrib-mqtt-broker
Poi riavvia Node-RED:
node-red
Problemi comuni e soluzioni
Problema | Soluzione |
---|---|
Porta 1880 occupata | Modifica la porta in settings.js |
Nodo non compare | Riavvia Node-RED o controlla i log |
Errore durante l’installazione | Usa --unsafe-perm per installazioni globali |
Flusso non funziona | Controlla i collegamenti e prova con il Debug |
Mancanza di permessi | Esegui con sudo o come admin |
Risorse utili
- 🔗 Sito ufficiale Node-RED
- 📦 Nodi aggiuntivi (flows.nodered.org)
- 📘 Documentazione ufficiale
- 💬 Forum ufficiale
- 🧪 Esempi di flussi