El concepto de GATT

Para llevar a cabo el desarrollo relacionado con BLE, debemos tener ciertos conocimientos básicos, por supuesto, debe ser muy simple.

Gatte Función del dispositivo:

Lo primero que hay que entender es que la distinción entre estos dos roles está a nivel de hardware., y son conceptos relativos que aparecen en pares:

“Dispositivo central”: relativamente poderoso, Se utiliza para escanear y conectar dispositivos periféricos., como teléfonos móviles, tabletas, etc..

“Dispositivo periférico”: la función es relativamente simple, el consumo de energía es pequeño, y el dispositivo central está conectado para proporcionar datos, como pulseras, termómetros inteligentes, etc..

De hecho, en el nivel más fundamental, Debería haber una distinción entre diferentes roles en el proceso de establecer una conexión.. Sabemos que si un dispositivo Bluetooth quiere que otros sepan su existencia, necesita transmitir continuamente al mundo exterior, mientras que la otra parte necesita escanear y responder al paquete de transmisión, para que se pueda establecer la conexión. en este proceso, el responsable de la retransmisión es Periférico , y Central es responsable de escanear.

Nota sobre el proceso de conexión entre los dos.:

El dispositivo central se puede conectar a varios dispositivos periféricos al mismo tiempo. Una vez que el dispositivo periférico esté conectado, dejará de transmitir inmediatamente, y continuar transmitiendo después de la desconexión. Solo un dispositivo puede intentar conectarse en cualquier momento, conexiones en cola.

Gatte protocolo

La tecnología BLE se comunica según GATT. GATT es un protocolo de transmisión de atributos.. Puede considerarse como un protocolo de capa de aplicación para la transmisión de atributos..

Su estructura es muy simple.:   

1671506971 1

Puedes entenderlo como xml.:

Cada GATT está compuesto por Servicios que realizan diferentes funciones.;

Cada Servicio se compone de diferentes Características;

Cada característica consta de un valor y uno o más descriptores.;

Servicio y Característica son equivalentes a etiquetas (El servicio es equivalente a su categoría., y Característica es equivalente a su nombre), mientras que el valor en realidad contiene datos, y Descriptor es una explicación y descripción de este valor.. Por supuesto, Podemos describirlo y describirlo desde diferentes ángulos.. Descripción, entonces puede haber múltiples descriptores.

Por ejemplo:La Xiaomi Mi Band común es un dispositivo BLE, (ficticio) contiene tres servicios, cuáles son los Servicios que brindan información del dispositivo, el Servicio que proporciona pasos, y el Servicio que detecta la frecuencia cardíaca;

La característica contenida en el servicio de información del dispositivo incluye información del fabricante., información de hardware, información de la versión, etc.; El servicio de frecuencia cardíaca incluye la característica de frecuencia cardíaca., etc., y el valor en la característica de frecuencia cardíaca en realidad contiene los datos de frecuencia cardíaca, y el descriptor es el valor. Descripción, como la unidad de valor, descripción, permiso, etc..

GATT C/S

Con una comprensión preliminar del GATT, Sabemos que el GATT es un modo típico de C/S.. ya que es c/s, Es necesario que distingamos entre servidor y cliente..

“servidor del GATT” vs. “Cliente del GATT”. La etapa donde existen estos dos roles es después de que se establece la conexión., y se distinguen según el estado del diálogo. Es fácil entender que la parte que posee los datos se llama servidor del GATT., y la parte que accede a los datos se denomina cliente GATT.

Este es un concepto a un nivel diferente al rol del dispositivo que mencionamos antes., y es necesario distinguirlo. Usemos un ejemplo simple para ilustrar:

Tomemos el ejemplo de un teléfono móvil y un reloj para ilustrar.. Antes de que se establezca la conexión entre el teléfono móvil y el teléfono móvil, Usamos la función de búsqueda Bluetooth del teléfono móvil para buscar el dispositivo Bluetooth del reloj.. Durante este proceso, es obvio que el reloj está transmitiendo BLE para que otros dispositivos sepan su existencia. , es el papel del periférico en este proceso, y el teléfono móvil es responsable de la tarea de escaneo, y naturalmente desempeña el papel de Centro; después de que los dos establezcan una conexión con el GATT, cuando el teléfono móvil necesita leer datos del sensor, como el número de pasos del reloj, los dos Los datos interactivos se guardan en el reloj., Así que en este momento el reloj es el papel del servidor del GATT., Y el teléfono móvil es, naturalmente, el cliente del GATT.; y cuando el reloj quiere leer llamadas SMS y otra información del teléfono móvil, El guardián de los datos se convierte en el teléfono móvil., Entonces el teléfono móvil es el servidor en este momento., y el reloj es el cliente.

Servicio/Característica

Ya hemos tenido una comprensión perceptiva de ellos arriba., y luego tenemos alguna información práctica.:

  1. La característica es la unidad lógica de datos más pequeña..
  2. El análisis de los datos almacenados en valor y descriptor lo determina el ingeniero del servidor., no hay especificaciones.
  3. El servicio/característica tiene una identificación UUID única, UUID tiene 16 bits y 128 bits, lo que debemos entender es que el UUID de 16 bits está certificado por la organización Bluetooth y debe comprarse, Por supuesto, hay algunos UUID de 16 bits comunes. Por ejemplo, el UUID del servicio Heart Rate es 0X180D, que se expresa como 0X00001800-0000-1000-8000-00805f9b34fb en el código, y otros bits están arreglados. El UUID de 128 bits se puede personalizar.
  4. Las conexiones del GATT son exclusivas.