Bluetooth Low Energy – Tutorial, Focus Tecnico & Knowledge Base

Bluetooth Low Energy (BLE) nasce come una parte della Bluetooth Core Specification: spesso interpretato come un’espressione del Bluetooth Classic, il realtà il BLE ha un design totalmente differente e si pone obiettivi diversi rispetto al Bluetooth Classic.

logo Bluetooth

BLE è progettato per essere uno standard radio con un consumo di energia il più basso possibile, un costo contenuto, una ristretta ampiezza di banda ed una ridotta complessità.

Questi obiettivi sono evidenti analizzando le Core Specification 4.0 e successivi, dalle quali si evince che BLE è definito come uno standard implementabile dai produttori di elettronica in quanto in grado di funzionare su dispositivi con scarse risorse energetiche e con budget limitati.

BLE: le tappe evolutive

 

Introdotta la versione 4.0 nel 2010, la tecnologia Bluetooth Low Energy ha percorso da allora continue tappe evolutive, tra cui l’update 4.1 nel 2013: pur mantenendo inalterati concetti ed architettura rispetto alla precedente versione, la release 4.1 innesta modifiche e migliorie grazie soprattutto all’esperienza diretta degli utenti, garantendo l’interoperabilità dei dispositivi tra passato e presente (la versione 4.1 è retro-compatibile con quella 4.0).

BR/EDR (Classic Bluetooth), i dispositivi Bluetooth conformi allo standard precedente all’introduzione della versione 4.0
BLE (Bluetooth Low Energy), i dispositivi conformi allo standard 4.0 e successivi.

Da queste due tecnologie derivano poi due diverse tipologie di dispositivi:
Dispositivi single-mode (BLE , Bluetooth Smart) implementano BLE e possono comunicare con apparati single-mode e dual-mode, ma non con dispositivi che supportano solo BR/EDR

Dispositivi dual-mode (BR/EDR/LE, Bluetooth Smart Ready) implementano sia BR/EDR che BLE e possono comunicare con ogni device BLE.

BLE: tipologie di reti e ruoli

 

BLE rete dati BlueWave - Bluetooth Smart by RFID GlobalI dispositivi BLE possono comunicare con il mondo esterno in due modi diversi:

  • Broadcasting & Observing
  • Connection

ciascuno con caratteristiche, vantaggi e limitazioni diverse.

Utilizzando la modalità di invio dati senza connessione (Connectionless Broadcasting), il dispositivo BLE  trasmette i dati ad un qualsiasi apparato in ascolto (scanning device o receiver) che si trovi ad una distanza utile per recepire il segnale: questo sistema permette quindi di inviare dati in una sola direzione a qualsiasi dispositivo in grado di ‘raccoglierli’.

In questa modalità operativa di Broadcasting i dispositivi sono definitivi Broadcaster ed Observer, ciascuno con un ruolo differente nell’invio e ricezione dei dati (Advertising Data Packet):

  • il dispositivo Broadcaster invia periodicamente i dati (di tipo non-connectable) a chiunque sia in grado di riceverli: si tratta quindi di un device ottimizzato per le applicazioni di sola trasmissione ad intervalli regolari (ping rate);
  • BluEpyc BLE Industrial Gateway

    BluEpyc BLE Industrial Gateway

    il dispositivo Observer effettua periodicamente scansioni sulle frequenze predefinite per ricevere advertising packet provenienti dall’apparato Broadcaster: un dispositivo, quindi, ottimizzato per la ricezione dell’advertising data packet.
    Un esempio di apparato Observer è il BlueWave Bluetooth Smart Gateway, che è in ascolto dei pacchetti advertising provenienti dai Tag BLE (o da altri dispositivi BLE) e li invia ad un server.
    La modalità di Broadcasting rappresenta l’unico modo per un dispositivo BLE (o Tag BLE) di inviare dati contemporaneamente a più dispositivi.
  • il dato inviato dal dispositivo Broadcaster, l’Advertising Data Packet, è un insieme di dati costituito al massimo da 31 byte (Payload – Standard Advertising Packet), utilizzato dal Broadcaster per segnalare la propria presenza ed inviare dati ai dispositivi in ascolto.
    L’Advertising Data Packet contiene informazioni standard, codificate dal Bluetooth SIG (Special Interest Group) e relative ai servizi che il dispositivo/Tag BLE espone, tra cui impostazione del ping rate e della potenza di emissione, Heart Rate Measurement e Health Thermometer (il pacchetto può ospitare anche informazioni ad hoc, quindi liberamente costruite dal produttore).
    Oltre all’Advertising Packet è possibile ricevere un ulteriore pacchetto, definito Scan Response Data, dello stesso formato del precedente e con una capacità massima di 31 byte.
    Lo Scan Response può essere richiesto dal dispositivo BLE Observer effettuando una Scan Request: se il dispositivo Broadcaster è abilitato, invia anche il pacchetto di Scan Response, raggiungendo così un massimo di 62 byte di dati inviati.

