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ó:
- A jellemző az adatok legkisebb logikai egysége.
- Az értékben és leíróban tárolt adatok elemzését a szervermérnök határozza meg, specifikáció nincs.
- 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ó.
- A GATT kapcsolatok kizárólagosak.