Búsqueda precisa de Localizador

La especificación de la Búsqueda precisa de Find Hub (FHPF) contiene requisitos de implementación para habilitar dispositivos que admiten tecnologías de medición de distancia para que sean compatibles con la función de Búsqueda precisa a través de la app de Encontrar mi dispositivo de Google.

El tipo de Búsqueda precisa depende del tipo de tecnologías de rango admitidas en los dispositivos que participan en la Búsqueda precisa. Las tecnologías de rango admitidas se pueden encontrar en la especificación Ranging: Out-of-band message sequence and payload. En secciones posteriores, se explora qué tipo de experiencia de búsqueda de precisión se puede esperar según la tecnología de rango utilizada.

Accesorio de la red de Localizador

Esta especificación es una extensión de la especificación de accesorios de la red de Localizador (FHNA). Aquí se aplican las mismas reglas para la característica GATT y la autenticación que se definen en el documento de FHNA. En este documento, se definen nuevos tipos de operaciones, además de las operaciones existentes en la especificación de FHNA.

Carga útil específica de las tecnologías de rango

Esta especificación también hace referencia a la especificación de Ranging: Out-of-band message sequence and payload para definir la carga útil específica de la tecnología de rango que se incluye en los campos de Datos adicionales de las operaciones individuales.

Flujo de la Búsqueda precisa

En esta sección, se explora el flujo de mensajes de FHNA para la Búsqueda Precisa. En la Figura 1, se muestra el flujo de los mensajes, y en los párrafos, se explica cada mensaje con más detalle.

Flujo de mensajes de la Búsqueda precisa

Fig. 1: Flujo típico de mensajes de Búsqueda precisa

El dispositivo iniciador es el que tiene la app de Localizador y desde el que se activó la función de Búsqueda precisa. El iniciador es el dispositivo que intenta encontrar el otro dispositivo.

El dispositivo de respuesta es el que intenta encontrar el dispositivo iniciador.

El dispositivo iniciador envía un mensaje de solicitud de capacidad de medición de distancia al dispositivo respondedor, en el que se enumeran las tecnologías de medición de distancia sobre las que le interesa obtener información del dispositivo respondedor. El dispositivo de respuesta responderá con la notificación de respuesta de capacidad de medición de distancia, que contiene información sobre qué tecnologías de medición de distancia son compatibles y cuáles son sus capacidades. El responder incluirá solo la información que solicitó el iniciador. La lista de capacidades se ordenará según la prioridad de la tecnología de medición de distancia que prefiera el dispositivo de respuesta, y la primera de la lista tendrá la prioridad más alta.

Luego, el dispositivo iniciador enviará un mensaje de configuración de rango, en el que definirá la configuración de cada tecnología de rango con la que desea determinar el rango. Cuando recibe este mensaje, el dispositivo de respuesta debe comenzar a determinar el rango de las tecnologías aplicables con las configuraciones proporcionadas. El dispositivo de respuesta enviará una notificación de respuesta de configuración de rango, que contiene los resultados sobre si cada tecnología de rango individual se inició correctamente. Algunas tecnologías de medición de distancia deben iniciarse tanto en el dispositivo iniciador como en el dispositivo receptor para que la sesión de medición de distancia sea exitosa, mientras que para otras solo es necesario que se inicie en el dispositivo iniciador. Aun así, el dispositivo receptor debe responder con un resultado exitoso para esas tecnologías. Encontrarás más información sobre el comportamiento específico de la tecnología de medición en secciones posteriores.

Una vez que el dispositivo iniciador esté listo para detener la sesión de Encuentra con precisión, enviará un mensaje de Detener medición al dispositivo de respuesta, en el que se indicará qué tecnologías de medición deben detener la medición. El dispositivo de respuesta responderá con una notificación de respuesta de detención del rango, lo que indica que detuvo correctamente el rango con las tecnologías de rango solicitadas.

En el caso de que el canal de comunicación FHNA BLE GATT se desconecte a mitad de la sesión de Precision Finding, pero mientras algunas de las tecnologías de medición de distancia sigan funcionando, el dispositivo de respuesta implementará un mecanismo de tiempo de espera para garantizar que no mida la distancia de forma indefinida. Los detalles dependerán de cada caso de uso.

