Con la rapida affermazione dell’IoT si delinea, con sempre maggior chiarezza, la richiesta di sensori connessi a internet che offrano anche semplici funzioni di visualizzazione. Mentre questi sensori garantiscono un alto livello di automazione delle varie funzioni, inviando i dati alle applicazioni di controllo del Cloud, è sempre più sentita la necessità di visualizzare localmente le informazioni, nel senso che i tecnici di assistenza, locale o remota, possono confermare gli avvenuti aggiornamenti dal Cloud, oppure semplicemente dare un riscontro della normale funzionalità e operatività dei sistemi. Quest’articolo dimostra, con esempi pratici, l’utilizzo di un display wireless connesso a Internet che raggiunge con semplicità gli scopi descritti, rapidamente e a costi contenuti. Nella maggior parte dei progetti IoT, i sensori e gli attuatori funzionano in modalità wireless usando tecniche Wi-Fi o Bluetooth. Nonostante abbia consumi assai più elevati del Bluetooth o del Bluetooth Low Energy, il Wi-Fi offre il vantaggio di poter comunicare a distanze più elevate e a velocità più sostenute. La topologia di molti progetti IoT utilizza dei gateway che forniscono la comunicazione bidirezionale con il Cloud e sono in grado di organizzare i dati raccolti dai sensori locali, collegati in Bluetooth, oltre a poter svolgere alcune funzioni locali. Per la realizzazione dei propri progetti, gli sviluppatori hanno a disposizione un discreto numero di computer embedded su scheda singola, dotati di connettività Wi-Fi. L’aggiunta di un display si può realizzare in molti modi; i più comuni sono l’utilizzo di un modulo pre-assemblato o la costruzione “ex-novo” con componenti discreti. Tuttavia, recenti sviluppi hanno portato alla luce delle piattaforme embedded, complete e connesse al Wi-Fi, che incorporano un display sensibile al tocco. Un esempio significativo di una simile piattaforma è rappresentato dalla serie gen4 Internet of Displays di 4D Systems. Basata sul microcontrollore Wi-Fi Expressif ESP8266, il modulo è dotato di un display Tft foto-realistico da 65.000 colori sensibile al tocco, a matrice resistiva da 320 x 240 pixel, con dimensioni da 2,4, 2,8 o 3,2 pollici. Oltre a uno slot micro SD destinato alla memorizzazione dei dati e delle immagini usate dalle applicazioni, il modulo è dotato di 512 kB di memoria flash per il codice utente e di 128 kB di Sram, dei quali 80 kB disponibili. Con dimensioni di soli 78,4 x 44,8 x 7,2 mm, i moduli possono essere facilmente programmati utilizzando la diffusissima Ide di Arduino. Una vasta libreria GFX4d consente il rapido sviluppo di applicazioni grafiche mediante l’uso estensivo di funzioni primitive, tutte disponibili per il download alla pagina GitHub di 4D Systems. Un approccio diretto ed estremamente integrato allo sviluppo delle applicazioni grafiche è fornito dall’ambiente di sviluppo Workshop4, scaricabile gratuitamente dal sito web di 4D Systems. Un cavo Fpc a 10 pin collega il 4D IoD a un programmatore IoD 4D gen4. Il programmatore consente una connettività completa, fornisce l’alimentazione necessaria, programma e collauda il modulo IoD. L’ESP8266 è un microcontrollore wireless estremamente diffuso e potente, ampiamente supportato all’interno della comunità Arduino. A questo proposito si trovano una moltitudine di progetti open-source, destinati all’impiego delle sue caratteristiche Wi-Fi e collegati a banche dati gratuite come Weather Underground.
Applicazioni nell’IoT
La serie 4D IoD è ideale per una moltitudine di applicazioni nell’Internet delle Cose. Considerate un esempio applicativo che si connetta a una banca dati attraverso il Wi-Fi, in questo caso, Weather Underground, per visualizzare temperatura e umidità di un luogo specifico. Realizzare quest’applicazione coinvolge tre funzioni principali: decidere il modo in cui le informazioni climatiche sono rappresentate graficamente; usare un Api per il recupero dei dati da Weather Underground; visualizzare le informazioni. I prerequisiti essenziali all’inizio di questo progetto sono il download e l’istallazione dell’Ide Arduino, dei file di gestione della famiglia ESP8266, della libreria GFX4d e l’Ide di Workshop4. Sul foglio specifiche del gen4 IoD e sulla pagina GitHub di 4D Systems sono fornite le istruzioni complete e tutti i file necessari. Se intendete iniziare dalla Gui usando Workshop4: dopo aver scaricato e installato la versione più recente dovete aprire un nuovo progetto e selezionare il display gen4 IoD dall’ampia lista dei modelli disponibili. Vedrete due finestre principali, con il codice Arduino e lo schermo di un modulo virtuale 4D. Per questo progetto abbiamo trascinato l’icona di un termometro sullo schermo virtuale 4D, inizialmente vuoto, per visualizzare la temperatura in °C, e un simpatico strumento per indicare l’umidità in valori percentuali. Sul video appaiono anche le proprietà delle icone, che possono essere modificate a piacere. Per la precisione, l’intervallo di misura del termometro è stato definito tra 40 °C e 0 °C come temperatura minima. A questo punto possono anche essere inserite delle etichette. Dopo aver predisposto le icone, potete selezionare “Compile” per generare il codice base Arduino, visualizzato nel pannello di sinistra. Questo procedimento richiede anche di copiare sulla scheda micro SD i due file di layout che vengono generati. In questo esempio si chiamano WEATHE~1.DAT e WEATHE~1.GCI. Potete anche decidere di integrare la parte rimanente del codice per la comunicazione Wi-Fi in Workshop4, o semplicemente copiare il codice generato sulla Ide Arduino. Se optate per Workshop4, l’Ide Arduino deve essere fatta girare su un computer, poiché Workshop4 la chiama in background per la compilazione e l’upload del codice. Viene anche generato un file di tipo const.h che deve essere aggiunto allo sketch dell’Ide di Arduino. Il prossimo passo è ottenere un Api da Weather Underground. Si tratta di un procedimento semplice per ottenere le informazioni base. Salvate una copia dell’Api generata, perché vi servirà nello sketch di Arduino. Ci sono molte scelte per la vostra Api, a seconda di quanto frequentemente desideriate disporre di informazioni aggiornate. Esiste un’opzione gratuita ideale alla nostra applicazione di prova, ma tenete presente che, sviluppando un vostro codice, potreste chiamare l’Api più di quanto quest’opzione vi consenta. Il passo successivo è quello di mettere assieme il programma, per farlo girare sull’ESP8266. Questo compito è reso considerevolmente più semplice dall’esempio open-source reperibile su questa pagina GitHub. Esso fornisce il template di partenza ideale, al quale potremo aggiungere le sezioni necessarie del codice generato da Workshop4. Oltre a incorporare le funzioni grafiche gen4 IoD, la maggior parte delle funzioni principali dello sketch genera anche un eco sul monitor seriale dell’Ide di Arduino. Digitate SSID e password del vostro punto di accesso Wi-Fi, la vostra Api Weather Underground e il luogo dal quale volete ricevere le informazioni meteorologiche. Si deve rispettare una sintassi specifica per il paese e il luogo/città, pertanto è consigliabile verificare in precedenza questi aspetti presso il sito di Weather Underground. Si può osservare come lo sketch sia collegato ai file generati da Workshop4 tramite la funzione di chiamata gfx.Open4dGFX. Molto probabilmente, gfx.UserImages(iThermometer1,0) e gfx.UserImages(iCoolgauge1,0) rappresenteranno delle immagini iniziali a valore zero. Lo stesso varrà per le indicazioni sotto gli strumenti. All’interno del codice, la temperatura rilevata viene memorizzata nella variabile a virgola mobile otemp e l’umidità nell’intero ohumidity. I valori sono visualizzati come: gfx.UserImages(iThermometer1,otemp); gfx.UserImages(iCoolgauge1,ohumidit. L’applicazione gira sul modulo gen4 IoD.
I prodotti 4D Systems sono disponibili su http://www.elettroshop.com/4d-systems/ attraverso il distributore Inware srl – 0266504794 – info@inware.it