Razvoj BLE: Kaj je GATT in kako deluje?

Kazalo

Koncept GATT

Za izvedbo razvoja, povezanega z BLE, moramo imeti določeno osnovno znanje, seveda mora biti zelo preprosto.

GATT Vloga naprave:

Prva stvar, ki jo je treba razumeti, je, da je razlika med tema dvema vlogama na ravni strojne opreme in sta relativna pojma, ki se pojavljata v parih:

»Osrednja naprava«: razmeroma zmogljiva, uporablja se za skeniranje in povezovanje perifernih naprav, kot so mobilni telefoni, tablice itd.

"Periferna naprava": funkcija je relativno preprosta, poraba energije je majhna, centralna naprava pa je povezana za zagotavljanje podatkov, kot so zapestnice, pametni termometri itd.

Pravzaprav bi na najbolj temeljni ravni šlo za razlikovanje med različnimi vlogami v procesu vzpostavljanja povezave. Vemo, da če želi naprava Bluetooth obvestiti druge o svojem obstoju, mora nenehno oddajati v zunanji svet, medtem ko mora druga stran skenirati in odgovoriti na oddajni paket, da se lahko vzpostavi povezava. V tem procesu je oseba, odgovorna za oddajanje, Peripheral , Centralna pa je odgovorna za skeniranje.

Opomba o postopku povezave med obema:

Centralna naprava se lahko poveže z več perifernimi napravami hkrati. Ko je periferna naprava povezana, bo takoj prenehala z oddajanjem in nadaljevala z oddajanjem po prekinitvi povezave. Samo ena naprava se lahko kadar koli poskusi povezati in postavi povezave v čakalno vrsto.

GATT protokol

Tehnologija BLE komunicira na podlagi GATT. GATT je protokol za prenos atributov. Lahko se obravnava kot protokol aplikacijskega sloja za prenos atributov.

Njegova struktura je zelo preprosta:   

Lahko ga razumete kot xml:

Vsak GATT je sestavljen iz storitev, ki opravljajo različne funkcije;

Vsaka storitev je sestavljena iz različnih značilnosti;

Vsaka značilnost je sestavljena iz vrednosti in enega ali več deskriptorjev;

Storitev in Karakteristika sta enakovredna oznaki (Storitev je enakovredna svoji kategoriji, Karakteristika pa svojemu imenu), medtem ko vrednost dejansko vsebuje podatke, Deskriptor pa je razlaga in opis te vrednosti. Seveda ga lahko opisujemo in opisujemo z različnih zornih kotov. Opis, tako da je deskriptorjev lahko več.

Na primer: običajni pas Xiaomi Mi Band je naprava BLE, (predpostavljeno) vsebuje tri storitve, in sicer storitev, ki zagotavlja informacije o napravi, storitev, ki zagotavlja korake, in storitev, ki zaznava srčni utrip;

Značilnost, ki jo vsebuje storitev informacij o napravi, vključuje informacije o proizvajalcu, informacije o strojni opremi, informacije o različici itd.; Storitev srčnega utripa vključuje karakteristiko srčnega utripa itd., in vrednost v karakteristiki srčnega utripa dejansko vsebuje podatke o srčnem utripu, deskriptor pa je vrednost. Opis, kot je enota vrednosti, opis, dovoljenje itd.

GATT C/S

S predhodnim razumevanjem GATT vemo, da je GATT tipičen način C/S. Ker je C/S, moramo razlikovati med strežnikom in odjemalcem.

"strežnik GATT" proti "odjemalec GATT". Stadij, kjer ti dve vlogi obstajata, je po vzpostavitvi povezave in se razlikujeta glede na status dialoga. Zlahka je razumeti, da se stranka, ki hrani podatke, imenuje strežnik GATT, stranka, ki dostopa do podatkov, pa odjemalec GATT.

To je koncept na drugačni ravni od vloge naprave, ki smo jo omenili prej, in ga je treba razlikovati. Za ponazoritev uporabimo preprost primer:

Za ponazoritev vzemimo primer mobilnega telefona in ure. Preden se vzpostavi povezava med mobilnim telefonom in mobilnim telefonom, s funkcijo Bluetooth search mobilnega telefona poiščemo Bluetooth napravo ure. Med tem postopkom je očitno, da ura oddaja BLE, tako da druge naprave vedo za njen obstoj. , to je vloga periferne enote v tem procesu, mobilni telefon pa je odgovoren za opravilo skeniranja in seveda igra vlogo središča; potem ko oba vzpostavita povezavo GATT, ko mora mobilni telefon prebrati podatke senzorja, kot je število korakov iz ure, se interaktivni podatki shranijo v uro, tako da je v tem trenutku ura vloga GATT strežnik, mobilni telefon pa je seveda odjemalec GATT; in ko ura želi prebrati SMS klice in druge informacije z mobilnega telefona, postane varuh podatkov mobilni telefon, tako da je mobilni telefon trenutno strežnik, ura pa odjemalec.

Storitev/Karakteristika

Zgoraj smo jih že zaznavno razumeli, nato pa imamo nekaj praktičnih informacij:

  1. Karakteristika je najmanjša logična enota podatkov.
  2. Analizo podatkov, shranjenih v vrednosti in deskriptorju, določi inženir strežnika, ni nobene specifikacije.
  3. Storitev/značilnost ima edinstveno identifikacijo UUID, UUID ima 16-bitni in 128-bitni, kar moramo razumeti je, da je 16-bitni UUID certificiran s strani organizacije Bluetooth in ga je treba kupiti, seveda obstaja nekaj običajnih 16-bitni UUID. Na primer, UUID storitve srčnega utripa je 0X180D, ki je v kodi izražen kot 0X00001800-0000-1000-8000-00805f9b34fb, drugi biti pa so fiksni. 128-bitni UUID je mogoče prilagoditi.
  4. Povezave GATT so izključne.

Pomaknite se na vrh