Ten en cuenta que el dispositivo de respuesta no debe suponer que el orden de las operaciones siempre será el mismo. Por ejemplo, el dispositivo de respuesta debe poder controlar varias operaciones de solicitud de capacidad de rango seguidas o incluso una operación de configuración de rango directa sin la solicitud de capacidad anterior.

Operaciones

En la Tabla 1, se muestran las operaciones de FHNA definidas en este documento que son necesarias para la Búsqueda Precisa. Cada subsección define el mensaje de FHNA para cada una de las operaciones, mientras que el contenido del campo Additional Data hace referencia a la especificación de Ranging: Out-of-band message sequence and payload.

Tabla 1: Operaciones

Operación ID de datos Descripción
Solicitud de capacidad de medición de distancia 0x0A Operación de solicitud de capacidad que enviará el dispositivo iniciador al dispositivo de respuesta. El contenido de los datos de esta operación enumerará todas las tecnologías de medición de distancia sobre las que el iniciador desea obtener información del dispositivo de respuesta.
Respuesta de capacidad de rango 0x0A Esta es la respuesta de notificación a la operación de solicitud de capacidad de rango. Contiene información sobre las capacidades de cada tecnología de rango admitida que solicitó el iniciador.
Configuración de rango 0x0B La operación de configuración de rango contiene los parámetros de configuración de las tecnologías de rango con las que el dispositivo iniciador desea comenzar a determinar el rango con el dispositivo respondedor.
Respuesta de configuración de rango 0x0B Esta es la respuesta de notificación a la operación de configuración de rango. Contiene datos sobre si el dispositivo de respuesta inició correctamente el rango con las tecnologías de rango solicitadas según la configuración proporcionada.
RFU 0x0C La operación con este ID de datos no se usa y está reservada para uso futuro.
Detener la medición 0x0D La operación Stop Ranging que envía el dispositivo iniciador contiene información sobre las tecnologías de rango con las que el dispositivo de respuesta debe dejar de determinar el rango.
Detener respuesta de rango 0x0D Es la respuesta de notificación a la operación Stop Ranging. Contiene datos sobre si la operación de detención para una tecnología de rango específica se realizó correctamente o no.

Mensaje de solicitud de capacidad de medición de distancia

En la tabla 2, se define el mensaje de solicitud de capacidad de rango.

Tabla 2: Solicitud de capacidad de medición de distancia

Octeto Tipo de datos Descripción Valor
0 uint8 ID de datos 0x0A: Operación de solicitud de capacidad de rango
1 uint8 Longitud de los datos varía
2 array de bytes Clave de autenticación de un solo uso Los primeros 8 bytes de HMAC-SHA256(clave de la cuenta, número de versión principal del protocolo || el último nonce leído de la característica || ID de datos || Longitud de datos || Datos adicionales).
10 array de bytes Datos adicionales Mensaje de Solicitud de capacidad de rango, según se define en la especificación de Ranging: Out-of-band message sequence and payload (tanto el encabezado como la carga útil)

Mensaje de respuesta de capacidad de rango

En la tabla 3, se define el mensaje de respuesta de capacidad de medición de distancia.

Tabla 3: Respuesta de capacidad de alcance

Octeto Tipo de datos Descripción Valor
0 uint8 ID de datos 0x0A: Respuesta de capacidad de rango
1 uint8 Longitud de los datos varía
2 array de bytes Clave de autenticación de un solo uso Los primeros 8 bytes de HMAC-SHA256(clave de la cuenta, número de versión principal del protocolo || el último nonce leído de la característica || ID de datos || Longitud de los datos || Datos adicionales || 0x01).
10 array de bytes Datos adicionales Mensaje de Ranging Capability Response, según se define en la especificación de Ranging: Out-of-band message sequence and payload (encabezado y carga útil)

Mensaje de configuración de rango

En la tabla 4, se define el mensaje de configuración de rango.

Tabla 4: Configuración de rango

