# Bluetooth

Bluetooth (spesso abbreviato in BT) è uno standard tecnico-industriale di trasmissione dati per reti personali senza fili (WPAN: Wireless Personal Area Network). Fornisce un metodo standard, economico e sicuro per scambiare informazioni tra dispositivi diversi attraverso una frequenza radio sicura a corto raggio in grado di ricercare i dispositivi coperti dal segnale radio entro un raggio di qualche decina di metri mettendoli in comunicazione tra loro. Questi dispositivi possono essere ad esempio palmari, telefoni cellulari, personal computer, portatili, stampanti, fotocamere digitali, smartwatch, console per videogiochi, cuffie, purché provvisti delle specifiche hardware e software richieste dallo standard stesso. Il BT si è diffuso da tempo anche nel settore industriale (strumenti di misura, lettori ottici, ecc.) per il dialogo con i relativi datalogger.

## Storia

La specifica Bluetooth è stata sviluppata dalla Ericsson e in seguito formalizzata dalla Bluetooth Special Interest Group (SIG). La SIG, la cui costituzione è stata formalmente annunciata il 20 maggio 1999, è un'associazione formata da Ericsson, Sony, IBM, Intel, Toshiba, Nokia e altre società che si sono aggiunte come associate o come membri aggiunti. Il Bluetooth è stato concepito come sistema standard per trasmissioni di dati per reti senza fili, nel contesto storico in cui lo sviluppo di tecnologie era particolarmente necessario. Nacque così un'associazione di attività produttrici di apparecchi elettronici. Questi potevano comunicare tra loro. Il sistema Bluetooth sfrutta onde radio sulla breve distanza e richiede un consumo di energia elettrica. Ogni dispositivo dotato di un chip è in grado di creare una rete di dimensioni limitate, a seconda della versione utilizzata, il raggio d'azione può variare da 10 m a un massimo di 30 m, chiamata Personal Area Network (PAN).
Il nome è ispirato al soprannome di Sant'Aroldo, Harald Blåtand, re di Danimarca (dal 970 al 986) ed abile diplomatico che unì gli scandinavi introducendo nella regione il cristianesimo. Il suo soprannome era appunto "dente azzurro", in inglese Bluetooth, forse per via del fatto che andasse ghiotto di mirtilli oppure perché in battaglia si colorava i denti di blu per incutere paura al nemico, oppure ancora per il suo aspetto. Gli inventori della tecnologia hanno ritenuto che fosse un nome adatto per un protocollo capace di mettere in comunicazione dispositivi diversi (così come il re unì i popoli della penisola scandinava con la religione). Il marchio
della tecnologia unisce infatti le rune nordiche (Hagall) H e (Berkanan), B, analoghe alle moderne H e B. È probabile che l'Harald Blåtand a cui si deve l'ispirazione sia quello ritratto nel libro Röde Orm di Frans Gunnar Bengtsson, un best seller svedese ispirato alla storia vichinga.
Questo standard venne progettato con l'obiettivo di ottenere bassi consumi, un corto raggio d'azione (fino a 100 metri di copertura per un dispositivo di Classe 1 e fino a un metro per dispositivi di Classe 3) e un basso costo di produzione per i dispositivi compatibili. Lo standard doveva consentire il collegamento senza fili tra periferiche come stampanti, tastiere, telefoni, microfoni, ecc. a computer o PDA o tra PDA e PDA. In data 4 gennaio 2007 è stato superato il miliardo di dispositivi che utilizzano questa tecnologia. I dispositivi che integrano chip Bluetooth sono venduti in milioni di esemplari e sono abilitati a riconoscere e utilizzare periferiche Bluetooth in modo da svincolarsi dai classici cavi in rame. Il protocollo Bluetooth opera alla frequenza di 2,4 GHz. Per ridurre le interferenze il protocollo divide la banda in 79 canali e provvede a commutare tra i vari canali 1 600 volte al secondo (frequency hopping).
Con le versioni 1.1 e 1.2 dello standard Bluetooth vengono gestiti trasferimenti di dati con velocità fino a 723,1 kbit/s. Nella versione 2.0 è stata aggiunta una modalità con velocità più elevata, che consente trasferimenti fino a 3 Mbit/s. Tuttavia questa modalità comporta un incremento notevole dei consumi di corrente nei dispositivi, che prevalentemente sono alimentati a batteria. Con la versione 4.0 dello standard la velocità di trasferimento è stata incrementata fino a 4 Mbit/s. Nel contempo vi è stato introdotto un nuovo criterio, la riduzione della durata dei segnali trasmessi, che a parità di quantità di dati trasferiti riesce a dimezzare la corrente richiesta rispetto al Bluetooth versione 1.2.
Bluetooth non è uno standard comparabile con il Wi-Fi che è un protocollo nato per fornire elevate velocità di trasmissione con un raggio di copertura molto maggiore, a costo di un consumo di corrente più elevato e di un hardware molto più costoso. Infatti la rete creata dal Bluetooth viene definita come personal area network (PAN), mentre il Wi-FI ne forma una chiamata local area network. In questo senso il Bluetooth può essere paragonato al bus USB mentre il Wi-FI può essere paragonato alla rete Ethernet.
BMW è stato il primo produttore di autoveicoli a integrare la tecnologia Bluetooth nelle sue automobili in modo da consentire ai guidatori di rispondere al proprio telefono cellulare senza dover staccare le mani dal volante. Attualmente molti altri produttori di autoveicoli forniscono, di serie o in opzione, vivavoce Bluetooth che integrati con l'autoradio dell'automobile permettono, in ottemperanza alle leggi vigenti, di utilizzare il cellulare mantenendo le mani sul volante, aumentando così la sicurezza nella guida.

