Pages Navigation Menu

Dai Prodotti alle Soluzioni, tramite i Servizi

Seguici su Facebook Seguici su Twitter Seguici su LinkedIn Seguici su Flickr Seguici su SlideShare Seguici su YouTube Seguici su Pinterest Richiesta Informazioni
Categories Navigation Menu

Bluetooth Smart Tutorial

Bluetooth Smart Tutorial – Focus Tecnico e Knowledge Base

Logo Bluetooth Low Energy (BLE) - Bluetooth Smart

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.

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, 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).

Sono due le tecnologie wireless:

Bluetooth Smart by RFID GlobalBR/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’.

Broadcasting & Observing

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.

Sicurezza

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 31byte, le seguenti informazioni:

AT – Advertising Type

Lunghezza 1 byte, indica la tipologia del pacchetto di advertising inviato: un pacchetto può essere, ad esempio, di tipo connectable (in questo caso il dispositivo che lo ha inviato accetta connessioni) oppure non-connectable.

AAT – Advertising Address Type

Lunghezza 1 byte, determina la tipologia dell’indirizzo contenuto nell’Advertising Data Packet e può essere di tipo Public Device AddressRandom Device Address.

L’indirizzo di tipo Public Device Address è pre-programmato all’interno del dispositivo BLE, deve essere registrato tramite IEEE Registration Authority e non cambia mai durante la vita del dispositivo. L’indirizzo di tipo Random Device Address può essere sia pre-programmato all’interno del dispositivo che generato dinamicamente.

AA – Advertiser Address

Contiene l’indirizzo del dispositivo BLE che ha emesso il pacchetto, è costituito da 6 byte (48 bit) e permette di distinguere un dispositivo BLE da un altro.

AD – Advertising Data

Ospita il payload dell’Advertising Data Packet e può essere al massimo di 31 byte; è composto da una sequenza di strutture dati, ognuna delle quali è costituita dai seguenti elementi:

Continua...

Campo 1: Lunghezza della struttura in byte (1 byte)

Questo è il primo campo di ogni configurazione e contiene la lunghezza (in byte) della struttura dati che seguirà il campo stesso.

 

Campo 2: AD Type – Advertising Data Type (1 byte)

Il campo AD Type è un valore definito da Bluetooth SIG ed indica la tipologia di dato contenuta nel campo successivo. Alcuni esempi di possibili AD type:

Local Name: se l’AD Type è di tipo Local Name, il campo successivo contiene il nome del dispositivo (in forma completa o breve)

Services UUIDs: se l’AD Type è di tipo Services UUIDs, nel campo successivo sono contenuti gli UUIDs dei servizi che il dispositivo espone.

Una volta ricevuto il pacchetto di advertising per accedere ai dati effettivi messi a disposizione da tali servizi, si dovrà effettuare una connessione al dispositivo.

Flag: se l’AD Type è di tipo Flag, il campo successivo è costituito da un byte il cui contenuto indica ulteriori informazioni sulla modalità in cui il dispositivo si trova.

Manufacturer Specific Data: se l’AD Type è di tipo Manufacturer Specific Data, significa che nel campo successivo sono presenti dati custom creati dal produttore del dispositivo.

 

Campo 3: Dati (lunghezza variabile)

In questo campo sono contenuti i dati effettivi in base alla tipologia definita dal campo precedente AD Type.

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).

 

Continua...

  • 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.

Bluetooth unconventional: architettura

Nella visione ‘unconventional’ di RFID Global, i dispositivi BLE che segnalano periodicamente la propria presenza sono definiti Tag BLE Beacon, mentre i dispositivi BLE Observer (e Central) sono chiamati BluEpyc Bluetooth Low Energy Gateway.

BlueWave Bluetooth Smart Gateway - Scenario e connettività IoT/Cloud

BlueWave Bluetooth Smart Gateway – Scenario e connettività IoT/Cloud

I Tag BLE Beacon possono emettere un pacchetto di Advertising in qualsiasi formato tra cui iBeacon ed Eddystone.

Il BluEpyc Bluetooth Low Energy Gateway viene utilizzato per rilevare in anti-collisione i pacchetti provenienti dai Tag Beacon BLE (o altri dispositivi BLE) che entrano nel suo raggio di azione: il dispositivo è in grado di ricevere i pacchetti di advertising, estrarne le informazioni rilevanti e notificarle ad un server TCP in ascolto.
Le interfacce di comunicazione verso il server host sono: Ethernet, Wi-Fi o GPRS

Dati trasmessi e Filtering

BluEpyc BLE Industrial Gateway

BluEpyc BLE Industrial Gateway

Le informazioni che il BluEpyc Bluetooth Low Energy Gateway invia al server in ascolto sono:

  • Informazioni estratte dal pacchetto di Advertising: – Address del tag BLE Beacon – Pacchetto di advertising completo
  • Informazioni rilevate dal Gateway: valore di RSSI effettivo con cui il pacchetto è stato ricevuto.

RSSI Filtering Tra le capacità prestazionali del BlueWave Bluetooth Smart Gateway figurano anche le politiche di filtering, affinché il dispositivo prenda in considerazione solo Tag BLE Beacon di proprio interesse. Attraverso il settaggio del valore di Filtering RSSI è così possibile discriminare i pacchetti di advertising ricevuti in base all’intensità del loro segnale; questa funzionalità permette per esempio la definizione di aree all’interno delle quali i pacchetti di advertising vengono considerati validi mentre, al di fuori di queste, vengono ignorati.

Advertsing Mask Packet Filtering Su ogni dispositivo BlueWave Bluetooth Smart Gateway è inoltre presente la possibilità di impostare un filtro (o maschera) da applicare ai pacchetti di advertising provenienti dai Tag BLE Beacon, per ricevere solo i pacchetti di proprio interesse. La maschera è un valore alfanumerico che, una volta settato nel dispositivo, fa in modo che questo consideri solo i pacchetti di advertising che corrispondono a tale valore, scartando gli altri.

Grazie alla sua flessibilità, BluEpyc Bluetooth Low Energy Gateway può essere utilizzato in vari contesti applicativi, come ad esempio l’identificazione ed il monitoraggio di items dotati di Tag BLE Beacon. In questo caso il BluEpyc Bluetooth Low Energy Gateway presidia una determinata area in cui sono presenti persone/oggetti (fissi o mobili) equipaggiati con Tag BLE Beacon, rilevandoli continuativamente ed inviando i dati all’host di back-end per la loro elaborazione. Il sistema è dunque in grado di conoscere in tempo reale la posizione di persone/oggetti e raccogliere informazioni sulla presenza/movimento.

Bluetooth SmartVisione presente e FuturaScenari ApplicativiGateway e Beacon