Connection

Se risulta necessario mandare dati in entrambi le direzioni, ossia reciprocamente tra due dispositivi, oppure se i 62 byte disponibili con i pacchetti di advertising non sono sufficienti, interviene la modalità operativa Connection, affinché si instauri uno scambio dati periodico e permanente tra due dispositivi.

Bluetooth Smart - tipologie di connesioni di rete
In questo caso lo scambio dei dati avviene solo tra i due dispositivi connessi, per garantire la riservatezza del dato: mentre l’Advertising Data Packet è intercettato da tutti i dispositivi in ascolto, in modalità Connection i dati trasmessi coinvolgono solamente i 2 dispositivi, chiamati Central e Peripheral.

  • Central (Master)
    Il dispositivo BLE Central scansiona periodicamente le frequenze predefinite per individuare pacchetti di advertising che accettano connessioni (Connectable Advertsing Packet) e, una volta riconosciuti, inizia una connessione con il dispositivo/tag BLE che li ha emessi.
    Stabilita la connessione, il Central gestisce i tempi e l’invio periodico dei dati.
  • Peripheral (Slave)
    Il dispositivo BLE Peripheral invia periodicamente advertising, informando di accettare connes-sioni (connectable advertising packet), ed acconsente ad eventuali richieste di connessione pro-venienti dai dispositivi Central.
    Una volta attivata la connessione, si attiene alle regole dettate dal Central in merito ai tempi e alle modalità di invio periodico dei dati.

Dalla versione 4.1 sono state eliminate una serie di limitazioni sui ruoli, rendendo così possibili le seguenti combinazioni:

  • un dispositivo può essere sia Central che Peripheral nello stesso tempo
  • un Central può essere connesso a più Peripheral
  • un Peripheral può essere connesso a più Central

Uno dei vantaggi nell’uso della connessione è che i dati possono essere organizzati in campi o proprietà, definiti servizi e caratteristiche.
Le connessioni hanno anche la capacità di utilizzare meno energia della modalità Broadcasting, perché permettono di modificare, estendendolo o riducendolo, il tempo che intercorre tra i Connection Event.

Le funzioni di sicurezza sono svolte dal Security Manager, un insieme di protocolli ed algoritmi disegnati per fornire al Bluetooth Protocol Stack la capacità di creare e scambiare chiavi di sicurezza; sono queste chiavi che permettono a due dispositivi di comunicare in modalità sicura attraverso un link criptato (AES), verificano l’identità del dispositivo remoto e, se richiesto, oscurano il Bluetooth Device Address per impedire a dispositivi con intenzionalità malevole di tracciare/individuare un particolare dispositivo.
Un altro degli aspetti inerenti la sicurezza riguarda l’identificazione certa di due dispositivi tra loro: questa funzione è svolta attraverso i ‘Resolvable Private Address’.

