Come realizzare collegamenti wireless a bassa potenza per Internet delle cose (IoT) utilizzando Bluetooth® 4.1
Contributo di Editori europei di DigiKey
2014-06-23
Le recenti versioni di Bluetooth® stanno creando un certo fermento non solo per gli ultimi dispostivi indossabili e di fitness ma anche per la capacità di collegare assieme apparecchi e sensori nell'Internet delle cose (IoT).
Bluetooth 4.0 aveva compiuto un enorme balzo in avanti per incrementare l'efficienza della potenza e la facilità d'uso dei collegamenti Bluetooth diretti. La versione 4.1 aggiunge a tutto ciò maggiori capacità di rete. Si dischiude in tal modo la possibilità di collegare assieme molti più dispositivi utilizzando uno smartphone standard.
La capacità di gestire un collegamento embedded per diversi anni da una batteria ha spinto ad adottare Bluetooth Smart 4.0 fin dal 2010 e, dall'approvazione della versione 4.1 nel dicembre 2013, la connessione in rete lo rende ancora più interessante per gli sviluppatori IoT. Questo richiede tuttavia alcune considerazioni importanti a livello progettuale, sia dal punto di vista dell'hardware che del software. SIG consiglia ai produttori di iniziare a implementare subito Bluetooth 4.1 nei propri dispositivi per avvalersi delle nuove funzionalità. Gli sviluppatori di sistema possono così usare tranquillamente i moduli 4.0 esistenti di fornitori come Laird Wireless e Panasonic ed effettuare l'aggiornamento a 4.1 quando il firmware è stabile, mettendo a disposizione il meglio di entrambi i mondi.
Per la prima volta dall'adozione di Bluetooth 2.0 + EDR, non vi sono caratteristiche obbligatorie da dichiarare per usare la specifica Bluetooth 4.1. Ai produttori viene però chiesto di implementare tutte le errata corrige applicate a Bluetooth 4.1 per risultare conformi alla specifica. I dispositivi che implementano solo la funzionalità di basso consumo (a marchio Bluetooth Smart) saranno retrocompatibili con i dispositivi Bluetooth 4.0 dotati anch'essi di tale funzionalità.
Bluetooth Low Energy - versione 4.0, ora chiamata Bluetooth Smart - usa le stesse frequenze nella banda ISM a 2,4 GHz del precedente "Classic Bluetooth", ma si serve di un protocollo più semplice di spostamento della frequenza gaussiana per ridurre il consumo di potenza. Usa anche canali a 2 MHz più piccoli e modulazione a divisione di spettro in sequenza diretta (DSSS).
Questa combinazione di modulazioni e canali diversi significa che le specifiche LE e Classic non sono direttamente compatibili. Tuttavia, questo non rappresenta un problema per lo sviluppatore dato che tutti i chip e i moduli certificati come compatibili Bluetooth possono funzionare in entrambi i modi: Classic per i dispositivi meno recenti o Bluetooth Smart nel caso della versione DSSS.
I vantaggi di bassa potenza delle versioni 4.0 e 4.1 derivano dall'uso dei canali a 2 MHz che danno una velocità di collegamento di 1 Mbit/s e un throughput dell'applicazione di 270 kbit/s. Anche se inferiore a quella di Bluetooth Classic, la velocità di trasmissione per le applicazioni viene compensata riducendo la latenza da 100 ms a 6 ms, che è più importante per il networking e l'implementazione IoT in quanto dà una risposta più rapida alle richieste di dati o all'invio di segnali di controllo.
Anche la potenza massima di trasmissione viene ridotta a 10 mW, riducendo la portata a meno di 50 metri, in modo che possa essere usato per numerose applicazioni IoT. La versione 4.1 consente ai dispositivi di supportare più ruoli contemporaneamente per cui un prodotto Bluetooth Smart Ready può fungere contemporaneamente da hub e da periferica. La coesistenza con altre tecnologie wireless, espressamente Wi-Fi sulla stessa banda a 2,4 GHz, è stata migliorata e sono stati aggiunti canali dedicati. Sono questi ultimi, in particolare, che rendono possibili le applicazioni IoT.
Alla base vi è una Logical Link Control and Adaptation Architecture (L2CAP) in grado di supportare il multiplexing di protocolli di livello superiore, la segmentazione e il riassemblaggio dei pacchetti e la qualità delle informazioni di servizio richieste per IoT, utilizzando pacchetti a 64 Kbyte. L'architettura poggia su canali in cui ogni endpoint ha un identificatore di canale (CID). L'assegnazione del CID è relativa a un particolare dispositivo e un dispositivo può assegnare i CID in modo indipendente da altri dispositivi, permettendo di aggiungere facilmente dispositivi a una rete. Ciò consente di aggiungere più dispositivi in serie, semplificando la configurazione.