## Caratteristiche tecniche
### Classi di dispositivi

| Classe | Potenza ERP | Potenza ERP | Distanza |
| Classe | (mW) | (dBm) | (m) |
| 1 | 100 | 20 | ~100 |
| 2 | 2,5 | 4 | ~10 |
| 3 | 1 | 0 | ~1 |
| 4 | 0,5 | -3 | ~0,5 |
I dispositivi dotati di Bluetooth si dividono in 4 classi di potenza di trasmissione:
Potenza ERP: massima potenza trasmissiva in radiofrequenza, comprendente l'incremento dovuto al guadagno in trasmissione dell'antenna del dispositivo.
Distanza: è il raggio massimo di copertura a portata ottica, cioè senza ostacoli, entro cui può avvenire il collegamento fra dispositivi BT.

### Temporizzazione e clock

La tecnologia Bluetooth prevede di sincronizzare la maggior parte delle operazioni con un segnale di clock in tempo reale. Esso serve, ad esempio, a sincronizzare gli scambi di dati tra i dispositivi, distinguere tra pacchetti ritrasmessi o persi, generare una sequenza pseudo-casuale predicibile e riproducibile. Il clock Bluetooth è realizzato con un contatore a 28 bit che viene posto a 0 all'accensione del dispositivo e subito dopo continua senza fermarsi mai, incrementandosi ogni 312,5 µs (metà slot quindi). Il ciclo del contatore copre approssimativamente la durata di un giorno (312,5 µs × 2$^{28}$ ≅ 23,3 ore).
Ogni dispositivo Bluetooth ha il suo native clock (CLKN) che controlla la temporizzazione di quel dispositivo. Oltre a questo valore, proprio di ogni dispositivo, Bluetooth definisce altri due clock:
* CLK: questo è il clock della piconet, coincide con il CLKN dell'unità master della piconet. Tutte le unità attive nella piconet devono sincronizzare il proprio CLKN con il CLK. La sincronizzazione avviene aggiungendo un offset al CLKN dello slave per farlo coincidere con il CLK della piconet.
* CLKE: anche questo clock è derivato tramite un offset dal CLKN ed è usato dal master nel caso specifico della creazione di una connessione verso uno slave, e prima che tale slave si sia sincronizzato con il master (ovvero quando si tratta di un nuovo slave).
I primi 2 bit del contatore vengono usati direttamente per delimitare gli slot e i cosiddetti "mezzi slot", per la trasmissione e ricezione dei pacchetti; essi servono anche a stabilire nel tempo gli slot Tx (trasmissione) o Rx (ricezione) a seconda se il dispositivo in questione stia funzionando da master o da slave. Una trasmissione da parte del master comincerà sempre quando CLK[1:0] = 00 (slot di indice pari), mentre una trasmissione da parte di uno slave comincerà sempre quando CLK[1:0] = 10 (slot di indice dispari).

### Connessioni

Ogni dispositivo, quando si connette a una rete Bluetooth, identifica tramite un codice di 24 bit (COD) gli altri dispositivi attivando i servizi corretti, i collegamenti che possono essere stabiliti tra i diversi dispositivi definisce due tipi di collegamento a supporto delle applicazioni voce e trasferimento dati:
* senza connessione (Connectionless) o Servizio asincrono senza connessione (ACL, Asynchronous ConnectionLess), non richiede alcuna connessione prima di inviare i pacchetti, dove il trasmettitore può in qualsiasi momento iniziare a inviare i propri pacchetti purché conosca l'indirizzo del destinatario;
* orientati alla connessione (Connection Oriented) o servizio sincrono orientato alla connessione (SCO, Synchronous Connection Oriented), dove richiede di stabilire una connessione tra i dispositivi prima di inviare i dati.
ACL supporta traffico di tipo dati e si basa su un servizio di tipo best effort, dove l'informazione trasportata può essere di tipo utente o di controllo, questa comunicazione supporta connessioni a commutazione di pacchetto, connessioni punto-multipunto e connessioni simmetriche o asimmetriche. Nel caso di connessioni simmetriche il data rate massimo è di 433,9 kbit/s in entrambe le direzioni; mentre, per connessioni asimmetriche si raggiungono 723,2 kbit/s in una direzione e 57,6 kbit/s in quella opposta. Uno slave può trasmettere solamente se nello slot precedente aveva ricevuto un pacchetto dal master, inoltre in questi tipi di collegamenti, in genere, viene applicata la ritrasmissione dei pacchetti.
SCO è un collegamento che supporta connessioni con un traffico di tipo real-time e multimediale, questa comunicazione prevede connessioni a commutazione di circuito, connessioni punto-punto e connessioni simmetriche. Questo tipo di connessione è generalmente utilizzato per il trasporto della voce in canali da 64 kbit/s. Il master può supportare fino a tre collegamenti SCO verso lo stesso slave o verso slave differenti appartenenti alla stessa piconet. Uno slave, invece, può supportare fino a tre connessioni SCO verso lo stesso master, o due se i collegamenti sono stati creati da diversi master. A causa della sensibilità al ritardo di questi pacchetti (trasportano dati di natura real-time), non è prevista alcuna ritrasmissione in caso di errore o perdita.

