SensorTag_Apertura

IoT e hardware a supporto in un kit di sviluppo adatto a chi vuole realizzare subito applicazioni IoT.

Internet delle Cose è probabilmente una delle scommesse tecnologiche più impegnative e interessanti di questi anni. Stiamo parlando, per i pochi che ancora non lo sapessero, di una rete di dispositivi come quelli che abbiamo intorno a noi, come tablet, cellulari ma anche orologi, elettrodomestici (lavatrici, frigoriferi e via dicendo), dotati di tecnologie di interconnessione basati sull’elettronica che più o meno tutti conosciamo e sui protocolli di comunicazione che stiamo imparando a utilizzare. Si tratta di dispositivi programmati in modo da sfruttare sensori che acquisiscono dati, li elaborano opportunamente e riescono anche a trasmetterli.

L’Internet delle Cose consente agli oggetti di diventare “intelligenti” e di poter interagire non soltanto tra loro, ma anche con sistemi centralizzati di smistamento dei dati e di organizzazione degli stessi.

Perché ci interessa un panorama del genere? Immaginate come la qualità della nostra vita può realmente migliorare se la nostra casa diventa intelligente, per esempio, adattando l’impianto di riscaldamento, l’accensione della connettività wireless ma anche le luci alle nostre esigenze e abitudini quotidiane. Come sarebbe bello se il nostro frigorifero fosse in grado di avvertirci del fatto che abbiamo finito le scorte di latte oppure che lo stesso è in scadenza? E questo magari potrebbe essere utile che arrivi come notifica sul cellulare mentre siamo al supermercato a fare la spesa?
E se fosse proprio il nostro frigo a suggerirci che cosa comprare sulla base di quello che non c’è o che sta finendo?
E se tutto questo fosse correlato, per esempio, con la migliore dieta consigliata a partire dalla nostra attività fisica in palestra o dalle nostre abitudini lavorative desunte da sensori?

Perché l’IoT?

Tutte queste cose oggi sono ancora in fase embrionale, ma esistono supporti allo sviluppo e dispositivi in grado di consentire ai tecnici di iniziare a lavorare alla loro creazione.

Ed esistono già tecnologie piuttosto mature che sono in grado di effettuare comunicazioni puntuali e distribuite.

Più o meno tutti noi utilizziamo una connessione wireless ogni giorno e ci fa molto piacere avere degli orologi smart che comunicano via Bluetooth e che sono in grado di contare i nostri passi, così da indicarci quante calorie abbiamo bruciato.

Non ci accorgiamo neanche della complessità dei sistemi che portiamo addosso quotidianamente, di quanto la programmazione software sia in effetti pervasiva ed estremamente mirata all’estrazione di questi dati.

Abbiamo già -senza accorgercene- praticamente tutto l’hardware di cui abbiamo bisogno. Quello che manca è la possibilità di creare un’infrastruttura centralizzata, oppure un’organizzazione complessiva che renda effettivamente i nostri oggetti capaci di interagire tra loro.

Ma l’IoT può non solo cambiare la nostra vita quotidiana: può anche influire positivamente sulla produzione, sia industriale che agricola; anche negli allevamenti, troverebbe un’interessante applicazione, ad esempio, monitorando le condizioni degli animali nelle fattorie.

Se vi state chiedendo quali sono gli ambiti di applicazione di una filosofia di interconnessione come quella di cui stiamo parlando, sappiate che oltre ai dispositivi indossabili ci sono tantissime applicazioni: dalle fabbriche intelligenti, in grado di gestire le pratiche di magazzino dall’approvvigionamento dei materiali allo smistamento e all’organizzazione delle merci finanche alle città veramente intelligenti, che ottimizzano, per esempio, le luci sia nell’ambito dell’illuminazione stradale, sia nei luoghi di aggregazione e di fruizione. E perché non pensare all’automobile? Comunicazione dello stato di salute del veicolo direttamente con la casa madre ed interazione diretta con il guidatore tramite il display già previsto sul cruscotto per gli interventi di manutenzione o la gestione delle condizioni critiche. E perché non l’analisi dei parametri vitali e del livello di attenzione del guidatore con gestione delle condizioni di pericolo?


Che hardware ci serve?

Per realizzare dispositivi integrati nell’IoT serve un supporto hardware e software adatto; un valido esempio è il kit di sviluppo SimpleLink Bluetooth Smart di Texas Instruments. In quest’ottica si colloca il nuovo Sensor Tag per IoT, mirato allo sviluppo di applicazioni smart votate all’Internet delle Cose, che ci dà la possibilità di realizzare e gestire una rete di dispositivi connessi in cloud. All’interno del kit è presente un numero impressionante di sensori, che spaziano dall’accelerometro al sensore di temperatura.

