# Bluetooth Low Energy

Bluetooth Low Energy (Bluetooth LE, colloquialmente BLE, precedentemente commercializzato come Bluetooth Smart) è una tecnologia wireless personal area network progettata e commercializzata dal Bluetooth Special Interest Group (Bluetooth SIG) per nuove applicazioni nel settore dell'assistenza sanitaria, fitness, per i beacon, per la sicurezza, per l'industria dell'intrattenimento domestico e per le industrie automobilistiche e dell'automazione. Rispetto al Bluetooth "classico", il Bluetooth Low Energy ha lo scopo di fornire un consumo energetico e un costo notevolmente ridotto, mantenendo un intervallo di comunicazione simile.
Sistemi operativi mobili inclusi iOS, Android, Windows Phone e BlackBerry, nonché macOS, Linux, Windows 8 e Windows 10, supportano nativamente Bluetooth Low Energy. Bluetooth SIG prevede che entro il 2018 oltre il 90% degli smartphone abilitati Bluetooth supporterà Bluetooth Low Energy.

## Compatibilità

Bluetooth Low Energy non è compatibile con il precedente (spesso chiamato "classico") protocollo Bluetooth Base Rate/Enhanced Data Rate (BR/EDR). Le specifiche Bluetooth 4.0 consentono ai dispositivi di implementare uno o entrambi i sistemi LE e BR/EDR.
Bluetooth Low Energy utilizza le stesse frequenze radio a 2.4 GHz come il Bluetooth classico, il che consente ai dispositivi dual-mode di condividere una singola antenna radio. LE, tuttavia, usa un sistema di modulazione più semplice.

## Marchio

Nel 2011, Bluetooth SIG ha annunciato il logo Bluetooth Smart in modo da chiarire la compatibilità tra i nuovi dispositivi a bassa energia e altri dispositivi Bluetooth.
* Bluetooth Smart Ready indica un dispositivo dual-mode compatibile sia con i dispositivi classici sia con quelli a bassa energia.
* Bluetooth Smart indica un dispositivo a bassa energia che richiede o un dispositivo Smart Ready o un altro dispositivo Smart per funzionare.
Con le informazioni sul marchio di Bluetooth SIG di maggio 2016, Bluetooth SIG ha iniziato a eliminare gradualmente i loghi e i marchi denominativi Bluetooth Smart e Bluetooth Smart Ready e ha ripristinato l'uso del logo e del marchio denominativo Bluetooth. Il logo utilizza un nuovo colore blu.

## Mercato di destinazione

Bluetooth SIG identifica una serie di mercati per la tecnologia a bassa energia, in particolare nei settori casa intelligente (smart home), salute, sport e fitness. I vantaggi citati includono:
* requisiti di bassa potenza, operativi per "mesi o anni" su una pila a bottone
* piccola dimensione e basso costo
* compatibilità con una grande base installata di telefoni cellulari, tablet e computer

## Storia

Nel 2001, i ricercatori della Nokia hanno determinato vari scenari che le tecnologie wireless contemporanee non hanno affrontato. L'azienda ha iniziato a sviluppare una tecnologia wireless adattata dallo standard Bluetooth che avrebbe fornito un minore consumo di energia e costi, riducendo al minimo le sue differenze dalla tecnologia Bluetooth. I risultati sono stati pubblicati nel 2004 utilizzando il nome Bluetooth Low End Extension (LEE).
Dopo ulteriori sviluppi con i partner, in particolare con Logitech, e nell'ambito del progetto europeo MIMOSA, attivamente promosso e supportato anche da STMicroelectronics sin dalla sua fase iniziale, la tecnologia è stata lanciata nell'ottobre 2006 con il marchio Wibree. Dopo consultazioni con i membri Bluetooth SIG, nel giugno 2007 è stato raggiunto un accordo per includere Wibree in una futura specifica Bluetooth come tecnologia Bluetooth a bassissimo consumo.
La tecnologia è stata commercializzata come Bluetooth Smart e l'integrazione nella versione 4.0 delle specifiche principali è stata completata all'inizio del 2010. Il primo smartphone ad implementare le specifiche 4.0 è stato l'iPhone 4S, uscito nell'ottobre 2011. Un certo numero di altri produttori ha messo in vendita dispositivi Bluetooth Low Energy Ready nel 2012.
Bluetooth SIG ha presentato il Bluetooth 5 il 16 giugno 2016 durante un evento mediatico a Londra. Un cambiamento nel lato marketing è che hanno abbandonato il numero a punti, quindi ora si chiama solo Bluetooth 5 (e non Bluetooth 5.0 o 5.0 LE come per Bluetooth 4.0). Questa decisione è stata presa per "semplificare il marketing e comunicare i benefici agli utenti in modo più efficace". Dal punto di vista tecnico, Bluetooth 5 quadruplicherà il raggio d'azione del segnale e raddoppierà la velocità delle connessioni a bassa energia, aumentando del 800% la capacità delle trasmissioni di dati senza connessione.
Bluetooth SIG ha comunicato le specifiche del Profilo Mesh e del Modello Mesh il 18 luglio 2017. Le specifiche Mesh consentono di utilizzare il Bluetooth Low Energy per comunicazioni di dispositivi many-to-many per la domotica, per le reti di sensori e per altre applicazioni.

