Desenvolvemento BLE: que é GATT e como funciona?

Índice analítico

O concepto de GATT

Para levar a cabo o desenvolvemento relacionado co BLE, debemos ter certos coñecementos básicos, por suposto, debe ser moi sinxelo.

GATT Función do dispositivo:

O primeiro que hai que entender é que a distinción entre estes dous roles está a nivel de hardware, e son conceptos relativos que aparecen por parellas:

"Dispositivo central": relativamente potente, usado para escanear e conectar dispositivos periféricos, como teléfonos móbiles, tabletas, etc.

"Dispositivo periférico": a función é relativamente sinxela, o consumo de enerxía é pequeno e o dispositivo central está conectado para proporcionar datos, como pulseiras, termómetros intelixentes, etc.

De feito, no nivel máis fundamental, debería ser unha distinción entre diferentes roles no proceso de establecemento dunha conexión. Sabemos que se un dispositivo Bluetooth quere que outros coñezan a súa existencia, ten que transmitir continuamente ao mundo exterior, mentres que a outra parte debe buscar e responder ao paquete de emisión, para que se poida establecer a conexión. Neste proceso, o responsable da difusión é Periférico e Central é o responsable da dixitalización.

Nota sobre o proceso de conexión entre os dous:

O dispositivo central pode conectarse a varios dispositivos periféricos ao mesmo tempo. Unha vez conectado o dispositivo periférico, deixará de emitir inmediatamente e continuará emitindo despois da desconexión. Só un dispositivo pode tentar conectarse en calquera momento, poñendo as conexións en cola.

GATT Protocolo

A tecnoloxía BLE comunícase baseándose en GATT. GATT é un protocolo de transmisión de atributos. Pódese considerar como un protocolo de capa de aplicación para a transmisión de atributos.

A súa estrutura é moi sinxela:   

Podes entendelo como xml:

Cada GATT está composto por Servizos que realizan diferentes funcións;

Cada Servizo está composto por diferentes características;

Cada Característica consta dun valor e un ou máis Descriptores;

Service e Characteristic son equivalentes a etiquetas (Service equivale á súa categoría e Characteristic equivale ao seu nome), mentres que o valor realmente contén datos e Descriptor é unha explicación e descrición deste valor. Por suposto, podemos describilo e describilo desde diferentes ángulos. Descrición, polo que pode haber varios descritores.

Por exemplo: a Xiaomi Mi Band común é un dispositivo BLE, (suponse) que contén tres Servizos, que son o Servizo que proporciona información do dispositivo, o Servizo que ofrece pasos e o Servizo que detecta a frecuencia cardíaca;

A característica contida no servizo da información do dispositivo inclúe información do fabricante, información do hardware, información da versión, etc.; o Servizo de frecuencia cardíaca inclúe a característica de frecuencia cardíaca, etc., e o valor da característica de frecuencia cardíaca contén realmente os datos de frecuencia cardíaca e o descritor é o valor. Descrición, como a unidade de valor, descrición, permiso, etc.

GATT C/S

Cunha comprensión preliminar do GATT, sabemos que GATT é un modo C/S típico. Como é C/S, é necesario que distingamos entre Servidor e cliente.

"Servidor GATT" vs. "Cliente GATT". A etapa na que existen estes dous papeis é despois de que se establece a conexión, e distínguense segundo o estado do diálogo. É doado entender que a parte que posúe os datos chámase servidor GATT e a que accede aos datos chámase cliente GATT.

Este é un concepto a un nivel diferente do rol do dispositivo que mencionamos antes, e é necesario distinguilo. Imos utilizar un exemplo sinxelo para ilustralo:

Tome o exemplo dun teléfono móbil e dun reloxo para ilustralo. Antes de establecer a conexión entre o teléfono móbil e o teléfono móbil, usamos a función de busca Bluetooth do teléfono móbil para buscar o dispositivo Bluetooth do reloxo. Durante este proceso, é obvio que o reloxo está a transmitir BLE para que outros dispositivos coñezan a súa existencia. , é o papel do periférico neste proceso, e o teléfono móbil é o responsable da tarefa de dixitalización e, naturalmente, desempeña o papel de Centro; despois de que os dous establezan unha conexión GATT, cando o teléfono móbil necesita ler os datos do sensor, como o número de pasos do reloxo, os dous. Os datos interactivos gárdanse no reloxo, polo que neste momento o reloxo é o papel do GATT. servidor, e o teléfono móbil é naturalmente o cliente do GATT; e cando o reloxo quere ler chamadas SMS e outra información do teléfono móbil, o gardián dos datos pasa a ser o teléfono móbil, polo que o teléfono móbil é o servidor neste momento e o reloxo é o cliente.

Servizo/Característica

Xa tivemos unha comprensión perceptiva deles arriba, e despois temos algunha información práctica:

  1. A característica é a unidade lóxica máis pequena de datos.
  2. A análise dos datos almacenados en valor e descritor está determinada polo enxeñeiro do servidor, non hai especificación.
  3. O servizo/Característica ten unha identificación única de UUID, o UUID ten tanto 16 bits como 128 bits, o que debemos entender é que o UUID de 16 bits está certificado pola organización Bluetooth e hai que compralo, por suposto que hai algúns comúns. os UUID de 16 bits. Por exemplo, o UUID do servizo de frecuencia cardíaca é 0X180D, que se expresa como 0X00001800-0000-1000-8000-00805f9b34fb no código, e outros bits están fixados. O UUID de 128 bits pódese personalizar.
  4. As conexións GATT son exclusivas.

Volver arriba