SensorTag_Matita

Si tratta di una soluzione espandibile grazie ai DevKit, che aggiungono sensori oppure attuatori al sistema.

Vedremo tra poco come si possono effettuare le connessioni e quali risultati possono essere ottenuti su smartphone e tablet dotati di connettività Bluetooth LE. A tal proposito, è indispensabile che sia questa la versione supportata dai vostri dispositivi, altrimenti l’accoppiamento e l’utilizzo dei dati non andrà a buon fine.

E a proposito di possibili protocolli di comunicazione ed interfacce supportate, vale la pena di sottolineare come SensorTag lavori anche con tecnologia ZigBee/6LoWPAN.

La compatibilità del kit è pressoché totale, dal momento che l’applicazione è utilizzabile con iOS e Android, e tutti i dati provenienti dai sensori potranno essere immediatamente on-line entro un paio di minuti.

SensorTagFig01

Prima di vedere come funziona, però, vogliamo dare uno sguardo alla dotazione hardware, per farvi capire di che cosa stiamo parlando: SensorTag è una soluzione basata su microcontrollore wireless sempre targato Texas Instruments, il CC2650. Grazie a questo hardware, Texas Instruments è in grado di offrire un dispositivo che consuma il 75% in meno rispetto alle precedenti versioni di kit compatibili con lo standard Bluetooth, e questo significa maggior durata della batteria, minore necessità di intervento ed una serie di altri vantaggi facilmente intuibili. Il tutto funziona con una pila a bottone.

SensorTag

