BLE razvoj: Što je GATT i kako funkcionira?

Pregled sadržaja

Koncept GATT-a

Da bismo proveli razvoj vezan uz BLE, moramo imati određena osnovna znanja, naravno, ona moraju biti vrlo jednostavna.

GATT Uloga uređaja:

Prvo što treba shvatiti je da je razlika između ove dvije uloge na hardverskoj razini i da su to relativni pojmovi koji se pojavljuju u parovima:

"Središnji 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 središnji uređaj povezan je za pružanje podataka, kao što su narukvice, pametni termometri itd.

Zapravo, na najosnovnijoj razini, to bi trebala biti razlika između različitih uloga u procesu uspostavljanja veze. Znamo da, ako Bluetooth uređaj želi obavijestiti druge o svom postojanju, mora neprekidno emitirati prema vanjskom svijetu, dok druga strana mora skenirati i odgovoriti na paket emitiranja, kako bi se veza mogla uspostaviti. U ovom procesu, osoba odgovorna za emitiranje je Peripheral, a Central je odgovoran za skeniranje.

Napomena o procesu povezivanja između to dvoje:

Središnji uređaj može se povezati s više perifernih uređaja u isto vrijeme. Nakon što se periferni uređaj poveže, odmah će prestati emitirati i nastaviti emitirati nakon prekida veze. Samo jedan uređaj može se pokušati povezati u bilo kojem trenutku, stavljajući veze u red čekanja.

GATT protokol

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

Njegova struktura je vrlo jednostavna:   

Možete to shvatiti kao xml:

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

Svaka usluga sastoji se od različitih karakteristika;

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

Usluga i Karakteristika su ekvivalentne oznakama (Service je ekvivalentna svojoj kategoriji, a Karakteristika je ekvivalentna svom nazivu), dok vrijednost zapravo sadrži podatke, a Deskriptor je objašnjenje i opis te vrijednosti. Naravno, možemo ga opisati i opisati iz različitih kutova. Opis, tako da deskriptora može biti više.

Na primjer: uobičajeni Xiaomi Mi Band je BLE uređaj, (pretpostavljeno) sadrži tri usluge, a to su usluga koja pruža informacije o uređaju, usluga koja pruža korake i usluga koja detektira otkucaje srca;

Karakteristike sadržane u usluzi informacija o uređaju uključuju 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 otkucajima srca, a deskriptor je vrijednost. Opis, kao što je jedinica vrijednosti, opis, dozvola itd.

GATT C/S

S preliminarnim razumijevanjem GATT-a, znamo da je GATT tipičan C/S način. Budući da se radi o C/S-u, potrebno je razlikovati poslužitelj i klijent.

"GATT poslužitelj" nasuprot "GATT klijentu". Stadij u kojem ove dvije uloge postoje je nakon uspostavljanja veze, a razlikuju se prema statusu dijaloga. Lako je razumjeti da se strana koja drži podatke naziva GATT poslužitelj, a strana koja pristupa podacima naziva se GATT klijent.

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

Uzmimo primjer mobilnog telefona i sata za ilustraciju. Prije nego što se uspostavi veza između mobilnog telefona i mobilnog telefona, koristimo Bluetooth funkciju traženja mobilnog telefona za traženje Bluetooth uređaja sata. Tijekom ovog procesa očito je da sat emitira 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 očitati podatke senzora kao što je broj koraka sa sata, ta dva interaktivna podatka spremaju se na sat, tako da je u ovom trenutku sat uloga GATT-a. poslužitelj, a mobilni telefon je naravno klijent GATT-a; a kada sat želi čitati SMS pozive i druge informacije s mobilnog telefona, čuvar podataka postaje mobilni telefon, tako da je mobilni telefon u ovom trenutku poslužitelj, a sat klijent.

Usluga/Karakteristika

Gore smo ih već perceptivno razumjeli, 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 inženjer poslužitelja, 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 je potrebno kupiti, naravno, postoje neki uobičajeni one 16-bitni UUID. Na primjer, UUID usluge Heart Rate je 0X180D, što je izraženo kao 0X00001800-0000-1000-8000-00805f9b34fb u kodu, a ostali bitovi su fiksni. 128-bitni UUID može se prilagoditi.
  4. GATT veze su isključive.

Dođite na vrh