## Applicazioni

Assumendo le specifiche Bluetooth originali, il Bluetooth SIG definisce diversi profili - specifiche sul modo in cui un dispositivo funziona in una particolare applicazione - per dispositivi a bassa energia. I produttori dovrebbero implementare le specifiche appropriate per il loro dispositivo al fine di garantire la compatibilità. Un dispositivo può contenere implementazioni di più profili.
La maggior parte degli attuali profili di applicazioni a bassa energia si basa sul Profilo di Attributo Generico (GATT), una specifica generale per l'invio e la ricezione di brevi pezzi di dati noti come attributi su un collegamento a bassa energia. Il profilo mesh Bluetooth è l'eccezione a questa regola poiché è basato su Profilo di Accesso Generale (GAP).

### Profili Mesh

I profili Mesh Bluetooth utilizzano il Bluetooth Low Energy per comunicare con altri dispositivi Bluetooth Low Energy nella rete. Ogni dispositivo può inoltrare le informazioni ad altri dispositivi Bluetooth Low Energy creando un effetto "mesh" (in italiano maglia o rete). Ad esempio, disattivando un insieme di luci da un singolo smartphone.
* MESH (Profilo Mesh) - per reti mesh di base.
* MMDL (Modelli mesh) - per le definizioni di uno strato dell'applicazione. Il termine "modello" viene utilizzato nelle specifiche mesh invece di "profilo" per evitare ambiguità.
Vi sono profili inerenti applicazioni sulla assistenza sanitaria, profili sulle attività sportive e il fitness, sulla connettività Internet, sui sensori, sul rilevamento della prossimità, sugli allarmi e segnalazioni, sull'orario, sull'automazione, sulla batteria e sull'ambiente.
Applicazioni su sistemi IoT
Nel 2018 Finder SpA (l'azienda italiana che ha brevettato il relè passo-passo) ha implementato il Bluetooth Low Energy nel suo sistema di automazione domestica Finder Yesly. Tale applicazione permette di controllare diversi tipi di carichi in maniera smart, tra cui luci e tapparelle elettriche. Tale obiettivo è stato possibile grazie ad un adattamento ad-hoc del protocollo ottimizzando la gestione degli advertising per l'applicazione IoT.

## Implementazione
### Chip

A partire dalla fine del 2009, le implementazioni dei circuiti integrati Bluetooth Low Energy sono state annunciate da numerosi produttori. Le implementazioni comunemente usano la radio software, quindi gli aggiornamenti alle specifiche possono essere adattati tramite un aggiornamento del firmware.

### Hardware

Gli attuali dispositivi mobili vengono comunemente commercializzati con supporto hardware e software sia per il Bluetooth classico sia per il Bluetooth Low Energy.

### Sistemi operativi

* iOS 5 e versioni successive
* Windows Phone 8.1
* Windows 8 e versioni successive
* Android 4.3 e versioni successive
* BlackBerry 10
* Linux 3.4 e versioni successive tramite BlueZ 5.0
* Unison OS 5.2

## Dettagli tecnici
### Interfaccia radio

La tecnologia Bluetooth Low Energy opera nella stessa gamma di frequenze (la banda ISM 2.400-2.4835 GHz) come nella tecnologia Bluetooth classica, ma utilizza un diverso insieme di canali. Invece dei classici 79 canali Bluetooth di 1-MHz, Bluetooth Low Energy ha 40 canali di 2-MHz. All'interno di un canale, i dati vengono trasmessi utilizzando la Modulazione di Variazione di Frequenza Gaussiana (GFSK), simile al classico rateo di base del Bluetooth. Il bit rate è di 1 Mbit/s (con un'opzione di 2 Mbit/s nel Bluetooth 5) e la potenza di trasmissione massima è di 10 mW (100 mW nel Bluetooth 5). Ulteriori dettagli sono forniti nel Volume 6 Part A (Physical Layer Specification) del Bluetooth Core Specification V4.0.
Il Bluetooth Low Energy utilizza il Frequency Hopping per contrastare i problemi di interferenza a banda stretta. Anche il Bluetooth classico usa il Frequency Hopping, ma i dettagli sono diversi; di conseguenza, mentre sia FCC che ETSI classificano la tecnologia Bluetooth come uno schema FHSS, il Bluetooth Low Energy è classificato come un sistema che utilizza le tecniche di modulazione digitale oppure uno Spettro di Diffusione a Sequenza Diretta (DSSS).
Ulteriori dettagli tecnici possono essere ottenuti dalle specifiche pubblicate da Bluetooth SIG.