### Tipologia della rete

Due o più dispositivi collegati tra loro formano una piconet e i dispositivi all'interno di una piconet possono essere di due tipi:
* master, è il dispositivo che all'interno di una piconet si occupa di tutto ciò che concerne la sincronizzazione del clock degli altri dispositivi (slave) e la sequenza dei salti di frequenza, inoltre nel caso di connessioni con altre piconet, esso può essere solo uno slave;
* slave, sono unità della piconet sincronizzate al clock del master e al canale di frequenza, inoltre possono appartenere a più piconet contemporaneamente come slave attraverso l'uso di tecniche TDM (Time Division Multiplexing), ma può essere master solo in una.
Le specifiche Bluetooth prevedono 3 topologie di rete:
* punto-punto, dove la comunicazione avviene tra un master e uno slave
* punto-multipunto, dove la comunicazione avviene tra un master e molti slave
* scatternet, dove due o più piconet sono connesse tra loro, creando una rete più grande.
I limiti dei master e slave nelle scatternet sta nel fatto che all'aumentare del numero di piconet aumentano anche il numero di collisioni dei pacchetti e di conseguenza degradano le prestazioni del collegamento, con questo sistema si riducono le piconet ridondanti. Ogni piconet lavora indipendentemente dalle altre sia a livello di clock sia a livello di salti di frequenza, in quanto ogni piconet ha un proprio master.
Con i dispositivi Bluetooth di classe 1 e quindi per comunicazioni a lunga distanza tra dispositivi (circa 100 m), risulta possibile realizzare delle LAN wireless, dove il master è in grado di gestire simultaneamente la comunicazione con altri 7 dispositivi slave sebbene, essendo un collegamento di tipo master-slave, solo un dispositivo per volta possa comunicare con il master, inoltre ogni dispositivo Bluetooth è configurabile per cercare costantemente altri dispositivi e per collegarsi a questi. Qualora fosse necessario aumentare la sicurezza, è possibile impostare un codice PIN, per mezzo della quale si permette l'accesso alle periferiche solo a chi è autorizzato.

### Codec audio&video

Per le comunicazioni multimediali si utilizzano vari codec, nel caso delle comunicazioni audio il codec base è SBC, ma nel caso di profilo distribuzione audio avanzato (A2DP) è possibile utilizzare il codec MPEG-1, il codec MPEG-2 / AAC e il codec ATRAC, inoltre per alcune periferiche ad alte prestazioni e di particolari marchi detentrici di specifici brevetti è possibile utilizzare il codec aptX, il codec aptX HD e il codec LDAC.
Mentre per le trasmissioni video (Video Distribution Profile - VDP) sono previsti i codec H.263 baseline, MPEG-4 Visual, H.263 profile 3 e H.263 profile 8.

### Modalità operative

