BLE fejlesztés: Mi a GATT és hogyan működik?

Tartalomjegyzék

A GATT fogalma

A BLE-vel kapcsolatos fejlesztés végrehajtásához bizonyos alapismeretekkel kell rendelkeznünk, ennek természetesen nagyon egyszerűnek kell lennie.

GATT Eszköz szerepkör:

Az első dolog, amit meg kell érteni, hogy a különbség a két szerep között hardver szinten van, és ezek relatív fogalmak, amelyek párban jelennek meg:

"Központi eszköz": viszonylag nagy teljesítményű, perifériás eszközök, például mobiltelefonok, táblagépek stb. szkennelésére és csatlakoztatására szolgál.

"Periféria": a funkció viszonylag egyszerű, az energiafogyasztás kicsi, és a központi eszköz csatlakoztatva van adatszolgáltatáshoz, például csuklópánt, okos hőmérő stb.

Valójában a legalapvetőbb szinten különbséget kell tenni a különböző szerepek között a kapcsolatteremtés folyamatában. Tudjuk, hogy ha egy Bluetooth-eszköz tudatni akarja másokkal a létezését, akkor folyamatosan sugároznia kell a külvilág felé, míg a másik félnek meg kell vizsgálnia és válaszolnia kell a sugárzott csomagra, hogy létrejöhessen a kapcsolat. Ebben a folyamatban a sugárzásért felelős személy a periféria, a központi pedig a keresésért.

Megjegyzés a kettő közötti kapcsolódási folyamatról:

A központi eszköz egyszerre több perifériás eszközhöz tud csatlakozni. A periféria csatlakoztatása után azonnal leállítja a sugárzást, és a kapcsolat megszakítása után folytatja a sugárzást. Egyszerre csak egy eszköz tud csatlakozni, sorba állítva a kapcsolatokat.

GATT protokoll

A BLE technológia a GATT alapján kommunikál. A GATT egy attribútumátviteli protokoll. Az attribútumátvitel alkalmazási rétegbeli protokolljának tekinthető.

Felépítése nagyon egyszerű:   

Érthető xml-ként:

Minden GATT olyan Szolgáltatásokból áll, amelyek különböző funkciókat látnak el;

Minden szolgáltatás különböző jellemzőkből áll;

Minden jellemző egy értékből és egy vagy több Leíróból áll;

A Service és a Characteristic egyenértékűek a címkékkel (a szolgáltatás a kategóriájával, a Characteristic pedig a nevével), míg az érték valójában adatokat tartalmaz, a Descriptor pedig ennek az értéknek a magyarázata és leírása. Természetesen többféle oldalról is leírhatjuk, leírhatjuk. Leírás, így több Leíró is lehet.

Például: A gyakori Xiaomi Mi Band egy BLE eszköz, amely (feltételezve) három szolgáltatást tartalmaz, amelyek az eszközinformációkat biztosító szolgáltatás, a lépéseket biztosító szolgáltatás és a pulzusszámot észlelő szolgáltatás;

Az eszközinformációk szolgáltatásában szereplő jellemzők magukban foglalják a gyártói információkat, a hardverinformációkat, a verzióinformációkat stb.; a pulzusszám szolgáltatás tartalmazza a pulzuskarakterisztikát stb., és a pulzuskarakterisztikában lévő érték valójában a pulzusszám adatokat tartalmazza, a leíró pedig az érték. Leírás, például értékegység, leírás, engedély stb.

GATT C/S

A GATT előzetes megértésével tudjuk, hogy a GATT egy tipikus C/S mód. Mivel ez C/S, ezért különbséget kell tennünk a szerver és a kliens között.

"GATT szerver" kontra "GATT kliens". Ez a két szerep a kapcsolat létrejötte után létezik, és a párbeszéd státusza szerint különböztetjük meg őket. Könnyen megérthető, hogy az adatokat őrző felet GATT-szervernek, az adatokhoz hozzáférő felet pedig GATT-kliensnek nevezik.

Ez egy olyan fogalom, amely eltér a korábban említett eszközszereptől, és ezt meg kell különböztetni. Szemléltessünk egy egyszerű példát:

Vegyünk példát egy mobiltelefon és egy óra szemléltetésére. Mielőtt létrejönne a kapcsolat a mobiltelefon és a mobiltelefon között, a mobiltelefon Bluetooth kereső funkciójával keressük meg az óra Bluetooth eszközét. A folyamat során nyilvánvaló, hogy az óra BLE-t sugároz, hogy más eszközök tudják a létezését. , a periféria szerepe ebben a folyamatban, a mobiltelefon pedig a szkennelési feladatért felel, és természetesen a Center szerepét tölti be; miután a kettő GATT kapcsolatot létesít, amikor a mobiltelefonnak szenzoradatokat kell olvasnia, mint például az óra lépéseinek számát, a két Az interaktív adatok az órában mentésre kerülnek, így ebben az időben az óra a GATT szerepe. szerver, és a mobiltelefon természetesen a GATT kliens; és amikor az óra SMS-hívásokat és egyéb információkat akar olvasni a mobiltelefonról, az adatok őrzője Mobiltelefon lesz, tehát a mobiltelefon jelenleg a szerver, az óra pedig a kliens.

Szolgáltatás/Jellemző

Fentebb már megértettük őket, és van néhány gyakorlati információ:

  1. A jellemző az adatok legkisebb logikai egysége.
  2. Az értékben és leíróban tárolt adatok elemzését a szervermérnök határozza meg, specifikáció nincs.
  3. A szolgáltatás/karakterisztikának egyedi UUID azonosítója van, az UUID 16 bites és 128 bites is, amit meg kell értenünk, hogy a 16 bites UUID a Bluetooth szervezet által tanúsított, és meg kell vásárolni, természetesen van néhány gyakori a 16 bites UUID. Például a Heart Rate szolgáltatás UUID-je 0X180D, amely a kódban 0X00001800-0000-1000-8000-00805f9b34fb formában van kifejezve, a többi bit pedig rögzített. A 128 bites UUID testreszabható.
  4. A GATT kapcsolatok kizárólagosak.

Lapozzon a lap tetejére