BLE razvoj: Šta je GATT i kako funkcioniše?

Sadržaj

Koncept GATT-a

Da bismo izvršili razvoj vezan za BLE, moramo imati određena osnovna znanja, naravno, ona mora biti vrlo jednostavna.

GATT Uloga uređaja:

Prva stvar koju treba shvatiti je da je razlika između ove dvije uloge na hardverskom nivou, a to su relativni koncepti koji se pojavljuju u parovima:

"Centralni uređaj": relativno moćan, koristi se za skeniranje i povezivanje perifernih uređaja, kao što su mobilni telefoni, tableti itd.

"Periferni uređaj": funkcija je relativno jednostavna, potrošnja energije je mala, a centralni uređaj je povezan za pružanje podataka, kao što su narukvice, pametni termometri itd.

U stvari, na najosnovnijem nivou, to bi trebalo da bude razlika između različitih uloga u procesu uspostavljanja veze. Znamo da ako Bluetooth uređaj želi obavijestiti druge o svom postojanju, on mora kontinuirano emitovati prema vanjskom svijetu, dok druga strana treba skenirati i odgovoriti na emitovani paket, kako bi se veza mogla uspostaviti. U ovom procesu, osoba odgovorna za emitovanje je periferni, a centralni je odgovoran za skeniranje.

Napomena o procesu povezivanja između njih:

Centralni uređaj se može povezati na više perifernih uređaja u isto vrijeme. Kada se periferni uređaj poveže, on će odmah prestati s emitiranjem i nastaviti s emitiranjem nakon prekida veze. Samo jedan uređaj može pokušati da se poveže u bilo koje vrijeme, postavljajući veze u redu čekanja.

GATT protokol

BLE tehnologija komunicira na osnovu GATT-a. GATT je protokol za prijenos atributa. Može se smatrati protokolom sloja aplikacije za prijenos atributa.

Njegova struktura je vrlo jednostavna:   

Možete to shvatiti kao xml:

Svaki GATT se sastoji od usluga koje obavljaju različite funkcije;

Svaka usluga se sastoji od različitih karakteristika;

Svaka karakteristika se sastoji od vrijednosti i jednog ili više deskriptora;

Usluga i karakteristika su ekvivalentni oznakama (usluga je ekvivalentna svojoj kategoriji, a karakteristika je ekvivalentna njenom imenu), dok vrijednost zapravo sadrži podatke, a deskriptor je objašnjenje i opis ove vrijednosti. Naravno, možemo to opisati i opisati iz različitih uglova. Opis, tako da može postojati više deskriptora.

Na primjer: Uobičajeni Xiaomi Mi Band je BLE uređaj, (pretpostavlja se) da sadrži tri Usluge, a to su Usluga koja pruža informacije o uređaju, Usluga koja pruža korake i Usluga koja otkriva puls;

Karakteristika sadržana u servisu informacija o uređaju uključuje informacije o proizvođaču, informacije o hardveru, informacije o verziji itd.; Usluga otkucaja srca uključuje karakteristiku otkucaja srca itd., a vrijednost u karakteristici otkucaja srca zapravo sadrži podatke o pulsu, a deskriptor je vrijednost. Opis, kao što je jedinica vrijednosti, opis, dozvola, itd.

GATT C/S

Sa preliminarnim razumijevanjem GATT-a, znamo da je GATT tipičan C/S mod. Pošto je u pitanju C/S, neophodno je da napravimo razliku između servera i klijenta.

"GATT server" naspram "GATT klijenta". Faza u kojoj postoje ove dvije uloge je nakon uspostavljanja veze, a razlikuju se prema statusu dijaloga. Lako je shvatiti da se strana koja drži podatke naziva GATT server, a strana koja pristupa podacima zove se GATT klijent.

Ovo je koncept na različitom nivou od uloge uređaja koju smo ranije spomenuli i potrebno ga je razlikovati. Upotrijebimo jednostavan primjer za ilustraciju:

Uzmite primjer mobilnog telefona i sata za ilustraciju. Prije nego što se uspostavi veza između mobilnog telefona i mobilnog telefona, koristimo Bluetooth funkciju pretraživanja mobilnog telefona za traženje Bluetooth uređaja sata. Tokom ovog procesa, očigledno je da sat emituje BLE tako da drugi uređaji znaju za njegovo postojanje. , to je uloga periferije u ovom procesu, a mobilni telefon je odgovoran za zadatak skeniranja i prirodno igra ulogu Centra; nakon što njih dvoje uspostave GATT vezu, kada mobilni telefon treba da očita podatke senzora kao što je broj koraka sa sata, ta dva Interaktivni podaci se pohranjuju u satu, tako da je u ovom trenutku sat uloga GATT-a server, a mobilni telefon je prirodno GATT klijent; a kada sat želi da čita SMS pozive i druge informacije sa mobilnog telefona, čuvar podataka postaje Mobilni telefon, tako da je mobilni telefon u ovom trenutku server, a sat klijent.

Usluga/Karakteristika

Već smo ih perceptivno razumjeli iznad, a zatim imamo neke praktične informacije:

  1. Karakteristika je najmanja logička jedinica podataka.
  2. Analizu podataka pohranjenih u vrijednosti i deskriptoru određuje serverski inženjer, nema specifikacije.
  3. Usluga/karakteristika ima jedinstvenu UUID identifikaciju, UUID ima i 16-bitni i 128-bitni, ono što moramo razumjeti je da je 16-bitni UUID certificiran od strane Bluetooth organizacije i da ga treba kupiti, naravno da postoje neki uobičajeni one 16-bitni UUID. Na primjer, UUID usluge Heart Rate je 0X180D, koji je u kodu izražen kao 0X00001800-0000-1000-8000-00805f9b34fb, a ostali bitovi su fiksni. 128-bitni UUID se može prilagoditi.
  4. GATT veze su isključive.

Dođite na vrh