Un dispositivo Bluetooth si può trovare essenzialmente in due stati:
* in quello di connessione se è connesso a un altro dispositivo ed è coinvolto con esso alle normali attività;
* in quello di standby se il dispositivo non è connesso o non è coinvolto alle attività della piconet, allora esso si trova automaticamente nello stato di standby. Questo stato è stato concepito come un modo per far risparmiare energia ai dispositivi, in quanto se uno di essi non è coinvolto attivamente all'interno di una connessione, non c'è motivo che assorba picchi di potenza pari a quelli dei dispositivi attivi. Quando un'unità si trova in standby ascolta il canale ogni 1,28 secondi per eventuali messaggi dal master.
Quando un dispositivo passa dallo stato di standby a quello di connessione, esso può essere collocato in una delle seguenti modalità:
* Active mode: l'unità partecipa attivamente alla piconet, sia in ricezione sia in trasmissione, ed è sincronizzata al clock del master. Il master trasmette regolarmente per mantenere la sincronizzazione del sistema. Gli slave hanno un indirizzo di 3 bit AM_ADDR (Active Member Address).
* Hold mode: il master può mettere i dispositivi slave nello stato di Hold per un tempo determinato. Durante questo periodo nessun pacchetto può essere trasmesso dal master anche se il dispositivo mantiene il suo AM_ADDR e la sincronizzazione con il master. Questa modalità operativa è utilizzata generalmente nel momento in cui non si devono inviare pacchetti a un dispositivo per un periodo relativamente lungo (questo ci fa capire che tale modalità operativa è supportata solamente nel caso in cui tra due dispositivi Bluetooth ci sia un collegamento di tipo ACL). Durante questo periodo, il dispositivo si può spegnere per risparmiare energia. L'Hold mode può essere utilizzata anche nel caso in cui un'unità vuole scoprire o essere scoperta da altri dispositivi Bluetooth o vuole partecipare ad altre piconet.
* Sniff mode: lo slave che passa in questo stato si trova in una modalità di risparmio energetico. Per entrare nello sniff mode, master e slave devono negoziare due parametri: uno “sniff interval” e uno “sniff offset”. Con il primo si fissano gli slot di sniff, mentre con il secondo si determina l'istante del primo slot di sniff. Quando il collegamento entra in sniff mode, il master può inviare pacchetti solamente all'interno degli sniff slot. Quindi lo slave ascolta il canale a intervalli ridotti. Il master può costringere lo slave a entrare in sniff mode, ma entrambi possono chiedere il passaggio. L'intervallo di sniff mode è programmabile.
* Park mode: il dispositivo è ancora sincronizzato alla piconet ma perde il suo indirizzo di dispositivo attivo (AM_ADDR) e riceve un nuovo indirizzo di 8 bit (PM_ADDR, Park Mode Address). Questa modalità è stata ideata per avere la possibilità di costituire piconet con più di sette slave. Infatti si possono avere fino a un massimo di 255 (2$^8$-1) dispositivi in modalità Park. Utilizzando tale indirizzo il master è in grado d'identificare un particolare dispositivo in tale modalità ed effettuare il passaggio all'active mode. Le unità in questo stato ascoltano regolarmente il traffico sulla rete per risincronizzarsi e ricevere messaggi di broadcast. Questi ultimi, infatti, sono gli unici messaggi che possono essere inviati a uno slave in park mode. La richiesta di passaggio in park mode può avvenire indifferentemente da parte del master o dello slave. Lo slave per richiedere l'attivazione al master riceve un indirizzo di Active Request (AR_ADDR) non unico.

### Architettura

Come avviene per l'architettura OSI, Bluetooth specifica un approccio a livelli nella sua struttura protocollare. Differenti protocolli sono utilizzati per differenti applicazioni. Indipendentemente del tipo di applicazione, però, lo stack protocollare Bluetooth porta sempre all'utilizzo dei livelli data-link e fisico. Non tutte le applicazioni usano tutti i protocolli dello stack Bluetooth, infatti, esso è rappresentato su più livelli verticali, al di sopra dei quali c'è un'applicazione specifica.
Scendendo un po' più in dettaglio è possibile identificare le funzioni principali svolte dai protocolli più importanti dello stack Bluetooth:
* Bluetooth Radio: definisce i requisiti della parte in radio frequenza. Qui è dove i segnali radio vengono processati.
* Baseband: abilita il collegamento fisico tra dispositivi all'interno di una piconet. Tale livello si basa sulle procedure di inquiry e di paging per la sincronizzazione e la connessione di dispositivi Bluetooth. Permette di stabilire i due diversi tipi di connessione (ACL e SCO).
* LMP: è responsabile dell'organizzazione del collegamento, del controllo tra dispositivi Bluetooth e del controllo e negoziazione della dimensione dei pacchetti. È anche utilizzato per quanto riguarda la sicurezza: autenticazione e crittografia, generazione, scambio e controllo chiavi. Effettua anche il controllo sulle diverse modalità di gestione della potenza (park, sniff, hold) e sullo stato della connessione di un dispositivo all'interno della piconet. I messaggi LMP sono filtrati e interpretati dal link manager in sede di ricezione, di conseguenza non saranno mai trasmessi ai livelli superiori. Questi messaggi hanno priorità maggiore rispetto ai pacchetti che trasportano dati utenti.
* L2CAP: esegue il multiplexing dei protocolli di livello superiore, la segmentazione e il riassemblaggio dei pacchetti e il trasporto di informazione relativa alla QoS (Quality of Service) ovvero è possibile richiedere una certa QoS da riservare a un determinato link. L2CAP permette ai protocolli dei livelli superiori e alle applicazioni di trasmettere e ricevere pacchetti di dati di dimensione superiore a 64 kB. Esso definisce solamente un collegamento di tipo connectionless. I canali audio di solito vengono fatti girare su collegamenti SCO; per ovviare a questo problema dati audio possono essere inviati all'interno di pacchetti di protocolli che girano su L2CAP.
* RFCOMM: emula una porta seriale (RS-232) sul protocollo L2CAP. Questo livello è necessario in quanto esistono applicazioni (come per esempio OBEX) che utilizzano un meccanismo di trasmissione seriale.
* TCS BIN: opera a livello bit e definisce i segnali di controllo per le chiamate voce e dati tra dispositivi Bluetooth e le procedure per gestire gruppi di dispositivi TCS.
* SDP: è un elemento importante all'interno della tecnologia Bluetooth, in quanto permette alle applicazioni di avere informazioni sui dispositivi, sui servizi offerti e sulle caratteristiche dei servizi disponibili. Dopo aver individuato il dispositivo che implementa un determinato servizio è possibile stabilire una connessione.
* AUDIO: la funzione di questo strato è quella di codificare il segnale audio. Due tecniche possono essere adottate: log PCM e CVSD; entrambe forniscono un flusso di bit a 64 kbit/s. La codifica log PCM (Pulse Code Modulation) consiste in una quantizzazione non uniforme a 8 bit. Nella codifica CVSD (Continuous Variable Slope Delta Modulation) il bit d'uscita indica se il valore predetto è maggiore o minore del valore della forma d'onda in ingresso, costituita da un segnale PCM con quantizzazione uniforme. Il passo è determinato dalla pendenza della forma d'onda.
Gli adopted protocols sono così chiamati perché sono protocolli definiti da altre organizzazioni di standardizzazione e incorporati nell'architettura Bluetooth: PPP (lo standard Internet per trasportare i pacchetti IP su una connessione punto a punto), TCP/UDP-IP (le fondamenta della suite TCP/IP), OBEX (object exchange, un protocollo a livello sessione sviluppato dalla Infrared Data Association per scambio di oggetti, simile all'HTTP ma più semplice; usato ad esempio per trasferire dati in formato vCard e vCalendar, cioè biglietto da visita e calendario degli impegni) e WAE/WAP (Wireless Application Environment e Wireless Application Protocol).

