Información del dispositivo

Los proveedores pueden notificar a un usuario que busca información sobre el dispositivo a través del flujo de mensajes.

Nombre del grupo de mensajes Valor
Evento de información del dispositivo 0x03
Nombre interno de la información del dispositivo Valor
ID de modelo 0 × 01
Se actualizó la dirección BLE 0 × 02
Se actualizó la batería 0x03
Tiempo de batería restante 0 × 04
Solicitud de componentes activos 0 × 05
Respuesta de componentes activos 0 × 06
Funciones (obsoletas) 0 × 07
Tipo de plataforma 0 × 08
Versión de firmware 0 × 09
Identificador efímero actual de FMDN 0x0 mil millones

ID de modelo

La información del ID del modelo (de escritura retroactiva de AccountKey) se debe enviar al buscador cuando se conecta RFCOMM. Por ejemplo, 0x03010003AABBCC sería:

  • 0x03: Evento de información del dispositivo
  • 0x01: valor del ID del modelo
  • 0x0003: Datos adicionales, longitud 3
  • 0xAABBCC: Datos adicionales, ID de modelo

Dirección BLE

La información de la dirección BLE (para Escritura retroactiva de AccountKey) , si está disponible, también se debe enviar al Seeker cuando se conecta RFCOMM y cada vez que se rota la dirección. Por ejemplo, 0x03020006AABBCCDDEEFF sería:

  • 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

Para los proveedores que admiten notificaciones sobre la batería, la información sobre la batería también se puede enviar a través de RFCOMM. Cuando se conecta RFCOMM o cambia el valor de la batería, se debe enviar una actualización. La sección de datos adicional del paquete debe contener datos idénticos a los bytes s + 2, s + 3, s + 4 cuando se anuncian datos de batería en 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 la batería
    • 0x57: valor del auricular izquierdo, no carga, 87% de batería
    • 0x41: valor del auricular derecho, no se está cargando, 65% de batería
    • 0x7F: El valor del caso, no se está cargando, se desconoce la batería

Los proveedores también pueden actualizar el tiempo restante de la batería (si lo conoce). Por ejemplo, 0x03040001F0 sería el siguiente:

  • 0x03: Evento de información del dispositivo
  • 0x04: Tiempo de batería restante
  • 0x0001: Datos adicionales, longitud 1 (puede ser 2 para uint16 si es necesario)
  • 0xF0: Datos adicionales, tiempo restante de la batería en minutos, 240 minutos

Componentes activos

A veces, es posible que los buscadores deseen 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 dentro 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 indican qué componentes están disponibles.

Para un proveedor con un solo componente, los datos adicionales se deben establecer 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, uno izquierdo y uno derecho), cada bit de los datos adicionales indica si ese componente está activo. Un ejemplo de un componente inactivo podría ser un auricular, que sí está en uso. Específicamente para el auricular izquierdo y el derecho, haz lo siguiente:

  • 0x00 (0b00000000): Ninguno de los dos auriculares está activo
  • 0x01 (0b00000001): Auricular derecho activo, izquierdo inactivo
  • 0x02 (0b00000010): Auricular izquierdo activo, derecho inactivo
  • 0x03 (0b00000011): Ambos auriculares activos

Tipo de plataforma

Es posible que los proveedores quieran tener un rendimiento diferente 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 se extienda la compatibilidad 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 0 × 01

El segundo byte se personalizará por plataforma. En Android, hará referencia a la versión del SDK. Por ejemplo, Android Pie tendrá un valor de 28 (0x1C).

Versión de firmware

La versión de firmware del proveedor como una cadena en la codificación utf-8. Es la misma información que la de la Característica de revisión de firmware.

Identificador efímero de FMDN actual

Los proveedores que anuncian tramas FMDN deben informar el identificador efímero (EID) de FMDN actual con el valor de reloj actual para sincronizarse con el buscador en caso de desviación del reloj (por ejemplo, debido al agotamiento de la batería).

Por ejemplo:

  • 0x03: Evento de información del dispositivo
  • 0x0B: mensaje identificador efímero de FMDN actual
  • 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)