Octeto Tipo de datos Descripción Valor
0 uint8 ID de datos 0x0B: Establece la configuración de rango
1 uint8 Longitud de los datos varía
2 array de bytes Clave de autenticación de un solo uso Los primeros 8 bytes de HMAC-SHA256(clave de la cuenta, número de versión principal del protocolo || el último nonce leído de la característica || ID de datos || Longitud de datos || Datos adicionales).
10 array de bytes Datos adicionales Mensaje de Configuración de rango, según se define en la especificación de Ranging: Out-of-band message sequence and payload (encabezado y carga útil)

Mensaje de respuesta de configuración de rango

En la tabla 5, se define el mensaje de respuesta de configuración de rango.

Tabla 5: Respuesta de configuración de rango

Octeto Tipo de datos Descripción Valor
0 uint8 ID de datos 0x0B: Respuesta de configuración de rango
1 uint8 Longitud de los datos varía
2 array de bytes Clave de autenticación de un solo uso Los primeros 8 bytes de HMAC-SHA256(clave de la cuenta, número de versión principal del protocolo || el último nonce leído de la característica || ID de datos || Longitud de los datos || Datos adicionales || 0x01).
10 array de bytes Datos adicionales Mensaje de Respuesta de configuración de rango, según se define en la especificación de Ranging: secuencia y carga útil de mensajes fuera de banda (tanto el encabezado como la carga útil)

Mensaje de Stop Ranging

En la tabla 6, se define el mensaje Stop Ranging.

Tabla 6: Detener el rango

Octeto Tipo de datos Descripción Valor
0 uint8 ID de datos 0x0D: Detención de rango
1 uint8 Longitud de los datos varía
2 array de bytes Clave de autenticación de un solo uso Los primeros 8 bytes de HMAC-SHA256(clave de la cuenta, número de versión principal del protocolo || el último nonce leído de la característica || ID de datos || longitud de datos).
10 array de bytes Datos adicionales Mensaje de Stop Ranging, según se define en la especificación de Ranging: Out-of-band message sequence and payload (tanto el encabezado como la carga útil)

Mensaje de detener la respuesta de medición de distancia

En la tabla 7, se define el mensaje de respuesta de Stop Ranging.

Tabla 7: Detener el rango de respuesta

Octeto Tipo de datos Descripción Valor
0 uint8 ID de datos 0x0D: Respuesta de detención de rango
1 uint8 Longitud de los datos varía
2 array de bytes Clave de autenticación de un solo uso Los primeros 8 bytes de HMAC-SHA256(clave de la cuenta, número de versión principal del protocolo || el último nonce leído de la característica || ID de datos || Longitud de los datos || Datos adicionales || 0x01).
10 array de bytes Datos adicionales Mensaje de Stop Ranging Response, según se define en la especificación Ranging: Out-of-band message sequence and payload (encabezado y carga útil)

Protección contra rastreo no deseado

Cuando se activa el modo de protección contra seguimiento no deseado, como se describe en la especificación de FHNA, el mismo flujo que se aplica para omitir las verificaciones de autenticación de los mensajes de llamada también se aplica a todos los mensajes de Búsqueda Precisa definidos en este documento para los dispositivos que desean admitir esta función.

De la especificación de FHNA:

Si el proveedor no se aprovisiona como baliza de FHNA o falla la verificación, se muestra un error de no autenticación. Sin embargo, si el proveedor tiene activa la protección contra seguimiento no deseado, y la solicitud que activó la protección contra seguimiento no deseado tenía activada la marca de omitir la autenticación de llamada, el proveedor debe omitir esa verificación. Aún se espera que el buscador proporcione los datos de autenticación, pero se podrían establecer en un valor arbitrario.

Detalles específicos de la tecnología de rango

En esta sección, se incluyen detalles específicos de la tecnología de medición de distancias.

Especificaciones de la banda ultraancha (UWB)

Son detalles específicos de la UWB.

Nivel de Búsqueda Precisa

En las sesiones de Búsqueda precisa que utilizan UWB como tecnología de medición de distancia, se puede esperar ver información tanto de la distancia como de la dirección. El intervalo de alcance debe ser de al menos 240 ms, aunque se recomienda 96 ms para una orientación óptima.

IDs de configuración