## Caratteristiche secondo versione

Nota bene: la versione BT si riferisce allo standard e non va confusa con le versioni di applicazioni o servizi relativi al BT installati sui vari dispositivi hardware.

### Bluetooth 1.0 e 1.0B

Le versioni 1.0 e 1.0B sono afflitte da molti problemi e spesso i prodotti di un costruttore hanno grosse difficoltà nel comunicare con i prodotti di un'altra società. Tra lo standard 1.0 e 1.0B vi sono state delle modifiche nel processo di verifica dell'indirizzo fisico associato a ogni dispositivo Bluetooth. Il vecchio metodo rendeva impossibile rimanere anonimi durante la comunicazione e quindi un utente malevolo dotato di uno scanner di frequenze poteva intercettare eventuali informazioni confidenziali. La versione B apportò anche delle modifiche alla gestione dell'ambiente Bluetooth in modo da migliorare l'interoperabilità. Questa versione trasferisce molto lentamente i dati, in quanto la capacità massima teorica è di 1 Mbit/s.

### Bluetooth 1.1

La versione 1.1, identificata come standard IEEE 802.15.1-2002, risolve errori introdotti nella versione 1.0B e permette la comunicazione su canali non cifrati.

### Bluetooth 1.2

Questa versione, identificata come standard IEEE 802.15.1-2005, è compatibile con la precedente 1.1 e aggiunge le seguenti novità:
* Adaptive Frequency Hopping (AFH): questa tecnica fornisce maggior resistenza alle interferenze elettromagnetiche, evitando di utilizzare i canali soggetti a forti interferenze.
* Fornisce una modalità di trasmissione ad alta velocità.
* extended Synchronous Connections (eSCO): fornisce una modalità di trasmissione audio ad alta qualità, in caso di perdita dei dati questi vengono ritrasmessi per migliorare la qualità audio.
* Rilevatore della qualità del segnale.
* Fornisce un'interfaccia per gestire fino a tre UART.
* Accesso alle informazioni di sincronizzazione per le applicazioni Bluetooth.

### Bluetooth 2.0 + EDR

La nuova versione è retrocompatibile con tutte le precedenti versioni e offre i seguenti miglioramenti:
* Evita di saltare tra i canali per ragioni di sicurezza. Commutare tra i canali per aumentare la sicurezza non è una buona strategia, risulta relativamente semplice controllare tutte le frequenze simultaneamente. La nuova versione del Bluetooth utilizza la crittografia per garantire l'anonimato.
* Supporta le trasmissioni multicast/broadcast, consente la trasmissione di elevati flussi di dati senza controllo degli errori a più dispositivi simultaneamente.
* Enhanced Data Rate (EDR): porta la velocità di trasmissione fino a 3 Mbit/s.
* Include una gestione della qualità del servizio.
* Protocollo per l'accesso a dispositivi condivisi.
* Tempi di risposta notevolmente ridotti.
* Dimezzamento della potenza utilizzata grazie all'utilizzo di segnali radio di minore potenza.

### Bluetooth 2.1 + EDR

Viene aggiunta la Secure Simple Pairing (SSP): questo migliora qualitativamente l'accoppiamento dei dispositivi Bluetooth, aumentando l'uso e il livello di protezione, viene introdotta la "Extended inquiry response" (EIR), che fornisce ulteriori informazioni durante la procedura di ricerca per permettere un migliore filtraggio dei dispositivi prima del collegamento, che riduce il consumo di energia in modalità di risparmio energetico.
Alcuni sistemi Bluetooth 2.1 possono essere aggiornati alla versione 3.0, ma solo se il dispositivo a cui sono accoppiati presenta anche il Wi-Fi.

### Bluetooth 3.0 + HS "Lisbon"