### Annuncio e scoperta

I dispositivi BLE vengono rilevati tramite una procedura basata sulla trasmissione di pacchetti di annuncio. Questo viene fatto usando 3 canali separati (frequenze), al fine di ridurre le interferenze. Il dispositivo di annuncio invia un pacchetto su almeno uno di questi tre canali, con un periodo di ripetizione chiamato intervallo di annuncio. Per ridurre la possibilità di più collisioni consecutive, viene aggiunto un ritardo casuale fino a 10 millisecondi a ciascun intervallo di annuncio. Il dispositivo analizzatore ascolta il canale per una durata chiamata finestra di scansione, che viene periodicamente ripetuta ad ogni intervallo di scansione.
La latenza di scoperta è quindi determinata da un processo probabilistico e dipende dai tre parametri (cioè, l'intervallo di annuncio, l'intervallo di scansione e la finestra di scansione). Lo schema di scoperta di BLE adotta una tecnica basata su intervalli periodici, per cui i limiti superiori alla latenza di scoperta possono essere dedotti per la maggior parte delle parametrizzazioni. Mentre le latenze di scoperta di BLE possono essere approssimate dai modelli per i protocolli basati su intervalli puramente periodici, il ritardo casuale aggiunto a ciascun intervallo di annuncio e il rilevamento a tre canali può causare deviazioni da tali previsioni o potenzialmente portare a latenze illimitate per determinate parametrizzazioni.

### Modello Software

Tutti i dispositivi Bluetooth Low Energy utilizzano il Profilo di Attributo Generico (GATT). L'interfaccia di programmazione dell'applicazione offerta da un sistema operativo che supporta il Bluetooth Low Energy sarà in genere basata su concetti GATT.
GATT ha la seguente terminologia:

#### Client

    Un dispositivo che avvia comandi e richieste GATT e accetta risposte, ad esempio, un computer o uno smartphone.

#### Server

    Un dispositivo che riceve comandi e richieste GATT e restituisce risposte, ad esempio un sensore di temperatura.

#### Characteristic

    Un valore di dati trasferito tra client e server, ad esempio, l'attuale tensione della batteria.

#### Service

    Una raccolta di caratteristiche correlate, che operano insieme per eseguire una funzione particolare. Ad esempio, il servizio Health Thermometer include le caratteristiche per un valore di misurazione della temperatura e un intervallo di tempo tra le misurazioni.

#### Descriptor

    Un Descriptor fornisce ulteriori informazioni su un Characteristic. Ad esempio, un Characteristic del valore di temperatura può avere un'indicazione delle sue unità (ad esempio Celsius) e i valori massimo e minimo che il sensore può misurare. I Descriptor sono opzionali: ogni Characteristic può avere un numero qualsiasi di Descriptor.