Entriamo finalmente nel vivo della questione e andiamo a vedere che cosa c’è dentro questo kit. Per parlarne, però, va vista la sua evoluzione, quanto meno in termini di prestazione. Il CC2650 SensorTag DevKit è in realtà l’evoluzione per progettisti della prima generazione basata su CC2541 (http://www.ti.com/tool/cc2541dk-sensor). Questo è il primo kit di sviluppo Bluetooth Smart che si sia occupato di fornire al progettista uno strumento wireless completo, basato su sensori e orientato alle applicazioni pratiche sulle quali lavorano gli sviluppatori di app per dispositivi mobili.

Di fatto, costituisce il progetto di riferimento per tutti coloro che vogliono lavorare in quest’ambito, e in effetti guardando alla dotazione si capisce il perché.

Il SensorTag lavora con il TPS62730, un convertitore di tipo step-down, che vediamo impiegato nella Fig. 2 (http://www.ti.com/product/tps62730).

SensorTag_RegolatoreFig02

In questo esempio si vede che l’alimentazione a batteria, opportunamente controllata per evitare componenti parassite, funge da riferimento per il convertitore che fornisce l’opportuno valore di tensione d’uscita stabilizzato al CC430. Riportiamo qui di seguito le caratteristiche per completezza:

  • tensione in ingresso compresa fra 1,9 e 3,9 V;
  • consumo di corrente in modalità Ultra-Low Power di 30 nA;
  • corrente a riposo di 25 μA (DC-DC);
  • frequenza di commutazione fino a 3 MHz;
  • efficienza di conversione DC-DC fino al 95%;
  • corrente d’uscita di picco fino a 100 mA;
  • tensioni d’uscita: 1,9 V – 2,05 V – 2,1 V – 2,3 V;
  • componenti per filtro d’uscita di piccole dimensioni (2,2 μH e 2,2 μF);
  • dimensioni di appena 1×1,5×0,6 mm USON.

Si tratta di un convertitore pensato specificatamente per la gestione di applicazioni wireless che debbano operare con un basso consumo di potenza.
L’alimentazione prevista in questo caso proviene da una batteria a 3V, in particolare il valore massimo che è possibile gestire in ingresso è pari a 3,6 V. Tutto questo, perché la tensione che deve localizzarsi su ciascuno dei pin digitali del chip Bluetooth è pari a VDD+0,3 V e questo valore dovrà obbligatoriamente essere inferiore al massimo valore di tensione per il quale il chip è documentato, ovvero 3,9 V. All’interno del bundle, estremamente minimale in verità, troviamo:

  • 1 SensorTag;
  • 1 batteria CR2032;
  • 1 contenitore;
  • la Quick Start Guide.

Le specifiche tecniche del chip sono notevoli e le riportiamo di seguito, per completezza:

  • Bluetooth Low Energy a 2,4 GHz compatibile con SoC RF;
  • supporto per data rate pari a: 250-kbps, 500-kbps, 1-Mbps, 2-Mbps;
  • potenza d’uscita programmabile fino a 0 dBm;
  • ottima sensibilità in ricezione (–94 dBm @ 1 Mbps) e selettività;
  • ottima soluzione per Systems Targeting compatibile con le regolamentazioni in termini di radiofrequenze: ETSI EN 300 328 and EN 300 440 Class 2 (Europe), FCC CFR47 Part 15 (US), and ARIB STD-T66 (Japan).

Per quanto riguarda il Layout del circuito, stiamo parlando di pochissimi componenti aggiunti a un integrato che si propone nel formato QFN-40, quadrato, di 6 mm di lato. Inoltre, la compatibilità della piedinatura con il CC2540, sempre che il protocollo I²C non sia in uso, lo rende estremamente versatile. Tra le altre cose la soluzione viene documentata in un Reference Design con delle indicazioni piuttosto precise.

Dal punto di vista del consumo di potenza, le modalità sono le seguenti:

  • Active-Mode RX: 17,9 mA;
  • Active-Mode TX (0 dBm): 18,2 mA;
  • Power Mode 1 (4 µs di Wake-Up): 270 µA;
  • Power Mode 2 (con Sleep Timer): 1 µA;
  • Power Mode 3 (Interrupt esterni): 0,5 µA;
  • consumo Low Power in modalità Active (Compatibile TPS62730): RX, fino 14,7 mA e TX (0 dBm), 14,3 mA.

Grande dotazione è presente in termini di periferiche, dal momento che abbiamo a disposizione cinque canali DMA, un timer General Purpose a 16 bit e due ad 8, controllo della batteria e sensore di temperatura, predisposizione per la generazione IR, un convertitore ADC a 12 bit otto canali con risoluzione configurabile, coprocessore AES Security, 2 USART, ben 23 GPIO, interfaccia I²C ed un watchdog timer. Il tutto con l’aggiunta di 128 o 256 kB di memoria Flash.

Per quanto riguarda lo sviluppo, i tool disponibili sono: CC2541 Evaluation Module Kit (CC2541EMK), e sua variante mini (CC2541DK-MINI), il software SmartRF e l’irrinunciabile IAR Embedded Workbench.

 

CC2650

La revisione che abbiamo testato, quella basata su CC2650, è una piattaforma di sviluppo che rende finalmente possibile lavorare con l’Internet delle Cose in maniera concreta e con ottime possibilità di implementazione, e questo combinando la potenza dei sensori con la connettività cloud.

SensorTag è un sistema multi piattaforma che consente allo sviluppatore di scegliere diverse tecnologie di trasmissione dei dati, tutte basate su una portante pari a 2,4 GHz, grazie ad una semplice implementazione software che consente addirittura l’installazione e l’aggiornamento con metodo OTA (Over-The-Air).

Vediamo adesso che cosa c’è nel kit più evoluto e più moderno, e perché è così interessante: tanto per iniziare, è stato aggiunto il supporto per un maggior numero di sensori che operano a bassa potenza. Proprio a dimostrazione delle potenzialità in termini di connessione, ci sono addirittura una decina di sensori a bordo, e possiamo, infatti, elencare: sensori di luminosità, microfono digitale, sensore magnetico, rilevatore di umidità e pressione, accelerometro, giroscopio, magnetometro, sensore di temperatura.

Il tutto è gestito da un ARM Cortex-M3 (CC2650) che lavora anche con connettività cloud, come abbiamo detto, e pertanto consente l’accesso diretto del controllo del SensorTag praticamente da qualunque parte del mondo, garantendo anche l’integrazione con i dispositivi mobili. Dal momento che non c’è una specifica precisa per ciascun singolo tag o sensore, i SensorTag sono interscambiabili e la loro programmazione ed il completo sviluppo del sistema può essere portato a termine grazie alla licenza completa del compilatore Code Composer Studio.

Diamo ora uno sguardo ad alcune porzioni dell’hardware: la prima riguarda alcune delle interconnessioni al chip come indicato in Fig. 3,

SensorTagFig03

dove, da sinistra verso destra, si nota il corretto condizionamento del Reset, la presenza del quarzo, il circuito di connessione all’antenna con rete LC, nonché l’antenna stessa.

Naturalmente le interconnessioni al chip non si fermano qui, perché c’è tutta la parte relativa agli ingressi e alle uscite che dialogano con i sensori e prelevano dati dagli stessi (Fig. 4).

SensorTagFig04

La terza parte, invece, riguarda la connessione USB del DevKit, con particolare riferimento al componente TPD4E004DRY (Fig. 5):

SensorTagFig05

questo integrato svolge la funzione di protezione dalle scariche elettrostatiche. Notevole è il fatto che sia stato implementato nonostante l’alimentazione sia a batteria, a dimostrazione del fatto che è sempre necessario proteggere i circuiti elettronici anche da scariche provenienti da alimentazioni fisse stabilizzate come quelle prelevabili da dispositivi portatili o pile.

Abbiamo anche detto che il kit è espandibile e in effetti è presente un connettore per kit di sviluppo esterni che nello schema viene identificato come J4 (Fig. 6),

SensorTagFig06

dalla quale si evince chiaramente che il condizionamento del segnale viene fatto polarizzando il dispositivo, connettendo uscite e ingressi, come quelli del protocollo I²C o i più classici MISO e MOSI, che -per chi non lo sapesse- sono acronimi di Master Input Slave Output e Master Output Slave Input, che sono i canali dati nelle due direzioni, relativi al protocollo di comunicazione SPI (Serial Peripheral Interface). A completare il quadro si vede nello schema la connessione dedicata per il segnale di sincronismo (clock).

Il resto dello schema non viene riportato perché si tratta di soluzioni abbastanza semplici per connettere un LED, per esempio, dove è necessaria una resistenza, opportunamente dimensionata, per limitare il valore di corrente in funzione della linea di collegamento sulla quale si trova. Ma ciò che rende questo kit veramente all’altezza delle aspettative è la dotazione in termini di sensori perché in effetti, come vi abbiamo detto, ce n’è per tutti i gusti, in particolare: sensore di temperatura, accelerometro, sensore di umidità e pressione e anche di intensità luminosa. Nello specifico stiamo parlando del TMP007, una soluzione sempre targata Texas Instruments così come il sensore di luminosità, l’OPT3001 e quello di umidità, l’HDC1000.

Per quanto riguarda il rilevamento del movimento, l’MPU9250 è un integrato a 9 assi che integra accelerometro, giroscopio e magnetometro. La rilevazione della pressione è affidata ad un sensore Bosch BMP280.

L’applicazione

Vediamo, adesso, come funziona l’applicazione fornita (http://www.ti.com/ww/en/wireless_connectivity/sensortag2015/?NTC=SensorTag&HQS=sensortag). La connettività di questa soluzione è garantita tramite smartphone e supporta lo standard Beacon, del quale parleremo tra un attimo; ha un raggio di copertura, e quindi di azione, di 50 m (150 ft) e può lavorare con un massimo di otto dispositivi garantendo addirittura un anno di autonomia. L’interfaccia utente che permette di utilizzarla è un’app, chiamata Simplelink SensorTag, che trovate disponibile sia sul Play Store di Google sia sull’App Store di Apple.

Di seguito vi spieghiamo come utilizzarla: innanzitutto installiamo l’app (Fig. 7),

SensorTagFig07

dopodiché la dobbiamo avviare e connettere al kit dopo aver attivato il Bluetooth (Fig. 8).

SensorTagFig08

A questo punto scorriamo sul touch-screen e possiamo vedere i dati rilevati, come appare in Fig. 9.

SensorTagFig09

Tra le funzionalità scopriamo la gestione del cloud per il salvataggio dei dati (Fig. 10).

SensorTag_Fig10

Tra le operazioni che possiamo compiere c’è anche l’aggiornamento, con metodo OTA esattamente come vi avevamo descritto (Fig. 11).

SensorTag_Fig11

Tramite questa applicazione potrete fare esattamente quel che dicevamo all’inizio, ovvero creare la vostra personalizzata rete di sensori e di dispositivi, come avete visto nell’immagine. L’aspetto estremamente positivo è che non è indispensabile avere delle abilità particolari nella programmazione per poterlo utilizzare.

 

iBeacon

Altro aspetto davvero interessante è la compatibilità con lo standard iBeacon, che consente al telefono di eseguire l’applicazione e personalizzare i contenuti che sono basati sulla localizzazione fisica dei sensori e degli attuatori di riferimento.

Dal momento che non tutti conoscono questo particolare standard, è il caso di chiarire di cosa stiamo parlando.

Lo standard iBeacon è un protocollo di comunicazione creato dalla Apple, grazie al quale alcuni trasmettitori, che prendono il nome di Beacon (fari), trasmettono informazioni identificative della loro presenza a dispositivi basati sulla tecnologia Bluetooth Low Energy. Lo scopo è quello di identificare univocamente la loro posizione basandosi sulla prossimità. Questo li rende estremamente interessanti per il posizionamento di oggetti all’interno di ambienti chiusi, dove il sistema di posizionamento globale, meglio noto con l’acronimo GPS, non può funzionare.

Se tale standard viene associato a tutto quello di cui abbiamo parlato fino a questo momento, l’ingresso all’interno di una stanza può essere la condizione che abilita un determinato meccanismo o automatismo, come per esempio la semplice accensione delle luci oppure l’avviamento di una macchina.

Diverse sono, tuttavia, le applicazioni ed esulano dalla “semplice” automazione domestica, visto che i pagamenti tramite dispositivi mobili, e tutto il sistema di transazioni online, fanno parte a pieno titolo delle applicazioni a corto raggio che possono beneficiare dell’impiego dei Beacon. Dal momento che esistono anche scenari operativi che prevedono l’impiego con distanze pari o addirittura superiori a 10 m, risulta evidente come anche le applicazioni in ambito industriale siano tantissime. L’iBeacon è interessante soprattutto per le sue differenze con altre tecnologie di localizzazione, perché quelli utilizzati sono trasmettitori che effettuano la trasmissione solo verso uno o più dispositivi riceventi e necessitano di una specifica decodifica dei segnali, ovvero di un’app in grado di interpretarli. Ciò garantisce che soltanto le applicazioni effettivamente installate possano tracciare gli utenti all’interno dell’ambiente, ed assicura che il tracciamento non avvenga a loro insaputa. Una delle app più interessanti ed utilizzate dagli sviluppatori che lavorano su questa tecnologia è iBeacon Detector.

Proprio riguardo questo standard Texas Instruments risulta tra le aziende più attive nella produzione di chipset per iBeacon a basso consumo. Uscito nel 2013, lo standard iBeacon risulta compatibile con dispositivi iOS e MAC con Bluetooth 4.0 e dispositivi con sistema operativo Android in versione pari o superiore alla 4.3 (http://www.ti.com/tool/cc2650stk).

 

Conclusioni

Il kit che abbiamo provato funziona davvero molto bene ed è stato ingegnerizzato in maniera estremamente precisa e pulita. La soluzione si dimostra pratica e di facile uso, decisamente immediata.

Riteniamo, pertanto, che rappresenti un case-study ed un proof-of-concept decisamente all’altezza del suo compito, che può essere utilizzato in diversi ambiti: l’identificazione dei clienti, con abitudini e preferenze, il che ha applicazioni nel marketing, per esempio. Inoltre, lo stesso tipo di dati può essere collezionato ed interpretato in ottica Big Data.

Nel monitoraggio ambientale è chiara l’utilità: il controllo non soltanto del livello ma anche della qualità delle acque, atmosferiche e non, per esempio, così come esistono applicazioni di pubblica sicurezza e pubblico interesse riguardo la possibilità di prevedere terremoti ed altri eventi ambientali potenzialmente dannosi.

Se le stesse informazioni provenissero, invece, dall’analisi di contesti urbani, si potrebbe fare monitoraggio ambientale in termini di qualità dell’aria e una stazione meteorologica puntuale, in una rete a stella, effettuerebbe un controllo qualitativamente e quantitativamente di qualità rispetto a quello che più comunemente viene fatto oggi, soprattutto quando le stazioni metereologiche vengono posizionate all’interno di parchi che sono mosche bianche in città metropolitane ad alta densità di traffico. Questo tutelerebbe la rappresentatività del dato.

E ancora, monitoraggio delle condizioni di salute, come detto in precedenza, automazione degli edifici e della casa, gestione del risparmio energetico ed anche controllo dei beni, e delle merci, sottoposte a trasporto, con analisi intelligente del traffico ed elaborazione della logistica.

Tutto questo sarebbe estremamente più facile, vista la possibilità di identificare univocamente ciascuna scheda dotata di un generico numero di sensori sulla quale potrebbe anche essere più facile intervenire in caso di malfunzionamento o guasto, soprattutto perché il maggior numero di sensori a disposizione renderebbe un caso del genere meno invalidante dell’intero sistema così strutturato, in relazione a quello che genericamente è presente oggi.

Ricordiamo che il CC2650STK-SimpleLink Bluetooth Smart®/Multi-Standard SensorTag può essere acquistato direttamente sullo store di TI al prezzo di 29 dollari. (https://store.ti.com).