Il 21 aprile 2009 sono state presentate le specifiche per la nuova versione Bluetooth 3.0. La novità maggiore riguarda la possibilità di inviare una grande mole di dati sfruttando connessioni High Speed (HS) Wi-Fi IEEE 802.11. Bluetooth Special Interest Group (SIG) ha pubblicato la specifica Alternate MAC/PHY, che combinerà i vantaggi di Bluetooth, quali la possibilità di instaurare rapidamente connessioni (P2P) fra più dispositivi.
Per ottimizzare la durata della batteria dei notebook, la nuova specifica prevede che la connessione Wi-Fi venga utilizzata solo quando realmente necessario: ad esempio, per trasferire file di grandi dimensioni o per lo streaming di contenuti multimediali. In pratica, i dispositivi capaci di supportare lo standard 3.0 continueranno a cercarsi e connettersi tra loro utilizzando Bluetooth: non appena gli utenti avvieranno un trasferimento o la riproduzione di contenuti in streaming che richieda velocità più elevata, la comunicazione verrà passata alla connessione Wi-Fi, che trasferirà i dati alla velocità massima di 24 Mbit/s (standard b/g). Una volta terminato il trasferimento o lo streaming, la connessione Wi-Fi verrà disconnessa e il controllo tornerà al protocollo Bluetooth.
Le funzionalità della specifica Alternate MAC/PHY sono rese possibili dal servizio Service Discovery del protocollo Bluetooth, capace di negoziare connessioni wireless utilizzando altri protocolli di rete.

#### Atomic Encryption Change

    permette un cambio di password periodico per collegamenti criptati, incrementando così la sicurezza.

#### Extended Inquiry Response

    provvede più informazioni durante la procedura di richiesta in modo da permettere un miglior filtraggio dei dispositivi prima di effettuare la connessione. Queste informazioni includono il nome del dispositivo, una lista di servizi e altro.

#### Sniff Subrating

    riduce il consumo di potenza quando i dispositivi sono nello stato di sniff, particolarmente sui collegamenti con flussi di dati asimmetrici. Gli Human Interface Devices (HID) beneficeranno di questo profilo potendo incrementare la carica della batteria di mouse e tastiera da 3 a 10 volte l'attuale standard.

#### Miglioramenti nella QoS

    permetterà a dati audio e video di essere trasmessi con qualità superiore.

#### Simple Pairing

    miglioramento nel controllo dei bit attraverso parità per motivi di sicurezza.

### Bluetooth 4.0 + LE "Seattle"

In data 6 luglio 2010 sono diventate definitive le specifiche della versione 4.0.
Tra i primi produttori a usare quest'ultima versione ricordiamo Apple per i suoi MacBook Air, iPhone 4S e iPad (terza generazione), ASUS e Acer per i rispettivi Ultrabook ZenBook UX21/UX31 e Aspire S3 e lo smartphone Motorola Razr che utilizza Android come sistema operativo. Rispetto alle versioni precedenti, la versione 4.0 punta alla riduzione dei consumi energetici, l'obiettivo principale di questa funzionalità opzionale, denominato Low Energy (LE), è quello di aggregare dati provenienti da diversi sensori, come monitor a frequenza cardiaca, termometri, ecc., tramite un'ottimizzazione della struttura di trama e l'impiego di dispositivi più efficienti, ma a discapito della velocità, che in questa modalità si attesta a 1 Mbit/s. In termini trasmissivi, sono stati potenziati i meccanismi di rilevazione e correzione di errore e di cifratura del segnale col supporto di AES-128.
Ultra wideband (UWB) che permette una velocità di trasferimento più elevata.
I primi dispositivi commerciali dotati di Bluetooth 4.0 (computer e smartphone) sono stati immessi sul mercato nella seconda metà del 2011.

### Bluetooth 4.1

Si tratta di un aggiornamento minore dello standard che migliora l'attuale Bluetooth 4.0 di cui sono dotati molti smartphone. Uno dei problemi riscontrati con l'avvento delle reti Long Term Evolution (LTE) è una sovrapposizione delle bande: la banda ISM del Bluetooth è esattamente in mezzo alle bande LTE 40 e 41 e questo potrebbe causare qualche problema. Per risolvere l'inconveniente, il nuovo Bluetooth 4.1 effettua un controllo di utilizzo della banda prima di procedere al suo utilizzo.

### Bluetooth 4.2

A differenza del Bluetooth 4.0, dove è possibile connettere un dispositivo IoT ad altri dispositivi (PC, smartphone, ecc.) connessi a internet, la versione 4.2 permette ai dispositivi IoT collegamento a un gateway Internet e comunicare con un altro IoT, PC, smartphone, ecc.

### Bluetooth 5.0

Questa versione offre i seguenti miglioramenti:
* 4x area di trasmissione per connettere spazi di grandi dimensioni, pur mantenendo lo stesso consumo.
* 2x velocità, fino a 2 Mbit/s in modalità a basso consumo: riduzione dei tempi necessari per ricevere e trasmettere i dati (esempio: aggiornamenti OTA trasferiti dagli smartphone ai dispositivi indossabili).
* 8x capacità di trasmissione: richiede meno tempo per il completamento delle operazioni, adatto ad esempio per i beacon che trasmettono dati di localizzazione e altri.
* Maggiore efficienza nell'uso dei canali di trasmissione sulla banda 2,4 GHz.
* Individuazione delle interferenze e successiva eliminazione.
Questa tecnologia consente così di aprire nuove strade alla connettività, sia all'interno delle proprie abitazioni, sia negli ambienti industriali. Ciò viene reso possibile anche attraverso la capacità dello standard di limitare le potenziali interferenze con altri dispositivi wireless connessi alla rete tramite un adattamento continuo del segnale, pur garantendo nel contempo una migliore affidabilità e un elevato livello di sicurezza.