Figura 1: L'architettura di canali L2CAP per Bluetooth Smart 4.1 permette di controllare una rete di dispositivi, aprendo la porta alla cosiddetta Internet delle cose.
Anche l'utente riceve un maggiore supporto. Con la versione 4.1, le connessioni vengono ristabilite automaticamente per cui, quando un utente entra in una stanza, la connessione viene ripristinata. Inoltre, la versione 4.1 supporta trasferimenti in massa dei dati, l'impostazione di un collegamento e il download di file di maggiori dimensioni, invece di dover mantenere una connessione costante.
Generic Attribute Profiles (GATT) è una delle aree che verranno espanse con la versione 4.1. Questi profili forniscono un'interfaccia di programmazione di applicazioni (API) client-server all'interno del sistema operativo, oltre a servizi, caratteristiche e descrittori.
Questi GATT sono usati per gestire i dati per applicazioni correnti quali dispositivi di pressione sanguigna, cardiofrequenzimetri, termometri, sensori di prossimità e localizzatori. I nuovi profili per le applicazioni IoT riuniranno i dati in modi diversi.
Gli attributi di servizi, caratteristiche e descrittori sono identificati collettivamente da identificatori universali (UUID). Bluetooth SIG ha riservato un intervallo di UUID (con formato xxxxxxxx-0000-1000-8000-00805F9B34FB) per attributi standard e questi sono rappresentati come valori in formato breve a 16 o 32 bit nel protocollo, invece che a 128 bit, per contenere le dimensioni del codice e la complessità.
Il protocollo GATT fornisce al client un certo numero di comandi per scoprire informazioni sul server. Queste includono la scoperta degli UUID per tutti i servizi principali, l'individuazione di un servizio con un determinato UUID e quindi i servizi secondari, oltre a trovare tutte le caratteristiche per un determinato servizio. Tutti rientreranno nei profili per le applicazioni IoT.
Attraverso il GATT, vengono messi a disposizione dei comandi per trasferire i dati sulle caratteristiche dal server al client (lettura) e dal client al server (scrittura). Un valore può essere letto specificando l'UUID della caratteristica o tramite un valore handle, che proviene dai comandi di rilevamento informazioni. Le operazioni di scrittura identificano sempre la caratteristica dall'handle, ma hanno la possibilità di richiedere o non richiedere una risposta dal server.
GATT offre inoltre notifiche e indicazioni che costituiscono una parte cruciale dei collegamenti IoT. Il client può richiedere una notifica per una particolare caratteristica dal server, che può poi inviare il valore al client ogni volta che si rende disponibile. Ad esempio, il server di un sensore della temperatura in un'apparecchiatura potrebbe notificare al proprio client ogni volta che effettua una misurazione. Si evita così il polling del client al server, riducendo la necessità di un regolare collegamento radio. Un'indicazione è simile a una notifica, tranne che richiede una risposta dal client, come conferma che ha ricevuto il messaggio.
I produttori di chip e moduli stanno aggiungendo altri strati sopra il GATT per consentire agli sviluppatori di sistema di sviluppare il proprio software servendosi di questi profili. Ciò consente al software di essere compatibile con tutti i chip e i moduli esistenti che utilizzano le versioni 4.0 e 4.1 al momento di aggiornare i propri sistemi.
Tale complessità viene al momento nascosta da produttori di moduli come Laird Wireless che usa la versione 4.0 in moduli come BT800 ed è in corso lo sviluppo di firmware idoneo a supportare la versione 4.1 su questi moduli. BT800 usa un transceiver CSR con un'antenna e interfacce, il tutto in un ingombro ridotto di soli 8,5 x 13 mm con un'uscita di potenza di 8 dBm. I moduli incorporano tutto l'hardware e il firmware richiesti per supportare lo sviluppo di applicazioni BLE, incluse le interfacce UART, SPI, I²C, ADC e GPIO per il collegamento di periferiche e sensori. La connessione tramite queste interfacce è relativamente semplice in caso di collegamenti a uno, due o più fili.

