Node-RED, la programmazione flow-based per l’IoT

 Node-RED è un linguaggio di programmazione a blocchi, sviluppato per gestire agevolmente flussi di dati che viaggiano in ambiente IoT , o generati dai sensori gestiti da baord come arancino.cc attraverso la programmazione flow-based . Node-RED mette a disposizione degli utenti un editor di flussi (fig.1) basato su browser, che grazie ad un’ampia galleria di nodi presenti nella palette della dashboard, semplifica il collegamento e la realizzazione dei flussi, che possono essere distribuiti in runtime con un semplice click. Le funzioni JavaScript possono essere create all’interno dell’editor utilizzando un editor di testo avanzato. Le funzioni, i modelli o i flussi creati dall’utente, grazie ad una libreria integrata, possono essere salvati per il riutilizzo.

Node-red si basa sul protocollo MQTT (Message Queuing Telemetry Transport) di IBM, lo standard di riferimento della comunicazione per l’Internet delle Cose. Le informazioni tra i nodi di ogni flusso viaggiano sotto forma di messaggi (msg) alfa-numerici o di altro tipo (json), contenuti nei blocchi payload o msg.payload ; ogni messaggio inviato ad un nodo del flusso, può essere inviato al nodo successivo, che lo userà a sua volta per l’operazione per cui è stato programmato. Il runtime leggero è basato su Node.js, sfruttando appieno il suo modello non bloccante basato sugli eventi. Questo lo rende ideale per funzionare ai margini della rete su hardware a basso costo e nel Cloud. I flussi creati in Node-RED vengono archiviati utilizzando JSON che può essere facilmente importato ed esportato per la condivisione. Una libreria di flussi online consente di condividere i flussi realizzati.

Alla nostra pagina “Esempi con Mikroe Click” sono disponibili alcuni casi d’uso di Node-RED.