Información del dispositivo
Los proveedores pueden notificar a un buscador sobre la información del dispositivo a través del flujo de mensajes.
Nombre del grupo de mensajes | Valor |
---|---|
Evento de información del dispositivo | 0x03 |
Nombre de código de la información del dispositivo | Valor |
---|---|
ID de modelo | 0x01 |
Se actualizó la dirección BLE | 0x02 |
Se actualizó la batería | 0x03 |
Tiempo restante de batería | 0x04 |
Solicitud de componentes activos | 0x05 |
Respuesta de los componentes activos | 0x06 |
Funciones (obsoletas) | 0x07 |
Tipo de plataforma | 0x08 |
Versión de firmware | 0x09 |
Identificador efímero actual de la FHN | 0x0B |
ID de modelo
La información del ID del modelo (para la escritura retroactiva de AccountKey) se debe enviar al buscador cuando se conecta RFCOMM. Por ejemplo, 0x03010003AABBCC
sería lo siguiente:
- 0x03: Evento de información del dispositivo
- 0x01: Valor del ID del modelo
- 0x0003: Datos adicionales, longitud 3
- 0xAABBCC: Datos adicionales, ID del modelo
Dirección BLE
La información de la dirección BLE (para la escritura retroactiva de AccountKey) , si está disponible, también se debe enviar al buscador cuando se conecte RFCOMM y cada vez que se rote la dirección. Por ejemplo, 0x03020006AABBCCDDEEFF
sería lo siguiente:
- 0x03: Evento de información del dispositivo
- 0x02: Valor de la dirección BLE
- 0x0006: Datos adicionales, longitud 6
- 0xAABBCCDDEEFF: Datos adicionales, dirección BLE
Se actualizó la batería
En el caso de los proveedores que admiten notificaciones de batería, la información de la batería también se puede enviar a través de RFCOMM. Cuando se conecte RFCOMM o cambie el valor de la batería, se debe enviar una actualización. La sección de datos adicionales del paquete debe contener datos idénticos a los bytes s + 2, s + 3 y s + 4 cuando se promocionan datos de batería a través de BLE. Por ejemplo,0x0303000357417F
sería:
- 0x03: Evento de información del dispositivo
- 0x03: Valor de la batería
- 0x0003: Datos adicionales, longitud 3
- 0x57417F: Datos adicionales, valores de batería
- 0x57: Valor del auricular izquierdo, no se está cargando, 87% de batería
- 0x41: Valor del auricular derecho, no se está cargando, 65% de batería
- 0x7F: Valor de la funda, no se está cargando, batería desconocida
Los proveedores también pueden actualizar el tiempo de batería restante (si se conoce). Por ejemplo, 0x03040001F0
sería lo siguiente:
- 0x03: Evento de información del dispositivo
- 0x04: Tiempo restante de batería
- 0x0001: Datos adicionales, longitud 1 (podría ser 2 para uint16 si es necesario)
- 0xF0: Datos adicionales, tiempo restante de la batería en minutos, 240 minutos
Componentes activos
A veces, los buscadores pueden querer saber qué componentes están activos actualmente, lo que significa que se puede realizar una acción en ellos (consulta Acciones del dispositivo). Cuando el proveedor recibe una solicitud que contiene el código de solicitud de componentes activos (0x05), se debe mostrar una respuesta en un plazo de 1 segundo que indique el estado actual del proveedor. La respuesta usará el código de respuesta de componentes activos (0x06) y contendrá datos adicionales que indiquen qué componentes están disponibles.
Para un proveedor con un solo componente, los datos adicionales deben establecerse en 0x00 si no están disponibles. Un ejemplo de esto podría ser un modo de bajo consumo en el que no se realizará la reproducción de contenido multimedia. De lo contrario, los datos adicionales se deben establecer en 0x01.
En el caso de los auriculares con varios componentes (por ejemplo, un auricular izquierdo y uno derecho), cada bit de los datos adicionales representa si ese componente está activo. Un ejemplo de un componente inactivo podría ser un auricular que está en la funda y no en uso. Específicamente para los casos de los auriculares izquierdo y derecho:
- 0x00 (0b00000000): No hay ningún auricular activo.
- 0x01 (0b00000001): Auricular derecho activo, izquierdo inactivo
- 0x02 (0b00000010): Auricular izquierdo activo, derecho inactivo
- 0x03 (0b00000011): Ambos auriculares están activos.
Tipo de plataforma
Es posible que los proveedores deseen realizar acciones diferentes según la plataforma a la que están conectados. Actualmente, la Vinculación rápida solo se realiza a través de Android, pero es posible que la compatibilidad se expanda en el futuro.
El mensaje contendrá un primer byte que identifica el tipo de plataforma en los datos adicionales:
Nombre de la plataforma | Valor |
---|---|
Android | 0x01 |
El segundo byte se personalizará por plataforma. En Android, se referirá a la versión del SDK. Por ejemplo, Android Pie tendrá un valor de 28 (0x1C).
Versión de firmware
Es la versión de firmware del proveedor como una cadena con codificación UTF-8. Es la misma información que se muestra en la característica Revisión de firmware.
Identificador efímero actual de FHN
Los proveedores que anuncian tramas de FHN deben informar el identificador efímero (EID) de FHN actual con su valor de reloj actual para sincronizarse con el buscador en caso de que haya un desplazamiento del reloj (por ejemplo, debido a que se agotó la batería).
Por ejemplo:
- 0x03: Evento de información del dispositivo
- 0x0B: Mensaje de identificador efímero actual de FHN
- 0x0018: Datos adicionales, longitud de 24 o 36 bytes
- 0x13F9EA80: Datos adicionales (valor de reloj; 4 bytes)
- 0x1122334455667788990011223344556677889900: Datos adicionales (EID actual; 20 o 32 bytes)