Jak funguje Bluetooth?

Všichni máme Bluetooth ve svých telefonech, tabletech a noteboocích. Jak ale skutečně funguje a k čemu vlastně je?

Bluetooth protokol pracuje v bezlicenčním pásmu 2.4GHz. V tomto pásmu pracují i další protokoly, například WiFi nebo ZigBee. Existuje množina pravidel, kterými se Bluetooth liší od zbývajících protokolů. V následujících pár větách se pokusím shrnout, jak protokol Bluetooth funguje. Vysvětlení je spíše pro laiky, další detaily najdete na Wikipedii.

Master, Slave, Piconet

Bluetooth síť (známá jako Piconet) používá master-slave model pro řízení toho, kdy a kam může dané zařízení posílat data. Master může být spojen až se sedmi slave. Slave může být v dané piconet síti připojen pouze k jednomu masterovi.

Master řídí komunikaci v piconetu. Může posílat data kterémukoliv slave a všechny slave si mohou vyžádat data i od něj. Slave mohou posílat a přijímat data pouze od příslušného mastera. Jeden slave nemůže komunikovat s jiným slave v rámci piconetu.

Master slave bluetooth

Bluetooth identifikátory a jména

Každé bluetooth zařízení má unikátní 48 bitový identifikátor, obecně zkracovanou jako BD_ADDR. Ten je obvykle reprezentovaný ve formě dvanáctimístné hexadecimální hodnoty. Levá polovina této hodnoty je unikátní identifikátor organizace (OUI), který označuje výrobce. Pravá část je unikátní pro každé zařízení.

Tento identifikátor by měla být napsaná na každém Bluetooth zařízení. Například na následujícím obrázku (RN-42 Bluetooth Modul) se identifikátor nachází pod označením MAC NO a je 000666422152. 000666 označuje výrobce a je stejný pro všechny moduly tohoto typu. 422152 jednoznačně identifikuje každý modul.

bluetooth id zařízení

Bluetooth zařízení ale obsahují taky uživatelsky přívětivá jména, která jim uživatelé mohou dát. Slouží pro jednoduší rozpoznání, o které zařízení se jedná. Pravidla pro tato jména jsou méně přísná. Mohou být až 248 bajtů dlouhá a nemusí být unikátní.

Připojovací proces

Vytvoření spojení mezi dvěma zařízeními je vícekrokový proces, který obsahuje tři základní části:

  1. Požadavek (Inquiry) – pokud o sobě dvě zařízení neví vůbec nic, jedno z nich musí poslat požadavek a zkusit objevit to druhé. Jedno zařízení vysílá požadavek a jakékoliv jiné zařízení, které ho přijme, odpoví svou adresou a případně i přiřazeným jménem.
  2. Připojování (Paging) – během této části se vytvoří spojení mezi zařízeními, která se poznala během vyslání požadavku
  3. Spojení (Connection) – po úspěšném dokončení připojování jsou zařízení ve stavu Spojení. Když jsou zařízení spojená, mohou buď aktivně komunikovat nebo být v módu úspory energie.
    • Aktivní mód – zařízení aktivně přijímá nebo odesílá data
    • Sniff mód – úsporný mód, kdy zařízení kontroluje spojení ve větším intervalu (například každých 100ms)
    • Hold mód – dočasný úsporný mód, kdy je zařízení na určitou dobu uspáno a po vypršení této doby se opět probouzí, master posílá příkaz na přepnutí do tohoto módu
    • Park mód – master může poslat příkaz k zaparkování a slave se stává neaktivním, než mu master pošle příkaz pro probuzení

Párování

Pokud se dvě zařízení k sobě připojují často, mohou být spárovaná. Spárování automaticky vytvoří spojení, pokud je signál dost silný. Týká se to například handsfree sad v autě. Po spárování zařízení sdílí soukromý klíč, který se při párování vytvoří, který jim umožní spojení bez zásahu uživatele.

Párování vyžaduje autentifikační proceduru, kdy uživatel ověří spojení mezi zařízeními. Občas není při párování vyžadován žádný kód, většinou je ale potřeba zadat čtyř až šestimístný pin.

Třídy výkonu

Vysílací výkon (a tedy dosah) záleží na třídě výkonu daného zařízení. Existují následující třídy výkonu:

Číslo třídy Maximální výstupní výkon (dbm) Maximální výstupní výkon (mw) maximální dosah
Třída 1 20 dBm 100 mW 100 m
Třída 2 4 dBm 2.5 mW 10 m
Třída 3 0 dBm 1 mW 10 cm

Článek vznikl částečným překladem článku: Bluetooth Basics.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>