Vývoj BLE: Co je GATT a jak funguje?

Obsah

Koncept GATT

Abychom mohli provádět vývoj související s BLE, musíme mít určité základní znalosti, samozřejmě to musí být velmi jednoduché.

GATT Role zařízení:

První věc, kterou je třeba pochopit, je, že rozdíl mezi těmito dvěma rolemi je na úrovni hardwaru a jedná se o relativní pojmy, které se objevují ve dvojicích:

„Centrální zařízení“: poměrně výkonné, slouží ke skenování a připojení periferních zařízení, jako jsou mobilní telefony, tablety atd.

"Periferní zařízení": funkce je relativně jednoduchá, spotřeba energie je malá a centrální zařízení je připojeno k poskytování dat, jako jsou náramky, chytré teploměry atd.

Ve skutečnosti by na nejzákladnější úrovni mělo jít o rozlišení mezi různými rolemi v procesu navazování spojení. Víme, že pokud chce zařízení Bluetooth dát ostatním vědět o své existenci, musí nepřetržitě vysílat do vnějšího světa, zatímco druhá strana musí skenovat a odpovídat na paket vysílání, aby bylo možné navázat spojení. V tomto procesu je osobou odpovědnou za vysílání periferní zařízení a centrála je zodpovědná za skenování.

Poznámka k procesu připojení mezi těmito dvěma:

Centrální zařízení se může připojit k více periferním zařízením současně. Jakmile je periferní zařízení připojeno, okamžitě přestane vysílat a bude pokračovat ve vysílání po odpojení. Pouze jedno zařízení se může kdykoli pokusit o připojení a řadit spojení do fronty.

GATT protokol

Technologie BLE komunikuje na základě GATT. GATT je protokol pro přenos atributů. Lze jej považovat za protokol aplikační vrstvy pro přenos atributů.

Jeho struktura je velmi jednoduchá:   

Můžete to chápat jako xml:

Každá GATT se skládá ze Služeb, které plní různé funkce;

Každá služba se skládá z různých charakteristik;

Každá charakteristika se skládá z hodnoty a jednoho nebo více deskriptorů;

Služba a charakteristika jsou ekvivalentní značkám (služba je ekvivalentní své kategorii a charakteristika odpovídá jejímu názvu), zatímco hodnota ve skutečnosti obsahuje data a deskriptor je vysvětlení a popis této hodnoty. Samozřejmě to můžeme popsat a popsat z různých úhlů pohledu. Popis, takže může existovat více deskriptorů.

Například:Běžné Xiaomi Mi Band je zařízení BLE, (předpokládá se, že obsahuje tři Služby, kterými jsou Služba, která poskytuje informace o zařízení, Služba, která poskytuje kroky, a Služba, která zjišťuje srdeční frekvenci;

Charakteristika obsažená ve službě informací o zařízení zahrnuje informace o výrobci, informace o hardwaru, informace o verzi atd.; služba srdeční frekvence zahrnuje charakteristiku srdeční frekvence atd. a hodnota v charakteristice srdeční frekvence ve skutečnosti obsahuje data srdeční frekvence a deskriptor je hodnota. Popis, jako je jednotka hodnoty, popis, oprávnění atd.

GATT C/S

S předběžným pochopením GATT víme, že GATT je typický C/S režim. Jelikož se jedná o C/S, je pro nás nutné rozlišovat mezi serverem a klientem.

„server GATT“ vs. „klient GATT“. Fáze, kdy tyto dvě role existují, je po navázání spojení a rozlišují se podle stavu dialogu. Je snadné pochopit, že strana, která drží data, se nazývá server GATT a strana, která k datům přistupuje, se nazývá klient GATT.

Jedná se o koncept na jiné úrovni, než je role zařízení, o které jsme se zmiňovali dříve, a je nutné jej rozlišovat. Pro ilustraci použijeme jednoduchý příklad:

Pro ilustraci si vezměte příklad mobilního telefonu a hodinek. Před navázáním spojení mezi mobilním telefonem a mobilním telefonem používáme funkci Bluetooth vyhledávání mobilního telefonu k vyhledání Bluetooth zařízení hodinek. Během tohoto procesu je zřejmé, že hodinky vysílají BLE, aby ostatní zařízení věděla o jejich existenci. , je to role periferie v tomto procesu a mobilní telefon je zodpovědný za úlohu skenování a přirozeně hraje roli Centra; po navázání spojení GATT, kdy mobilní telefon potřebuje načíst data senzoru, jako je počet kroků z hodinek, se dva interaktivní data uloží do hodinek, takže v tuto chvíli jsou role GATT hodinky server a mobilní telefon je přirozeně klientem GATT; a když hodinky chtějí číst SMS hovory a další informace z mobilního telefonu, strážcem dat se stává mobilní telefon, takže mobilní telefon je v tuto chvíli server a hodinky jsou klient.

Služba/Charakteristika

Již jsme je vnímali výše a pak máme několik praktických informací:

  1. Charakteristická je nejmenší logická jednotka dat.
  2. Analýza dat uložených v hodnotách a deskriptorech je určena serverovým inženýrem, neexistuje žádná specifikace.
  3. Služba/charakteristika má jedinečnou identifikaci UUID, UUID má 16bitové i 128bitové, musíme pochopit, že 16bitové UUID je certifikováno organizací Bluetooth a je třeba jej zakoupit, samozřejmě existují některé běžné jedny 16bitové UUID. Například UUID služby srdeční frekvence je 0X180D, což je v kódu vyjádřeno jako 0X00001800-0000-1000-8000-00805f9b34fb, a další bity jsou pevné. 128bitové UUID lze přizpůsobit.
  4. Spojení GATT jsou exkluzivní.

Přejděte na začátek