BLE-ontwikkeling: Wat is GATT en hoe werk dit?

INHOUDSOPGAWE

Die konsep van GATT

Om BLE-verwante ontwikkeling uit te voer, moet ons sekere basiese kennis hê, natuurlik, dit moet baie eenvoudig wees.

AOTH Toestel rol:

Die eerste ding om te verstaan ​​is dat die onderskeid tussen hierdie twee rolle op die hardeware-vlak is, en dit is relatiewe konsepte wat in pare voorkom:

"Sentrale toestel": relatief kragtig, gebruik om randtoestelle te skandeer en te koppel, soos selfone, tablette, ens.

"Perifere toestel": die funksie is relatief eenvoudig, die kragverbruik is klein, en die sentrale toestel is gekoppel om data te verskaf, soos polsbandjies, slim termometers, ens.

Trouens, op die mees fundamentele vlak moet dit 'n onderskeid wees tussen verskillende rolle in die proses om 'n verband te vestig. Ons weet dat as 'n Bluetooth-toestel ander wil laat weet dat dit bestaan, dit voortdurend na die buitewêreld moet uitsaai, terwyl die ander party die uitsaaipakket moet skandeer en daarop antwoord, sodat die verbinding bewerkstellig kan word. In hierdie proses is die persoon wat vir uitsaai verantwoordelik is Periferaal, en Sentraal is verantwoordelik vir skandering.

Let op oor die verbindingsproses tussen die twee:

Die sentrale toestel kan op dieselfde tyd aan verskeie randtoestelle koppel. Sodra die randtoestel gekoppel is, sal dit onmiddellik ophou uitsaai, en voortgaan met uitsaai na ontkoppeling. Slegs een toestel kan enige tyd probeer koppel en verbindings in tou stel.

AOTH protokol

BLE-tegnologie kommunikeer gebaseer op GATT. GATT is 'n kenmerkoordragprotokol. Dit kan beskou word as 'n toepassingslaagprotokol vir kenmerkoordrag.

Die struktuur daarvan is baie eenvoudig:   

Jy kan dit verstaan ​​as xml:

Elke AATT is saamgestel uit Dienste wat verskillende funksies verrig;

Elke diens is saamgestel uit verskillende kenmerke;

Elke Eienskap bestaan ​​uit 'n waarde en een of meer Beskrywers;

Diens en Kenmerk is gelykstaande aan etikette (Diens is gelykstaande aan sy kategorie, en Kenmerk is gelykstaande aan sy naam), terwyl waarde eintlik data bevat, en Beskrywing is 'n verduideliking en beskrywing van hierdie waarde. Natuurlik kan ons dit vanuit verskillende hoeke beskryf en beskryf. Beskrywing, dus kan daar verskeie beskrywings wees.

Byvoorbeeld: Die algemene Xiaomi Mi Band is 'n BLE-toestel, (aangeneem) dit bevat drie Dienste, wat die Diens is wat toestelinligting verskaf, die Diens wat stappe verskaf, en die Diens wat hartklop bespeur;

Die kenmerk vervat in die diens van die toestelinligting sluit in vervaardigerinligting, hardeware-inligting, weergawe-inligting, ens.; die hartklopdiens sluit die hartklopkenmerk, ens., en die waarde in die hartklopkenmerk bevat eintlik die hartklopdata, en die beskrywer is die waarde. Beskrywing, soos die eenheid van waarde, beskrywing, toestemming, ens.

GATT C/S

Met 'n voorlopige begrip van GATT, weet ons dat GATT 'n tipiese C/S-modus is. Aangesien dit C/S is, is dit vir ons nodig om tussen Bediener en kliënt te onderskei.

"GATT-bediener" teenoor "GATT-kliënt". Die stadium waar hierdie twee rolle bestaan, is nadat die verband tot stand gebring is, en hulle word onderskei volgens die status van die dialoog. Dit is maklik om te verstaan ​​dat die party wat die data hou, die GATT-bediener genoem word, en die party wat toegang tot die data verkry, word die GATT-kliënt genoem.

Dit is 'n konsep op 'n ander vlak as die toestelrol wat ons voorheen genoem het, en dit is nodig om dit te onderskei. Kom ons gebruik 'n eenvoudige voorbeeld om te illustreer:

Neem die voorbeeld van 'n selfoon en 'n horlosie om te illustreer. Voordat die verbinding tussen die selfoon en die selfoon tot stand gebring word, gebruik ons ​​die Bluetooth-soekfunksie van die selfoon om na die Bluetooth-toestel van die horlosie te soek. Tydens hierdie proses is dit duidelik dat die horlosie BLE uitsaai sodat ander toestelle weet wat dit bestaan. , dit is die rol van perifere in hierdie proses, en die selfoon is verantwoordelik vir die skandering taak, en speel natuurlik die rol van Sentrum; nadat die twee 'n GATT-verbinding tot stand gebring het, wanneer die selfoon sensordata moet lees, soos die aantal stappe van die horlosie, die twee Die interaktiewe data word in die horlosie gestoor, dus op hierdie tydstip is die horlosie die rol van die GATT bediener, en die selfoon is natuurlik die GATT-kliënt; en wanneer die horlosie SMS-oproepe en ander inligting vanaf die selfoon wil lees, word die voog van die data Selfoon, so die selfoon is die bediener op hierdie tydstip, en die horlosie is die kliënt.

Diens/kenmerk

Ons het reeds 'n perseptuele begrip van hulle hierbo gehad, en dan het ons 'n paar praktiese inligting:

  1. Kenmerkend is die kleinste logiese eenheid van data.
  2. Die ontleding van data wat in waarde en beskrywing gestoor word, word deur die bedieneringenieur bepaal, daar is geen spesifikasie nie.
  3. Diens/kenmerk het 'n unieke UUID-identifikasie, UUID het beide 16-bis en 128-bis, wat ons moet verstaan ​​is dat die 16-bis UUID deur die Bluetooth-organisasie gesertifiseer is en gekoop moet word, natuurlik is daar 'n paar algemene Die UUID van die hartklopdiens is byvoorbeeld 16X0D, wat uitgedruk word as 180X0-00001800-0000-1000-8000f00805b9fb in die kode, en ander bisse word vasgestel. Die 34-bis UUID kan aangepas word.
  4. GATT-verbindings is eksklusief.

Scroll na bo