L'introduzione di Bluetooth Low Energy ha senza dubbio rivoluzionato il concetto di Internet of Things e contribuito a trasformarlo in una realtà commerciale. L'ampia diffusione di Ble è imputabile in larga misura al suo impiego in smartphone, tablet e, successivamente, laptop. L'adozione di Ble ha rappresentato un notevole vantaggio rispetto ai precedenti protocolli proprietari che richiedevano un componente hardware custom, come ad esempio una chiavetta USB oppure una radio integrata, per poter completare una trasmissione in modalità wireless. Tutto ciò, unito ad altri fattori come il basso consumo di potenza e l'uso di software basato su standard, ha favorito l'affermazione di Ble come standard "de facto" per le applicazioni IoT. Le più diffuse applicazioni IoT sono quelle che riguardano l'elettronica indossabile (come ad esempio il braccialetto Jawbone Up), dove un dispositivo acquisisce i dati dai sensori, fa girare algoritmi complessi per estrarre informazioni utili e quindi trasmette tali informazioni a un dispositivo mobile. Concetti analoghi a quello espresso sono ora stati adottati da elettrodomestici e moduli sensore destinati a trasformare una casa tradizionale in una casa intelligente. Tra i numerosi esempi di apparecchi domestici intelligenti si possono annoverare ad esempio macchine per espresso che preparano il caffè scelto dall'utente nel momento in cui questi è pronto per uscire di casa al mattino oppure sistemi di controllo dell'illuminazione che rilevano la presenza/assenza della persona in una camera e automaticamente accendono e spengono la luce. Un problema che nasce con l'attuale implementazione dello standard Ble è rappresentato dalla limitata topologia di rete. Nelle applicazioni come ad esempio le case "intelligenti", dove ci possono essere più nodi (sensori e interruttori luminosi in diverse parti di un'abitazione), ogni nodo deve essere controllato singolarmente da un dispositivo centralizzato comune, solitamente un telefono mobile. Un nuovo approccio si propone di superare questa limitazione. Si prenda ad esempio in considerazione un sistema per una casa intelligente che prevede molteplici nodi. Ciascun nodo ha un'interfaccia per sensore, un'unità di controllo della luce e un'unità di comunicazione conforme con lo standard Ble. L'interfaccia per sensore può rilevare la presenza di una o più persone e l'intensità della luce. L'unità di controllo della luce può accendere o spegnere la luce e controllare la temperatura di colore (per quantificare la tonalità della luce) e l'intensità delle luci, mentre l'unità di comunicazione implementa il protocollo Ble che consente il colloquio con gli altri nodi del sistema. Nel sistema preso in considerazione tutti i nodi comunicano attraverso una rete a maglia (mesh network): ciascun nodo può operare come master o slave seguendo uno schema a multiplazione di tempo. Ogni nodo implementa le seguenti funzionalità:
• Interfaccia sensore: ogni nodo implementa interfacce per un sensore di prossimità e uno di luce ambientale. I segnali provenienti da questi sensori sono condizionati utilizzando un amplificatore e quindi digitalizzati mediante un convertitore A/D. I segnali così digitalizzati sono utilizzati per il controllo della funzionalità del Led e per la comunicazione con gli altri nodi presenti nel sistema.
• Unità per il controllo della luce: i segnali misurati sono elaborati da una Mcu e quindi convertiti in informazioni di controllo per l'intensità e la temperatura di colore della luce. L'unità di controllo può regolare la temperatura di colore e l'intensità della luce in base ai livelli della luce ambientale e dell'ora del giorno (sfruttando un Rtc) oppure in funzione dei dati immessi dall'utilizzatore ricevuti attraverso un'app che gira sul telefono mobile che supporta il protocollo Ble.
• Unità di comunicazione Ble: in un sistema come quello descritto Ble è utilizzato per due scopi. In primo luogo fornisce un mezzo al telefono mobile per controllare le luci sul nodo. In questo caso il nodo opera come una periferica Gap, in conformità ai ruoli stabiliti dal profilo Gap (Generic Access Profile), e riceve le informazioni di controllo dal telefono, che in questo caso opera come dispositivo Gap centrale. In secondo luogo, Ble mette a disposizione un meccanismo che permette al nodo di controllare altri nodi presenti nel sistema per la casa intelligente. In questo caso il nodo muta il proprio ruolo e agisce come dispositivo Gap centrale in modo da poter inviare informazioni di controllo agli altri nodi.
Variazioni dinamica dei ruoli definiti dal profilo Gap del protocollo Ble
In questa applicazione tutti i nodi operano come periferiche Gap (slave) e cercano di stabilire una connessione in modalità Ble con il dispositivo centrale Gap (master). Una volta che un nodo riceve informazioni di controllo da un dispositivo centrale Gap o rileva un movimento dai sensori piroelettrici muta il proprio ruolo divenendo un dispositivo Gap centrale e stabilisce collegamenti con gli altri nodi del sistema per poter inoltrare le informazioni. In questo modo gli altri nodi non necessitano di informazioni di controllo dirette da parte del telefono mobile ma possono ricevere le medesime informazioni dal nodo adiacente. A causa dell'ampia gamma di funzionalità richieste in un'applicazione come quella descritta, di solito è necessario ricorrere a una soluzione multi-chip. L'impiego di più chip comporta un incremento sia del costo della Bom sia dello spazio occupato a bordo della scheda Pcb. A questo punto è utile sottolineare il fatto che lo spazio rappresenta in elemento critico in applicazioni di questo tipo. In questo caso la soluzione ideale è rappresentata da PsoC 4 Ble di Cypress Semiconductor. Questo modulo permette di implementare una comunicazione conforme a Ble che non solo supporta entrambi i ruoli previsti dal profilo Gap (dispositivo centrale e periferico) ma consente anche la commutazione dinamica tra i due. Il modulo PSoC4 Ble prevede anche blocchi analogici programmabili che permettono di creare interfacce per sensori personalizzate oltre a blocchi digitali programmabili per l'implementazione delle unità di controllo: tutti questi componenti possono essere utilizzati per lo sviluppo di una soluzione su chip singolo. Adottando un tale approccio è possibile implementare una soluzione economica grazie alla riduzione del numero di componenti richieste (con conseguente diminuzione degli ingombri sulla scheda Pcb) e modulare, in quanto è possibile utilizzare lo stesso chip per implementare differenti funzionalità per differenti nodi.