Vývoj BLE: Čo je GATT a ako funguje?

Obsah

Koncepcia GATT

Aby sme mohli realizovať vývoj súvisiaci s BLE, musíme mať určité základné znalosti, samozrejme, musí to byť veľmi jednoduché.

GATT Rola zariadenia:

Prvá vec, ktorú treba pochopiť, je, že rozdiel medzi týmito dvoma rolami je na úrovni hardvéru a sú to relatívne pojmy, ktoré sa objavujú v pároch:

„Centrálne zariadenie“: pomerne výkonné, slúži na skenovanie a pripojenie periférnych zariadení, ako sú mobilné telefóny, tablety atď.

"Periférne zariadenie": funkcia je pomerne jednoduchá, spotreba energie je malá a centrálne zariadenie je pripojené na poskytovanie údajov, ako sú náramky, inteligentné teplomery atď.

V skutočnosti by na najzákladnejšej úrovni malo ísť o rozlíšenie medzi rôznymi úlohami v procese vytvárania spojenia. Vieme, že ak chce zariadenie Bluetooth dať ostatným vedieť o svojej existencii, musí nepretržite vysielať do vonkajšieho sveta, zatiaľ čo druhá strana potrebuje skenovať a odpovedať na paket vysielania, aby bolo možné nadviazať spojenie. V tomto procese je osobou zodpovednou za vysielanie periféria a centrála je zodpovedná za skenovanie.

Poznámka o procese pripojenia medzi týmito dvoma:

Centrálne zariadenie sa môže pripojiť k viacerým periférnym zariadeniam súčasne. Po pripojení periférneho zariadenia okamžite zastaví vysielanie a bude pokračovať vo vysielaní aj po odpojení. Iba jedno zariadenie sa môže kedykoľvek pokúsiť pripojiť a zaradiť pripojenia.

GATT protokol

Technológia BLE komunikuje na základe GATT. GATT je protokol prenosu atribútov. Možno ho považovať za protokol aplikačnej vrstvy na prenos atribútov.

Jeho štruktúra je veľmi jednoduchá:   

Môžete to chápať ako xml:

Každá GATT sa skladá zo služieb, ktoré vykonávajú rôzne funkcie;

Každá služba sa skladá z rôznych charakteristík;

Každá charakteristika pozostáva z hodnoty a jedného alebo viacerých deskriptorov;

Služba a charakteristika sú ekvivalentné značkám (služba je ekvivalentom jej kategórie a charakteristika je ekvivalentom jej názvu), zatiaľ čo hodnota v skutočnosti obsahuje údaje a deskriptor je vysvetlenie a popis tejto hodnoty. Samozrejme, môžeme to popísať a opísať z rôznych uhlov pohľadu. Popis, takže môže existovať viacero deskriptorov.

Napríklad:Bežné Xiaomi Mi Band je zariadenie BLE, (predpokladá sa, že obsahuje tri Služby, ktorými sú Služba, ktorá poskytuje informácie o zariadení, Služba, ktorá poskytuje kroky, a Služba, ktorá zisťuje srdcový tep;

Charakteristika obsiahnutá v službe informácií o zariadení zahŕňa informácie o výrobcovi, informácie o hardvéri, informácie o verzii atď.; služba srdcovej frekvencie zahŕňa charakteristiku srdcovej frekvencie atď. a hodnota v charakteristike srdcovej frekvencie v skutočnosti obsahuje údaje srdcovej frekvencie a deskriptor je hodnota. Popis, ako je jednotka hodnoty, popis, povolenie atď.

GATT C/S

S predbežným pochopením GATT vieme, že GATT je typický C/S režim. Keďže ide o C/S, je potrebné rozlišovať medzi serverom a klientom.

„server GATT“ verzus „klient GATT“. Štádium, v ktorom tieto dve roly existujú, je po nadviazaní spojenia a rozlišujú sa podľa stavu dialógu. Je ľahké pochopiť, že strana, ktorá uchováva údaje, sa nazýva server GATT a strana, ktorá pristupuje k údajom, sa nazýva klient GATT.

Ide o koncept na inej úrovni ako rola zariadenia, ktorú sme spomínali predtým a je potrebné ho rozlišovať. Na ilustráciu použijeme jednoduchý príklad:

Na ilustráciu si vezmite príklad z mobilného telefónu a hodiniek. Pred vytvorením spojenia medzi mobilným telefónom a mobilným telefónom používame funkciu vyhľadávania Bluetooth mobilného telefónu na vyhľadanie Bluetooth zariadenia hodiniek. Počas tohto procesu je zrejmé, že hodinky vysielajú BLE, aby ostatné zariadenia vedeli o ich existencii. , je to úloha periférie v tomto procese a mobilný telefón je zodpovedný za úlohu skenovania a prirodzene zohráva úlohu centra; po nadviazaní spojenia GATT, keď mobilný telefón potrebuje prečítať údaje zo senzorov, ako je počet krokov z hodiniek, sa interaktívne dáta uložia do hodiniek, takže v tomto čase sú úlohou GATT hodinky server a mobilný telefón je prirodzene klient GATT; a keď hodinky chcú čítať SMS hovory a ďalšie informácie z mobilného telefónu, strážcom údajov sa stáva mobilný telefón, takže mobilný telefón je v tomto čase server a hodinky sú klient.

Služba/Charakteristika

Už sme ich vnímali vyššie a potom máme niekoľko praktických informácií:

  1. Charakteristická je najmenšia logická jednotka údajov.
  2. Analýza údajov uložených v hodnote a deskriptore je určená serverovým inžinierom, neexistuje žiadna špecifikácia.
  3. Služba/Charakteristika má jedinečnú identifikáciu UUID, UUID má 16-bitové aj 128-bitové, čo musíme pochopiť, je, že 16-bitové UUID je certifikované organizáciou Bluetooth a je potrebné ho zakúpiť, samozrejme existujú niektoré bežné tie 16-bitové UUID. Napríklad UUID služby srdcového tepu je 0X180D, čo je v kóde vyjadrené ako 0X00001800-0000-1000-8000-00805f9b34fb a ostatné bity sú pevné. 128-bitové UUID je možné prispôsobiť.
  4. Pripojenia GATT sú exkluzívne.

Prejdite na začiatok