BLE plėtra: kas yra GATT ir kaip jis veikia?

Turinys

GATT koncepcija

Norėdami atlikti su BLE susijusią plėtrą, turime turėti tam tikrų pagrindinių žinių, žinoma, jos turi būti labai paprastos.

GATT Įrenginio vaidmuo:

Pirmas dalykas, kurį reikia suprasti, yra tai, kad skirtumas tarp šių dviejų vaidmenų yra aparatūros lygiu, ir tai yra santykinės sąvokos, atsirandančios poromis:

„Centrinis įrenginys“: gana galingas, naudojamas išoriniams įrenginiams, pvz., mobiliesiems telefonams, planšetiniams kompiuteriams ir kt., nuskaityti ir prijungti.

„Periferinis įrenginys“: funkcija gana paprasta, energijos sąnaudos nedidelės, o centrinis įrenginys prijungtas duomenims teikti, pavyzdžiui, apyrankės, išmanieji termometrai ir kt.

Tiesą sakant, pačiu esminiu lygmeniu tai turėtų būti skirtingų vaidmenų atskyrimas ryšio užmezgimo procese. Žinome, kad jei „Bluetooth“ įrenginys nori pranešti kitiems apie savo egzistavimą, jis turi nuolatos transliuoti į išorinį pasaulį, o kita šalis turi nuskaityti ir atsakyti į transliacijos paketą, kad būtų galima užmegzti ryšį. Šiame procese už transliavimą atsakingas asmuo yra periferinis, o centrinis yra atsakingas už nuskaitymą.

Pastaba apie šių dviejų sujungimo procesą:

Centrinis įrenginys vienu metu gali prisijungti prie kelių išorinių įrenginių. Prijungus išorinį įrenginį, jis iš karto nustos transliuoti, o atjungus transliaciją tęs. Bet kuriuo metu gali bandyti prisijungti tik vienas įrenginys, sudarydamas jungčių eilę.

GATT protokolas

BLE technologija bendrauja remiantis GATT. GATT yra atributo perdavimo protokolas. Jis gali būti laikomas taikomojo lygmens atributų perdavimo protokolu.

Jo struktūra yra labai paprasta:   

Galite suprasti kaip xml:

Kiekvieną GATT sudaro Paslaugos, kurios atlieka skirtingas funkcijas;

Kiekviena Paslauga susideda iš skirtingų Charakteristikos;

Kiekviena charakteristika susideda iš reikšmės ir vieno ar daugiau aprašų;

Paslauga ir Charakteristika yra lygiavertės žymoms (Paslauga atitinka jos kategoriją, o Charakteristika atitinka pavadinimą), o vertė iš tikrųjų apima duomenis, o aprašas yra šios reikšmės paaiškinimas ir aprašymas. Žinoma, galime tai apibūdinti ir aprašyti įvairiais kampais. Aprašymas, todėl gali būti keli aprašai.

Pavyzdžiui: Įprastas „Xiaomi Mi Band“ yra BLE įrenginys, (manoma) jame yra trys paslaugos, kurios yra paslauga, teikianti informaciją apie įrenginį, paslauga, teikianti veiksmus, ir paslauga, aptinkanti širdies ritmą;

Įrenginio informacijos tarnyboje esanti charakteristika apima informaciją apie gamintoją, informaciją apie aparatinę įrangą, informaciją apie versiją ir kt.; širdies ritmo paslauga apima širdies ritmo charakteristiką ir pan., o širdies ritmo charakteristikos reikšmė iš tikrųjų apima širdies ritmo duomenis, o deskriptorius yra reikšmė. Aprašymas, pvz., vertės vienetas, aprašymas, leidimas ir kt.

GATT C/S

Turėdami išankstinį supratimą apie GATT, žinome, kad GATT yra tipiškas C/S režimas. Kadangi tai yra C/S, mums būtina atskirti serverį ir klientą.

„GATT serveris“ ir „GATT klientas“. Etapas, kuriame šie du vaidmenys egzistuoja, yra po ryšio užmezgimo, ir jie išskiriami pagal dialogo būseną. Nesunku suprasti, kad šalis, kuri turi duomenis, vadinama GATT serveriu, o šalis, kuri pasiekia duomenis, vadinama GATT klientu.

Tai kitokio lygio sąvoka nei anksčiau minėtas įrenginio vaidmuo, todėl būtina ją atskirti. Norėdami iliustruoti, naudokite paprastą pavyzdį:

Paimkite pavyzdį – mobilųjį telefoną ir laikrodį. Prieš užmezgant ryšį tarp mobiliojo telefono ir mobiliojo telefono, laikrodžio Bluetooth įrenginio paieškai naudojame mobiliojo telefono Bluetooth paieškos funkciją. Šio proceso metu akivaizdu, kad laikrodis transliuoja BLE, kad kiti įrenginiai žinotų apie jo egzistavimą. , tai šiame procese atlieka periferinio įrenginio vaidmenį, o mobilusis telefonas yra atsakingas už nuskaitymo užduotį ir natūraliai atlieka centro vaidmenį; po to, kai abu užmezga GATT ryšį, kai mobiliajame telefone reikia nuskaityti jutiklio duomenis, pvz., žingsnių skaičių nuo laikrodžio, du Interaktyvūs duomenys išsaugomi laikrodyje, todėl šiuo metu laikrodis atlieka GATT vaidmenį. serveris, o mobilusis telefonas natūraliai yra GATT klientas; o kai laikrodis nori skaityti SMS skambučius ir kitą informaciją iš mobiliojo telefono, duomenų globėju tampa Mobilusis telefonas, todėl mobilusis telefonas šiuo metu yra serveris, o laikrodis – klientas.

Paslauga / Charakteristika

Mes jau supratome juos aukščiau, o tada turime praktinės informacijos:

  1. Charakteristika yra mažiausias loginis duomenų vienetas.
  2. Vertėje ir deskriptoriuje saugomų duomenų analizę nustato serverio inžinierius, specifikacijos nėra.
  3. Paslauga / Charakteristika turi unikalų UUID identifikavimą, UUID turi ir 16 bitų, ir 128 bitų, ką turime suprasti, kad 16 bitų UUID yra sertifikuotas Bluetooth organizacijos ir jį reikia įsigyti, žinoma, yra keletas bendrų tie 16 bitų UUID.Pavyzdžiui, širdies ritmo paslaugos UUID yra 0X180D, kuris kode išreiškiamas 0X00001800-0000-1000-8000-00805f9b34fb, o kiti bitai yra fiksuoti. 128 bitų UUID galima tinkinti.
  4. GATT ryšiai yra išskirtiniai.

Pereikite į viršų