Los datos de configuración fuera de banda intercambiados para la UWB no contienen un conjunto completo de parámetros configurables disponibles que la UWB requiere para iniciar una sesión de medición de distancia con UWB. Algunos parámetros se seleccionan de forma implícita según el ID de configuración elegido.

Cada ID de configuración es un conjunto de parámetros de configuración de UWB predefinidos que están documentados públicamente. Para el caso de uso de la Búsqueda precisa, el dispositivo de respuesta debe admitir el ID de configuración 6 y, de manera opcional, el ID de configuración 3.

Iniciador y respondedor de UWB

En el caso de uso de la Búsqueda precisa, el dispositivo que se indica como dispositivo iniciador en este documento será el dispositivo de respuesta de UWB, y el dispositivo que se indica como dispositivo de respuesta en este documento será el dispositivo iniciador de UWB. Esto se debe a que el dispositivo iniciador de UWB consume menos energía que el dispositivo de respuesta de UWB, y, en la mayoría de los casos, el dispositivo de respuesta será un periférico con batería limitada.

Esto significa que el dispositivo de respuesta debe indicar que admite el rol de iniciador de UWB en el mensaje de respuesta de capacidad de medición de distancia.

  • Se debe admitir el canal 9
  • Para una orientación óptima, se recomienda un intervalo de medición de 96 ms. De lo contrario, se debe admitir un intervalo de 240 ms.
  • Se recomienda una duración de ranura de 1 ms para ahorrar batería, pero también se admite una duración de 2 ms.
  • El chip UWB debe ser compatible con FIRA v1.2 y P-STS como mínimo.
  • El BPRF es obligatorio, mientras que el HPRF es opcional, pero se recomienda. El modo seleccionado o admitido se determina según el índice de preámbulo seleccionado o admitido.
  • Tipo de seguridad de la sesión: P-STS

Detalles de la detección de canales (CS) de BLE

Son detalles específicos de CS de BLE.

Nivel de Búsqueda Precisa

Las sesiones de Búsqueda precisa que usan CS como tecnología de medición de distancia solo proporcionarán mediciones de distancia. Por el momento, no se proporciona la direccionalidad.

Vinculación requerida entre dispositivos

Las sesiones de Búsqueda precisa que usan Channel Sounding no funcionarán si los dispositivos no están vinculados. Se requiere una vinculación existente entre el dispositivo iniciador y el dispositivo de respuesta. Esta especificación no proporciona una forma de crear una vinculación entre los dispositivos. En cambio, depende del desarrollador del caso de uso establecer este vínculo entre los dispositivos.

Acción requerida por el equipo de respuesta para CS

A diferencia de la UWB, en la que ambos dispositivos deben llamar explícitamente a las APIs de inicio y detención del rango de UWB, en el CS, solo el dispositivo iniciador debe iniciar el rango de CS llamando a la pila de Bluetooth. El resto de la inicialización del lado del dispositivo de respuesta se realiza dentro de la banda con Bluetooth (BT). Esto significa que, al recibir el mensaje de configuración de rango o el mensaje de detención de rango para CS, el lado del dispositivo de respuesta no tiene que hacer nada si el BT está habilitado, más que responder con la notificación del mensaje de respuesta de configuración de rango. El dispositivo de respuesta podría usar esos mensajes como un activador para actualizar la IU en la que hay una pantalla o, independientemente de tener una pantalla, podría usarse para brindar comentarios visuales sobre el estado del dispositivo, por ejemplo, parpadear las luces LED del dispositivo.

RTT de NAN de Wi-Fi

Son detalles específicos del RTT de NAN de Wi-Fi.

Nivel de Búsqueda Precisa

Las sesiones de Búsqueda precisa que usan Wi-Fi NAN RTT como tecnología de medición solo generarán mediciones de distancia. Por el momento, no se proporciona direccionalidad.

RSSI de BLE

Son detalles específicos del RSSI de BLE.

Nivel de Búsqueda Precisa

Las sesiones de Búsqueda precisa que solo usan el RSSI de BLE como tecnología de rango no podrán obtener la información de distancia ni de dirección, ya que el RSSI de BLE no es una tecnología de rango precisa. En su lugar, el usuario verá una guía que indica que el dispositivo está cerca o lejos.