Figura 2: Il modulo BT800 Bluetooth Smart a doppia modalità di Laird Wireless consente di aggiungere facilmente la connettività versione 4.1 ai progetti esistenti e a quelli aggiornati alla 4.1.
Laird aggiunge un linguaggio di programmazione basato sugli eventi che rende possibile il funzionamento standalone del modulo così da permettere il collegamento dei sensori tramite una qualsiasi interfaccia senza la necessità di un processore esterno. Un'applicazione smartBASIC semplice incapsula l'intero processo end-to-end di lettura, scrittura ed elaborazione dei dati del sensore e l'uso successivo di Bluetooth Smart per trasferirli a qualsiasi dispositivo Bluetooth 4.1.
Nel frattempo, anche CSR sta adottando un approccio diverso per fornire connessione di rete per IoT utilizzabile anche da altri costruttori di moduli. Mentre la versione 4.1 può fornire da otto a dieci collegamenti separati da uno smartphone ad altre periferiche, creando una rete personale o collegamenti in serie, CSR ha sviluppato un firmware che dall'alto dello stack 4.0 controlla fino a 65.000 dispositivi in una rete a maglie.
Questa tecnologia potenzialmente disruttiva mette lo smartphone al centro della IoT. Grazie a CSR Mesh, è possibile connettere in rete un numero quasi illimitato di dispositivi dotati di Bluetooth Smart e controllarli per la prima volta direttamente da un solo smartphone, tablet o PC.
La soluzione, ottimizzata per applicazioni domestiche e IoT intelligenti, combina un protocollo di configurazione e controllo con i collaudati dispositivi Bluetooth Smart di CSR, inclusi CSR101x e CSR8811. Consentirà ai consumatori di controllare qualsiasi dispositivo dotato di Bluetooth Smart di un'abitazione da ovunque si trovino, comprese luci, riscaldamento, elettrodomestici e sistemi di sicurezza. Per l'esperienza dei consumatori è fondamentale il fatto che le soluzioni basate sul protocollo non richiedono configurazioni o accoppiamenti complessi né l'uso di un dispositivo di accesso come un router.
Diversamente da altre soluzioni di connettività domotica, CSR Mesh assicura il controllo diretto da dispositivi mobili da qualsiasi punto della casa perché non ha una portata limitata e non richiede hub. Gli sviluppatori non devono usare soluzioni proprietarie né aggiungere null'altro per creare prodotti che funzionano facilmente senza configurazioni complesse.
Il protocollo CSR Mesh usa una modalità insita in Bluetooth Smart per inviare messaggi ad altri dispositivi Bluetooth Smart nella rete. I messaggi possono poi essere inviati a dispositivi singoli o a gruppi di dispositivi. I dispositivi possono appartenere a più di un gruppo. Il controllo è abilitato tramite dispositivi standard dotati di Bluetooth Smart come interruttori della luce o tramite la maggior parte degli smartphone o dei tablet disponibili oggi.
Per assicurare che gli sviluppatori possano far giungere rapidamente al mercato i loro prodotti, CSR rilascerà ai clienti un kit di sviluppo. Il kit offrirà codice sorgente di applicazioni Android e iOS oltre all'accesso alle librerie binarie di CSR Mesh.
Il software non usa le funzionalità della 4.1 ma estende la 4.0 per coprire una topologia a maglie. Si tratta di una maglia a propagazione (flood mesh) piuttosto che basata su router (routed mesh) così che tutti i dispositivi possano partecipare in qualità di membri e inviare messaggi sugli altri nodi. È quindi estremamente semplice realizzare una configurazione personalizzata, in quanto il protocollo gestisce automaticamente l'invio dei messaggi. L'autore del messaggio può trovarsi ovunque, all'interno della maglia, e viene instradato ai nodi fuori dalla portata; per gestire saturazione e conflitti il protocollo include le funzionalità durata e numero di salti.
Anche se la versione 4.1 consente contemporaneamente le modalità master e slave, l'utente deve comunque gestire manualmente queste connessioni, fatto che richiederà il controllo di reti di dispositivi più piccole o core. Questa tecnica non prevede tali limitazioni e la gestione del collegamento è deliberatamente molto più snella.
Lo standard ha indirizzamento, raggruppamento, associazione e sicurezza incorporati nella struttura del pacchetto. È simile a IPv4 ma in questo caso vi è un campo di indirizzo separato per la rete a maglie. Rispetto a IPv4 si riduce così notevolmente il peso per informazioni su sensori, comandi e controlli semplici. Al momento questa capacità è offerta unicamente da CSR e stiamo lavorando con i clienti e i partner principali per standardizzarla, tramite open-source o Bluetooth SIG.
CSR ha dimostrato il funzionamento della maglia direttamente con uno smartphone con un gruppo di ingegneri che ha disposto cinquanta lampadine a LED e che è entrato con un telefono Android. Senza nessuna configurazione formale, gli ingegneri sono stati in grado di controllare la rete di lampadine.
CSR fornisce anche una serie completa di strumenti di sviluppo software, progettazione di schede e test di produzione per i propri chip. Questo combina una interfaccia di programmazione USB e le interfacce per diffondere l'I/O a sensori e attuatori specifici per l'applicazione. L'ambiente di sviluppo software autorizzato xIDE CSR include applicazioni di esempio per profili Bluetooth Smart comuni e applicazioni host per smartphone sia iOS che Android per semplificare il progetto. La scheda target viene in genere alimentata dalla connessione USB host ma può essere gestita in modalità standalone da una batteria a bottone incorporata per consentire misurazioni della potenza.