### Bluetooth 5.1

Questa versione offre i seguenti miglioramenti:
* Bluetooth come localizzatore d'interni
La novità di maggior rilievo, come accennato poco sopra, è la capacità del Bluetooth 5.1 di funzionare anche da localizzatore, con un grado di precisione di alcuni metri. La nuova funzionalità è frutto di un nuovo algoritmo di localizzazione, in grado non solo di calcolare la distanza tra due dispositivi compatibili, ma anche di individuare in quale direzione "puntare".
Il Bluetooth 5.1 offre due diversi metodi per riuscire a individuare la posizione dei dispositivi all'interno dello spazio: AoA (acronimo di Angle of Arrival, "Angolo d'arrivo" in italiano) e AoD (Angle of Departure, "Angolo di partenza" in italiano). Questi sistemi sono accomunati dalla necessità di utilizzare un certo numero di antenne per inviare o ricevere il segnale: triangolando i dati ricevuti o inviati, l'algoritmo sarà in grado di individuare posizione e distanza dell'oggetto che invia o riceve i dati. Insomma, lo stesso metodo (in piccolo) utilizzato dalla rete cellulare per localizzare telefonini e smartphone all'interno del loro raggio d'azione.
* Connessioni più rapide
Con lo standard Bluetooth 5, quando due dispositivi si connettono tra loro effettuano un'operazione chiamata Generic Attribute Profile (o GATT), che permette di conoscere quali servizi sono supportati e, quindi, l'utilizzo che se ne può fare. Questa operazione, per quanto utile, richiede però tempo ed energia per essere effettuata: a ogni connessione, infatti, i due dispositivi devono scambiarsi dati relativi al GATT, così da capire che tipologia di dati scambiare e a che velocità (un computer, ad esempio, scoprirà che è inutile inviare dati audio a un mouse o una tastiera).
Con il Bluetooth 5.1 questa operazione viene eliminata nel caso in cui si tratti di dispositivi che già si "conoscono" (ossia, che sono già stati connessi e sincronizzati in precedenza). Ciò consentirà connessioni più veloci ed eviterà inutili sprechi di tempo e di energia.
* Miglioramenti nella "disponibilità"
Con la nuova versione dello standard Bluetooth 5 è stato migliorato il sistema con il quale i dispositivi comunicano l'uno all'altro la propria "disponibilità" a essere utilizzati. Ossia, quello che in gergo tecnico viene chiamata advertising. Con il Bluetooth 5.1, i dispositivi accedono casualmente a uno dei tre canali radio utilizzati per comunicare lo stato di attività (il 37, 38 e 39). Questo fa sì che ci siano meno probabilità che si creino interferenze tra due dispositivi appena accesi che tentano di comunicare la loro disponibilità a un terzo dispositivo presente nelle loro vicinanze.
Non solo: sfruttando il sistema chiamato Periodic Advertising Sync Transfer, un dispositivo può comunicare a un altro non solo il proprio status di attività, ma anche quello di un altro dispositivo presente nelle vicinanze e con il quale era precedentemente entrato in "contatto", facendo risparmiare così energia e tempo.

### Bluetooth 5.2

Rilasciato nel 2020, ha portato con sé miglioramenti significativi nelle prestazioni audio. Questa versione ha introdotto il Bluetooth Low Energy Audio (LE Audio), che permette una qualità audio superiore a un minor consumo di energia. Il basso consumo energetico era stato introdotto con il Bluetooth 4 , ma non era abbastanza sofisticato per essere utilizzato con la maggior parte delle applicazioni pratiche, come la musica in streaming. Un altro importante miglioramento è stata la possibilità di trasmettere maggiori quantità di informazioni su una larghezza di banda inferiore e con una potenza inferiore attraverso il codec LC3. Sempre la versione 5.2 offre un protocollo Enhanced Attribute, che consente transazioni parallele tra due dispositivi Bluetooth contemporaneamente. Un altro miglioramento importante è stata la trasmissione multi-stream con Isochronous Channels, consentendo agli utenti di condividere l’audio con più dispositivi Bluetooth contemporaneamente.

### Bluetooth 5.3

L’introduzione del Bluetooth 5.3 segna un’evoluzione significativa rispetto alla versione precedente, portando con sé miglioramenti per quanto riguarda la velocità di trasmissione dati, la portata del segnale e l’efficienza energetica.

## Sicurezza

