Índice

Intercambio de información/interacciones

Las interacciones entre un objeto BLE y un terminal Android se materializan mediante operaciones de lectura y escritura. Estas operaciones se basan ambas en el mismo esquema: la lectura (o escritura) se realiza mediante la instancia de BluetoothGatt, que representa el objeto BLE, y el resultado se gestiona con una llamada de retorno mediante la instancia de BluetoothGattCallback.

Los datos expuestos por el objeto BLE, ya sean de solo lectura o de lectura/escritura, se denominan Characteristic (características). Cada característica se identifica mediante un identificador único universal (UUID, del inglés Universally Unique Identifier), atribuido por el consorcio responsable de la norma BLE.

Las características se agrupan por servicio, un servicio puede contener una o varias características. Cada servicio se identifica a su vez con un UUID.

Esta organización se encuentra en la API BLE propuesta por Android. Para acceder a una característica, previamente hay que obtener una referencia sobre el servicio correspondiente. 

1. Descubrir los servicios

No todos los objetos BLE exponen las mismas funcionalidades. Si un brazalete conectado expone, por ejemplo, la medida del ritmo cardíaco de su portador, ¡esta misma información no la proporcionará una bombilla conectada!

Como consecuencia, la plataforma no puede presumir qué servicios estarán disponibles en un objeto BLE emparejado con el terminal Android.

Para poder acceder a un servicio, ...