Figura 3: Il sistema di sviluppo CSR Bluetooth Smart consente agli sviluppatori di aggiungere le proprie capacità a quelle dello strato GATT Bluetooth.
L'integrazione dei moduli nei progetti è relativamente facile, anche se vi sono diverse scelte importanti da fare quando si usano le batterie per fornire l'alimentazione a questi dispositivi. Ciò aiuterà nel dispiegamento di applicazioni IoT che utilizzano la versione 4.1, in quanto i moduli possono essere aggiunti facilmente ai progetti esistenti.
Il modulo BLE112 di Bluegiga usa un transceiver Bluetooth 4.0 di Texas Instruments e può essere utilizzato direttamente con una batteria a bottone. Data la resistenza interna relativamente alta di una batteria a bottone, è consigliata l'installazione di un condensatore da 100 μF in parallelo con la batteria. La resistenza interna di una batteria a bottone inizialmente è dell'ordine di 10 Ω, ma aumenta rapidamente con l'uso della capacità.
Maggiore è il valore del condensatore, maggiore sarà la capacità efficace della batteria e più lunga la durata per l'applicazione. Il valore minimo del condensatore dipende dall'applicazione finale e dalla potenza di trasmissione massima usata. La corrente di dispersione di un condensatore da 100 μF va da 0,5 a 3 μA e, in genere, i condensatori ceramici hanno una corrente di dispersione minore dei condensatori elettrolitici al tantalio o alluminio.

Figura 4: Modulo BLE112 Bluetooth Smart di Bluegiga. L'uso di un condensatore sulla batteria può aumentarne la durata.
Un'altra opzione è rappresentata dall'uso di un convertitore c.c./c.c. per ridurre il consumo di corrente durante un'operazione di trasmissione o di ricezione e di elaborazione dei dati. Un convertitore c.c./c.c. a bassissima potenza con modalità di bypass ridurrà il consumo di corrente durante la trasmissione di circa il 20% ed estenderà la durata della batteria a bottone da 3 V.
Conclusione
L'aggiunta di Bluetooth Smart 4.1 potrebbe sembrare un passo di poco conto per l'evoluzione dello standard, ma ha il potenziale di indurre alcuni cambiamenti significativi. Gli sviluppatori di dispositivi, moduli e sistemi stanno guardando sia alla versione 4.0 che alla 4.1 per fornire capacità di rete a bassa potenza più sofisticate a numerosi dispositivi a basso costo, tutti controllati per mezzo dell'onnipresente smartphone. Disporre di un terminale pronto per collegarsi a una rete di dispositivi rappresenta un vantaggio enorme e, che sia connesso tramite canali 4.1 o su uno strato di rete sopra il 4.0, la tecnologia Bluetooth Smart è destinata a rivestire un ruolo significativo per l'Internet delle cose.
Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