Bluetooth utilizza l'algoritmo SAFER+ (Secure And Fast Encryption Routine) per autenticare i dispositivi e per generare la chiave utilizzata per cifrare i dati.
Nel novembre del 2003 Ben e Adam Laurie di A.L. Digital Ltd. scoprirono delle falle di sicurezza nel protocollo Bluetooth. Queste falle consentivano l'accesso a dati personali da parte di un estraneo. Tuttavia, i difetti riguardavano alcune pessime implementazioni del protocollo e non affliggevano tutti i dispositivi Bluetooth.
In un esperimento successivo, Martin Herfurt del trifinite.group ha dimostrato durante il CeBIT quanto fosse importante il problema della sicurezza. Utilizzando un nuovo tipo di attacco chiamato BlueBug è riuscito a forzare alcuni dispositivi.
Nell'aprile del 2004 l'esperto di sicurezza @Stake rivelò la possibilità di forzare il Bluetooth e di accedere a una serie di dati personali. Il suo attacco si era basato su un'analisi del dispositivo Bluetooth che gli aveva permesso di recuperare il codice utilizzato per cifrare la trasmissione dei dati.
Nell'agosto del 2004 un esperimento ha dimostrato che è possibile intercettare il segnale Bluetooth anche a un miglio di distanza utilizzando un'antenna direzionale a elevato guadagno. Questo estende significativamente il possibile raggio di azione di un potenziale attaccante.

## Profili

Per facilitare l'utilizzo dei dispositivi Bluetooth sono stati definiti tipologie di profili, che identificano una serie di possibili applicazioni. I profili definiti sono i seguenti.
* 3D Synchronization Profile (3DSP)
* Advanced Audio Distribution Profile (A2DP) differisce dai profili HSP e HFP per consentire la trasmissione di comunicazioni audio stereo e con un bitrate superiore.
* Audio Video Remote Control Profile (AVRCP) permette la trasmissione di comandi, i quali sono presenti sul dispositivo Bluetooth connesso (avanzamento veloce/traccia successiva, riavvolgi/traccia precedente, pausa/riproduzione) al dispositivo sorgente (PC, telefono cellulare, smartphone, lettore MP3, ecc.)
* Basic Imaging Profile (BIP)
* Basic Printing Profile (BPP)
* Generic Access Profile (GAP)
* Calendar Tasks and Notes Profiles (CTN)
* Device ID Profile (DI)
* Dial-Up Networking Profile (DUN)
* File Transfer Profile (FTP)
* Generic A/V Distribution Profile (GAVDP)
* Global Navigation Satellite System Profile (GNSS)
* Generic Object Exchange Profile (GOEP)
* Generic PIM Profile (GPP)
* Hard Copy Replacement Profile (HCRP)
* Health Device Profile (HDP)
* Hands-Free Profile (HFP) Rispetto al profilo HSP permette la funzione di comando vocale ed è stato ideato inizialmente per integrare l'uso di dispositivi vivavoce fissi per auto.
* Human Interface Device Profile (HID)
* Headset Profile (HSP), Profilo per le comunicazioni base con l'auricolare o altri dispositivi con un solo altoparlante ed eventualmente un microfono.
* Message Access Profile (MAP)
* Multi Profile Specification (MPS)
* Object Push Profile (OPP)
* Personal Area Networking Profile (PAN)
* Phone Book Access Profile (PBAP)
* Sim Access Profile (SAP)
* Serial Port Profile (SPP)
* Synchronization Profile (SYNCH) utilizzati per sincronizzare i Personal Information Manager (PIM), originariamente erano previsti per le reti a infrarossi IrDA (vengono usualmente definiti IrMC Synchronization) ma in seguito il Bluetooth SIG ha deciso di includerli nelle sue specifiche per facilitare la sincronizzazione tra i vari dispositivi dell'utente
* Video Distribution Profile (VDP)
La compatibilità dei prodotti con i vari profili può essere verificata sul sito ufficiale.

## Ulteriori sviluppi tecnologici
### Situazione attuale

Due sono gli sviluppi di maggiore interesse: Voice over IP (VoIP) e banda ultralarga (UWB).
La tecnologia Bluetooth costituisce parte fondamentale nello sviluppo del VoIP. Oggi viene già impiegata nei microfoni usati come estensioni wireless dei sistemi audio dei cellulari e dei PC. Dato l'incremento in popolarità e nell'uso del VoIP, il Bluetooth potrebbe essere utilizzato nei telefoni cordless e cellulari per la connessione a Internet per effettuare una chiamata VoIP.

### Storia

Nel marzo 2006 il SIG annunciò l'intenzione di lavorare insieme ai produttori del UWB per sviluppare la futura generazione di Bluetooth che usasse lo standard e la velocità della tecnologia UWB. Questo ha permesso l'uso dei profili su UWB consentendo un trasferimento dati molto veloce ottimo per la sincronizzazione, il VoIP e le applicazioni audio e video, con un consumo di potenza allo stato estremamente ridotto quando il dispositivo è inattivo.
Il 3 ottobre 2006 Nokia presentò anche una nuova tecnologia wireless, chiamata Wibree, caratterizzata da un consumo inferiore di energia. Nel 2010 questa tecnologia fu unificata con lo sviluppo dello standard Bluetooth, dando vita al Bluetooth Low Energy.