STEMMA

Perfiles

En realidad, un perfil no existe en el periférico BLE en sí, es simplemente una colección predefinida de Servicios que ha sido compilada por el Bluetooth SIG o por los diseñadores de periféricos. El Perfil de Frecuencia Cardíaca, por ejemplo, combina el Servicio de Frecuencia Cardíaca y el Servicio de Información del Dispositivo. La lista completa de los perfiles basados en el GATT adoptados oficialmente puede consultarse aquí: Resumen de perfiles.

Servicios

Los servicios se utilizan para dividir los datos en entidades lógicas y contienen trozos específicos de datos llamados características. Un servicio puede tener una o más características, y cada servicio se distingue de otros servicios por medio de un ID numérico único llamado UUID, que puede ser de 16 bits (para Servicios BLE adoptados oficialmente) o de 128 bits (para servicios personalizados).
Se puede ver una lista completa de los servicios BLE adoptados oficialmente en la página de servicios del Portal de Desarrolladores Bluetooth. Si nos fijamos en el Servicio de Frecuencia Cardíaca, por ejemplo, podemos ver que este servicio adoptado oficialmente tiene un UUID de 16 bits de 0x180D y contiene hasta 3 características, aunque solo la primera es obligatoria: Medición de la Frecuencia Cardíaca, Ubicación del Sensor Corporal y Punto de Control de la Frecuencia Cardíaca.

Características

El concepto de nivel más bajo en las transacciones del GATT es la Característica, que encapsula un único punto de datos (aunque puede contener una serie de datos relacionados, como valores X/Y/Z de un acelerómetro de 3 ejes, etc.).).
De manera similar a los Servicios, cada Característica se distingue a través de un UUID predefinido de 16 o 128 bits, y es libre de usar las características estándar definidas por el Bluetooth SIG (que garantiza la interoperabilidad a través de HW/SW habilitados para BLE) o definir sus propias características personalizadas que solo su periférico y SW entienden.
Por ejemplo, la característica de Medición de la Frecuencia Cardíaca es obligatoria para el Servicio de Frecuencia Cardíaca y utiliza un UUID de 0x2A37. Comienza con un único valor de 8 bits que describe el formato de datos de HRM (si los datos son UINT8 o UINT16, etc.).), y continúa para incluir los datos de medición de la frecuencia cardíaca que coinciden con este byte de configuración.
Las características son el punto principal en el que interactuará con su periférico BLE, por lo que es importante comprender el concepto. También se utilizan para enviar datos de vuelta al periférico BLE, ya que también puede escribir en la característica. Podría implementar una interfaz simple de tipo UART con un ‘Servicio UART’ personalizado y dos características, una para el canal TX y otra para el canal RX, donde una característica podría configurarse como de solo lectura y la otra tendría privilegios de escritura.