Desenvolupament BLE: què és GATT i com funciona?

Taula de continguts

El concepte de GATT

Per dur a terme el desenvolupament relacionat amb BLE, hem de tenir uns coneixements bàsics, és clar, ha de ser molt senzill.

GATT Rol del dispositiu:

El primer que cal entendre és que la distinció entre aquests dos rols és a nivell de maquinari, i són conceptes relatius que apareixen per parelles:

"Dispositiu central": relativament potent, s'utilitza per escanejar i connectar dispositius perifèrics, com ara telèfons mòbils, tauletes, etc.

"Dispositiu perifèric": la funció és relativament senzilla, el consum d'energia és petit i el dispositiu central està connectat per proporcionar dades, com ara polseres, termòmetres intel·ligents, etc.

De fet, al nivell més fonamental, hauria de ser una distinció entre diferents rols en el procés d'establiment d'una connexió. Sabem que si un dispositiu Bluetooth vol que els altres coneguin la seva existència, ha d'emetre contínuament al món exterior, mentre que l'altra part ha d'escanejar i respondre el paquet d'emissió, de manera que es pugui establir la connexió. En aquest procés, el responsable de l'emissió és el perifèric i el central s'encarrega de l'escaneig.

Nota sobre el procés de connexió entre els dos:

El dispositiu central es pot connectar a diversos dispositius perifèrics alhora. Un cop connectat el dispositiu perifèric, deixarà d'emetre immediatament i seguirà emetent després de la desconnexió. Només un dispositiu pot intentar connectar-se en qualsevol moment, posant les connexions a la cua.

GATT protocol

La tecnologia BLE es comunica basada en GATT. GATT és un protocol de transmissió d'atributs. Es pot considerar com un protocol de capa d'aplicació per a la transmissió d'atributs.

La seva estructura és molt senzilla:   

Ho podeu entendre com a xml:

Cada GATT està format per Serveis que realitzen diferents funcions;

Cada Servei es compon de diferents Característiques;

Cada característica consta d'un valor i un o més descriptors;

El servei i la característica són equivalents a les etiquetes (el servei és equivalent a la seva categoria i la característica és equivalent al seu nom), mentre que el valor en realitat conté dades i el Descriptor és una explicació i descripció d'aquest valor. Per descomptat, el podem descriure i descriure des de diferents angles. Descripció, de manera que hi pot haver diversos descriptors.

Per exemple: La Xiaomi Mi Band comú és un dispositiu BLE, (suposat) que conté tres Serveis, que són el Servei que proporciona informació del dispositiu, el Servei que proporciona passos i el Servei que detecta la freqüència cardíaca;

La característica continguda en el servei de la informació del dispositiu inclou informació del fabricant, informació del maquinari, informació de la versió, etc.; el servei de freqüència cardíaca inclou la característica de freqüència cardíaca, etc., i el valor de la característica de freqüència cardíaca conté realment les dades de freqüència cardíaca i el descriptor és el valor. Descripció, com ara la unitat de valor, la descripció, el permís, etc.

GATT C/S

Amb una comprensió preliminar del GATT, sabem que el GATT és un mode C/S típic. Com que és C/S, cal distingir entre servidor i client.

"Servidor GATT" vs. "Client GATT". L'etapa on existeixen aquests dos rols és després d'establir la connexió, i es distingeixen segons l'estat del diàleg. És fàcil entendre que la part que té les dades s'anomena servidor GATT, i la part que accedeix a les dades s'anomena client GATT.

Es tracta d'un concepte a un nivell diferent del paper del dispositiu que hem esmentat abans, i cal distingir-lo. Utilitzem un exemple senzill per il·lustrar:

Pren l'exemple d'un telèfon mòbil i un rellotge per il·lustrar-ho. Abans d'establir la connexió entre el telèfon mòbil i el telèfon mòbil, utilitzem la funció de cerca Bluetooth del telèfon mòbil per cercar el dispositiu Bluetooth del rellotge. Durant aquest procés, és obvi que el rellotge està emetent BLE perquè altres dispositius coneguin la seva existència. , és el paper del perifèric en aquest procés, i el telèfon mòbil és responsable de la tasca d'escaneig i, naturalment, fa el paper de Centre; després que els dos estableixin una connexió GATT, quan el telèfon mòbil necessita llegir dades del sensor, com ara el nombre de passos des del rellotge, els dos Les dades interactives es guarden al rellotge, de manera que en aquest moment el rellotge és el paper del GATT servidor, i el telèfon mòbil és, naturalment, el client del GATT; i quan el rellotge vol llegir trucades SMS i altra informació del telèfon mòbil, el guardià de les dades es converteix en telèfon mòbil, de manera que el telèfon mòbil és el servidor en aquest moment i el rellotge és el client.

Servei/Característica

Ja hem tingut una comprensió perceptiva d'ells anteriorment, i després tenim informació pràctica:

  1. La característica és la unitat lògica més petita de dades.
  2. L'anàlisi de les dades emmagatzemades en valor i descriptor la determina l'enginyer del servidor, no hi ha especificació.
  3. El servei/Característica té una identificació UUID única, l'UUID té tant de 16 bits com de 128 bits, el que hem d'entendre és que l'UUID de 16 bits està certificat per l'organització Bluetooth i s'ha de comprar, per descomptat, n'hi ha alguns comuns. els UUID de 16 bits. Per exemple, l'UUID del servei de freqüència cardíaca és 0X180D, que s'expressa com 0X00001800-0000-1000-8000-00805f9b34fb al codi i altres bits es fixen. L'UUID de 128 bits es pot personalitzar.
  4. Les connexions GATT són exclusives.

Tornar a dalt