Bluetooth Basics | Cerca per titolo, autore, parola chiave | ||||||||
Bluetooth Basics di jimblom. Bluetooth è un protocollo standard per inviare e ricevere dati utilizzando un link wireless a 2.4GHz. È un protocollo sicuro, perfetto per trasmissioni wireless di corto raggio, low-power, low-cost, tra differenti apparecchi. Bluetooth opera a 2.4GHz, la stessa frequenza unlicensed ISM utilizzata dai protocolli RF (radio-frequency) quali ZigBee e WiFi. Nelle telecomunicazioni la Banda ISM (Industrial, Scientific and Medical) è il nome assegnato dall'Unione Internazionale delle Telecomunicazioni (ITU) ad un insieme di porzioni dello spettro elettromagnetico riservate alle applicazioni di radiocomunicazioni non commerciali, ma per uso industriale, scientifico e medico. C'è una serie di regole e specifiche standard che differenziano Bluetooth da altri protocolli. Se avete qualche ora da buttare e volete sapere tutto di Bluetooth, leggete le specifiche pubblicate, altrimenti seguite questo articolo, in cui cercherò di farvi capire cosa rende Bluetooth speciale. Bluetooth può essere visto come una versione in RF delle comunicazioni seriali. Una rete Bluetooth (chiamata piconet) usa un modello master/slave per controllare quando e dove un apparecchio (device) può spedire dati. In questo modello, un singolo apparecchio master può essere connesso con sette differenti apparecchi slave. Ogni apparecchio slave nella piconet può essere connesso con un solo master. Il master può inviare o richiedere dati ad uno qualunque degli slave. Gli Slave, invece, possono inviare e ricevere dati solo al e dal master. Uno slave non può parlare con altri slave nella piconet. Ogni periferica (apparecchio) Bluetooth ha un indirizzo unico a 48-bit (BD_ADDR: 12 cifre easdecimali): 00:06:66:42:21:52 I primi 24 bit più significativi dell'indirizzo: 00:06:66 rappresentano un ID univoco, Organization Unique Identifier (OUI), che identifica il produttore della scheda. Nel nostro caso: Roving Networks Tutte le schede prodotte da Roving Networks avranno, quindi, i primi 24 bit uguali. I 24-bit restanti, meno significativi, rappresentano l'indirizzo vero e proprio della scheda. La creazione di una connessione Bluetooth tra due periferiche è un processo multi-step che prevede tre stati progressivi:
Quando due periferiche Bluetooth condividono una speciale affinità, è possibile legarle l'una all'altra. Le periferiche abbinate stabiliscono automaticamente una connessione non appena sono abbastanza vicine. Non appena accendo la mia macchina, per esempio, il mio telefono si connette immediatamente al sistema Bluetooth della macchina. Due periferiche possono essere abbinate attraverso un processo chiamato pairing, un processo che può essere eseguito, ma non deve essere necessariamente eseguito. Quando due periferiche vengono accoppiate, condividono, usualmente in memoria, i loro indirizzi, i loro nomi, i loro profili. Condividono anche una chiave segreta (secret key), che permette loro di legarsi quando si troveranno vicine. Il Pairing normalmente richiede un processo di autenticazione, in cui un utente deve validare la connessione tra le periferiche. Il flusso del processo di autenticazione varia a seconda delle periferiche coinvolte. A volte il pairing è una semplice operazione del tipo "Just Works", in cui tutto ciò che serve è premere un bottone (questo è molto comune con le periferiche senza UI, User Interface, come le cuffie). In altri casi, il pairing richiede la creazione e lo scambio di codici numerici. Bluetooth Profiles I profili Bluetooth sono protocolli addizionali, che definiscono il tipo di dato che una scheda bluetooth sta trasmettendo. Se le specifiche Bluetooth definiscono come funziona la tecnologia, i profili definiscono come la tecnologia viene utilizzata. I profili che una periferica Bluetooth supporta determinano a quale tipo di applicazione la periferica è destinata. Le cuffie (headset) senza fili Bluetooth, per esempio, utilizzeranno il profilo headset profile (HSP), mentre un Nintendo Wii Controller implementerà lo human interface device (HID) profile. Due periferiche Bluetooth, per essere compatibili, devono supportare gli stessi profili. Vediamo alcuni di questi profili, almeno quelli che incontrerete quasi sempre:
I chip bluetooth sono tutti composti dallo stesso hardware, oppure l'hardware dipende dal profilo che abbiamo scelto? In generale, i profili non sono legati ad una particolare configurazione hardware, ma implementati da firmware (una sequenza di istruzioni, integrata direttamente in un componente elettronico programmato, come il BIOS su ROM). In alcuni casi, un particolare profilo può essere associato ad un particolare componente hardware, come nel caso dell'Advanced Audio Distribution Profile (A2DP), che è accompagnato da uno stereo codec, ma, nella maggior parte dei casi, un profilo non richiede hardware aggiuntivo. Generalmente, le differenze hardware nelle periferiche Bluetooth sono più associate alla classe della periferica:
Per sapere quali profili supporta il tuo controller Bluetooth, leggi la documentazione o visita le pagine web del produttore. Per sapere quali profili supporta una periferica Bluetooth, nelle vicinanze del tuo controller, usa il protocollo SDP, con il comando: sdptool browse 00:80:98:24:15:6D Service Name: Headset Gateway Service RecHandle: 0x10003 Service Class ID List: "Headset Audio Gateway" (0x1112) "Generic Audio" (0x1203) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 2 Profile Descriptor List: "Headset" (0x1108) Version: 0x0102 Il protocollo SDP permette alle periferiche Bluetooth di scoprire quali servizi (profili) sono supportati dalle altre periferiche e le impostazioni necessarie per la connessione a ciascuno di essi. Ciascun profilo è identificato da uno short UUID, di 16 bit.
|
|||||||||
Bluetooth Basics | Disclaimer: questo è un link a contenuti ospitati su server esterni. |