Alcuni valori dei Service e dei Characteristic vengono utilizzati per scopi amministrativi: ad esempio, il nome del modello e il numero di serie possono essere letti come Characteristic standard all'interno del servizio Generic Access. I Service possono includere anche altri Service come sotto-funzioni; le funzioni principali del dispositivo sono i cosiddetti servizi primari e le funzioni ausiliarie a cui si riferiscono sono servizi secondari.

#### Identificatori

Service, Characteristic, e Descriptor sono indicati collettivamente come attributi e identificati dagli UUID. Qualsiasi implementatore può scegliere un UUID casuale o pseudocasuale per usi proprietari, ma il Bluetooth SIG ha riservato un intervallo di UUID (nel formato xxxxxxxx-0000-1000-8000-00805F9B34FB) per gli attributi standard. Per questioni di efficienza, questi identificatori sono rappresentati come valori a 16 o 32 bit nel protocollo, piuttosto che a 128 bit come richiesto per un UUID completo. Ad esempio, il servizio Device Information ha il codice breve 0x180A, anziché 0000180A-0000-1000-... . L'elenco completo è conservato online nel documento Bluetooth Assigned Numbers.

#### Operazioni GATT

Il protocollo GATT fornisce un numero di comandi per il client per scoprire le informazioni sul server. Questi includono:
* Scopri il UUID per tutti i servizi primari
* Trova un servizio con un dato UUID
* Trova servizi secondari per un determinato servizio primario
* Scopri tutte le caratteristiche per un determinato servizio
* Trova Characteristic corrispondenti a un dato UUID
* Leggi tutti i descrittori per un particolare Characteristic
Vengono anche forniti comandi per operazioni di read (trasferimento dati da server a client) e operazioni di write (da client a server) su valori di Characteristic:
* È possibile leggere un valore o specificando l'UUID del Characteristic oppure tramite un valore handle (che viene restituito dai suddetti comandi di rilevamento delle informazioni).
* Le operazioni di scrittura identificano sempre il Characteristic tramite handle, ma hanno la possibilità di specificare se è richiesta o meno una risposta dal server.
* Operazioni 'Long read' e 'Long write' possono essere utilizzate quando la lunghezza dei dati del Characteristic supera la Unità Massima di Trasmissione (MTU) del collegamento radio.
Infine, il GATT offre notifiche e indicazioni. Il client può richiedere una notifica per un particolare Characteristic dal server. Il server può quindi inviare il valore al client ogni volta che diventa disponibile. Ad esempio, un server sensore di temperatura può notificare al proprio client ogni volta che prende una misurazione. Ciò evita la necessità per il client di eseguire il polling sul server, il che richiederebbe che il circuito radio del server fosse costantemente operativo.
Una indicazione è simile a una notifica, tranne per il fatto che richiede una risposta dal client, come conferma che ha ricevuto il messaggio.

#### Impatto sulla batteria

Bluetooth Low Energy è progettato per abilitare dispositivi con basso consumo energetico. Diversi produttori di chip hanno introdotto i loro chipset ottimizzati Bluetooth Low Energy negli ultimi anni. I dispositivi con ruoli periferici e centrali hanno requisiti di alimentazione diversi. Uno studio condotto da una azienda software Beacon, Aislelabs, ha riferito che le periferiche, come i Beacon di prossimità, di solito funzionano per 1-2 anni con una batteria a moneta da 1.000 mAh. Ciò è possibile a causa dell'efficienza energetica del protocollo Bluetooth Low Energy che trasmette solo piccoli pacchetti rispetto al Bluetooth Classic, il che lo rende adatto anche per l'audio e per dati su banda larga.
Al contrario, una scansione continua per gli stessi Beacon in un ruolo centrale può consumare 1.000 mAh in poche ore. I dispositivi Android e iOS hanno anche un impatto della batteria molto diverso a seconda del tipo di scansioni e del numero di dispositivi Bluetooth Low Energy nelle vicinanze. Con i più recenti chipset e con l'avanzamento del software, sia i telefoni Android che quelli iOS hanno ora un consumo di energia trascurabile negli scenari quotidiani di utilizzo del Bluetooth Low Energy.