Le funzioni di sicurezza sono svolte dal Security Manager, un insieme di protocolli ed algoritmi disegnati per fornire al Bluetooth Protocol Stack la capacità di creare e scambiare chiavi di sicurezza; sono queste chiavi che permettono a due dispositivi di comunicare in modalità sicura attraverso un link criptato (AES), verificano l’identità del dispositivo remoto e, se richiesto, oscurano il Bluetooth Device Address per impedire a dispositivi con intenzionalità malevole di tracciare/individuare un particolare dispositivo.
Un altro degli aspetti inerenti la sicurezza riguarda l’identificazione certa di due dispositivi tra loro: questa funzione è svolta attraverso i ‘Resolvable Private Address’.

BLE: tipologia dei dati trasmessi

 

Advertising Data Packet

Bluetooth Smart Advertising Data Packet

Bluetooth Smart Advertising Data Packet

L’Advertising Data Packet contiene, oltre alla parte dati di 31 byte, le seguenti informazioni:

BLE Device Address: l’univocità, elemento distintivo del BLE

 

BLE rete dati - Bluetooth Smart by RFID GlobalL’elemento che permette di distinguere univocamente un Tag o un dispositivo BLE da un altro è rappresentato dal Bluetooth Device Address: simile al MAC Address dei dispositivi Ethernet e costituito da 48 bit (6 byte), il Bluetooth Device Address può essere pubblico oppure random, quest’ultimo a sua volta riportato in 2 sottocategorie (indirizzo statico ed indirizzo resolvable).

  • Pubblico, ossia pre-programmato all’interno del dispositivo, non cambia per tutta la sua vita;
  • Random, pre-programmato oppure generato dinamicamente durante l’utilizzo del dispositivo. All’interno di questa categoria esistono due sotto-categorie:
    – Indirizzi statici: tipicamente utilizzati al posto degli indirizzi pubblici, per evitare l’onere della registrazione. In questo caso l’address può essere un numero generato randomicamente ad ogni avvio del dispositivo, oppure pre-programmato e fisso per tutta la durata dello stesso.
    In ogni caso, non può essere modificato dall’utente.
    Indirizzi resolvable: sono utilizzati per funzioni di sicurezza.
    In questo caso gli indirizzi vengono generati continuamente e possono cambiare spesso anche durante la durata di una connessione. Solo i dispositivi a conoscenza della chiave possono risolvere l’indirizzo: ciò impedisce a dispositivi sconosciuti in scanning di rilevare l’apparato BLE.

BLE: tipologie di Beacon

 

Il termine Beacon (faro) indica un dispositivo che invia periodicamente un segnale radio, utilizzato da apparati riceventi per permettere agli stessi di determinare la propria posizione rispetto ai dispositivi emettenti.
Un dispositivo Beacon BLE invia quindi periodicamente un pacchetto di Advertising, ricevuto da dispositivi Observer ed elaborato per permettere a quest’ultimi di calcolare la propria posizione in relazione ai dispositivi BLE emettenti.

Apple iBeacon BLE

Bluetooth Smart - iBeacon by Apple

Apple ha creato una propria struttura di pacchetto di Advertising, con una formattazione ben precisa, per il posizionamento indoor dei propri dispositivi basati su iOS. 
I dispositivi BLE che emettono un questo tipo di pacchetto sono chiamati BLE iBeacon.

Google Eddystone Beacon BLE

Logo Bluetooth Smart Eddystone by Google

Google ha rilasciato a luglio 2015 il nuovo formato Eddystone, in grado di ampliare le funzionalità dei Beacon e, di conseguenza, anche la loro possibilità di utilizzo.
Eddystone, altra particolare tipologia di dispositivo BLE Beacon, possiede una ben definita formattazione del pacchetto di Advertising Data e può essere interpretato come la risposta open source agli iBeacon di Apple.

Clicca QUI per approfondire la visione di Google sul Bluetooth Smart.

 

Vuoi informazioni tecniche o commerciali sui

dispositivi e servizi Bluetooth Low Energy by BluEpyc?

Richiede solo pochi secondi!