In un mondo in cui tutti i dispositivi sono connessi e comunicano tra di loro (Internet Of Things) è indispensabile avere degli strumenti d sviluppo che permettano di realizzare rapidamente delle applicazioni o dei prototipi.
NodeRed è uno degli strumenti più usati al momento.
Si tratta di un sistema di realizzare dei flussi di azioni, attraverso una interfaccia web semplice ed intuitiva, interconnettendo e configurando vari nodi ognuno dei quali espleta una funzione ben precisa.
Dalla “palette” (sezione dell’applicazione dedicata alla ricerca dei nodi disponibili) è possibile scegliere tra un gran numero di nodi messi a disposizione sia dal team di sviluppo ufficiale che dall’ampia comunità di sviluppatori sul sito flows.nodered.com
Per apprendere le nozioni base di NodeRed ho trovato molto utile questo corso su Coursera: A Developer’s guide to Node-RED .
Il corso è in inglese (con sottotitoli in inglese), ma è chiaro, semplice, interessante e prevede lo svolgimento di alcune esercitazioni pratiche (quattro flussi e un nodo personalizzato) che è possibile sottomettere a un sistema di valutazione che esegue delle verifiche in automatico e, in pochi secondi, restituisce il risultato.
Tra l’altro trovo davvero interessante questo modalità di verifica automatica degli esercizi, sarebbe bello sapere come è stata realizzata.
Gli istruttori sono: Brian Innes, Nick O’Leary (uno degli inventori di NodeRed), Maeve O’Reilly e John Walicki.
Il corso descrive il funzionamento dei nodi principali, l’utilizzo di Api e Web Services esterni, la creazione di Web Services di tipo REST, l’utilizzo di sistemi di memorizzazione dati esterni (tra cui Cloudant e SQLLite) e la realizzazione di un semplice nodo personalizzato.
Questo è il programma del corso:
- Introduction to the course 3m
- Course prerequisites 4m
- Summary of lessons 1m
- Practical work in the course 3m
- Meet the instructors 2m
- Node-RED overview and prerequisite knowledge 7m
- Introduction to Cloud native applications 7m
- Customising Node-RED 7m
- Change and Switch nodes 6m
- Getting started with Regular expressions 7m
- JSONata in Node-RED 6m
- Node-RED Additional nodes 3m
- Mastering the Node-RED menu options 6m
- Introduction to Node-RED Dashboards 7m
- Dashboard layout and configuration 6m
- Advanced Dashboard Nodes - Charts 5m
- Node-RED Forms and Templates 6m
- Overview of REST APIs 6m
- Calling a REST API from Node-RED 5m
- Creating a Web API in Node-RED - part 1 7m
- Creating a Web API in Node-RED - part 2 6m
- Creating a Web API in Node-RED - part 3 3m
- Building a web server from Node-RED 6m
- Interacting with Cloudant 8m
- Interacting with IBM Cloud Object Storage 9m
- Interacting with SQLite on a Raspberry Pi 2m
- Interacting with the Watson IoT Platform's Last Event Cache 2m
- Overview of a Node's structure 4m
- Setting up a development environment 4m
- The node runtime file 6m
- The node editor file 8m
- Adding more configuration options to a node 6m
- Packaging a node module 3m
- Introducing Configuration nodes 2m
- Patterns for configuration nodes 5m
- Additional node configuration options 2m
- Course wrap up 2m