Encontrar com Precisão do Localizador

A especificação de localização precisa do Find Hub (FHPF, na sigla em inglês) contém requisitos de implementação para ativar dispositivos compatíveis com tecnologias de alcance e o recurso de localização precisa usando o app Encontre Meu Dispositivo do Google.

O tipo de descoberta de precisão depende do tipo de tecnologias de alcance compatíveis com dispositivos envolvidos na descoberta de precisão. As tecnologias de alcance compatíveis podem ser encontradas na especificação Alcance: sequência de mensagens e payload fora da banda. As seções a seguir explicam que tipo de experiência de localização precisa pode ser esperada com base na tecnologia de alcance usada.

Acessório da Rede Localizador

Essa especificação é uma extensão da especificação de acessório da Rede Localizador (FHNA). As mesmas regras para característica GATT e autenticação se aplicam aqui, conforme definido no documento FHNA. Este documento define novos tipos de operação, além das operações já existentes na especificação FHNA.

Payload específico de tecnologias de alcance

Essa especificação também se refere à especificação Intervalo: sequência de mensagens e payload fora da banda para definir o payload específico da tecnologia de intervalo contido nos campos Dados adicionais de operações individuais.

Fluxo do Encontrar com Precisão

Esta seção explica o fluxo de mensagens FHNA para a Pesquisa precisa. A figura 1 mostra o fluxo das mensagens, e os parágrafos explicam cada mensagem em mais detalhes.

Fluxo de mensagens do Encontrar com Precisão

Figura 1: fluxo de mensagens típico da Pesquisa de precisão

O dispositivo iniciador é aquele que tem o app Localizador e em que o recurso de localização precisa foi ativado. O iniciador é o dispositivo que está tentando encontrar o outro dispositivo.

O dispositivo do respondente é aquele que o dispositivo do iniciador está tentando encontrar.

O dispositivo iniciador envia uma mensagem de solicitação de capacidade de alcance para o dispositivo respondente, listando as tecnologias de alcance que ele quer conhecer do dispositivo respondente. O dispositivo responderá com a notificação de resposta de capacidade de alcance, que contém informações sobre quais tecnologias de alcance são compatíveis e quais são suas capacidades. O respondente vai incluir apenas as informações solicitadas pelo iniciador. A lista de recursos será classificada com base na prioridade da tecnologia de alcance preferida pelo dispositivo Responder. O primeiro item da lista tem a maior prioridade.

Em seguida, o dispositivo iniciador envia uma mensagem de configuração de alcance, em que define a configuração para cada tecnologia de alcance que quer usar. Ao receber essa mensagem, o dispositivo de resposta precisa começar a variar para tecnologias aplicáveis usando as configurações fornecidas. O dispositivo de resposta vai enviar uma notificação de resposta de configuração de alcance, que contém os resultados de se cada tecnologia de alcance individual foi iniciada com sucesso. Algumas tecnologias de alcance precisam ser iniciadas no dispositivo iniciador e no dispositivo de resposta para que uma sessão de alcance seja bem-sucedida. Para outras, é necessário que ela seja iniciada apenas no dispositivo iniciador. No entanto, o dispositivo de resposta precisa responder com um resultado de sucesso para essas tecnologias. Saiba mais sobre o comportamento específico da tecnologia de alcance nas seções a seguir.

Quando o dispositivo iniciador estiver pronto para interromper a sessão de Localização precisa, ele enviará uma mensagem de interrupção de alcance ao dispositivo de resposta, indicando quais tecnologias de alcance precisam ser interrompidas. O dispositivo Responder vai responder com uma notificação de resposta de interrupção de alcance, indicando que ele interrompeu o alcance com as tecnologias solicitadas.

No caso de desconexão do canal de comunicação FHNA BLE GATT no meio de uma sessão de localização precisa, mas enquanto algumas das tecnologias de alcance ainda estão funcionando, o dispositivo de resposta vai implementar um mecanismo de tempo limite para garantir que ele não funcione indefinidamente. Os detalhes dependem de cada caso de uso.

O dispositivo de resposta não pode presumir que a ordem das operações será sempre a mesma. Por exemplo, o dispositivo de resposta precisa ser capaz de processar várias operações de solicitação de capacidade de alcance seguidas ou até mesmo uma operação direta de configuração de alcance sem a solicitação de capacidade anterior.

Operações

A Tabela 1 mostra as operações de FHNA definidas neste documento que são necessárias para a Pesquisa precisa. Cada subseção define a mensagem FHNA para cada uma das operações, enquanto o conteúdo do campo Dados adicionais se refere à especificação Intervalo: sequência de mensagens fora da banda e carga.

Tabela 1: Operações

Operação ID dos dados Descrição
Solicitação de capacidade de alcance 0x0A A operação de solicitação de capacidade que será enviada pelo dispositivo iniciador ao dispositivo de resposta. O conteúdo de dados dessa operação vai listar todas as tecnologias de alcance que o iniciador quer conhecer do dispositivo do responder.
Resposta da capacidade de alcance 0x0A Esta é a resposta de notificação para a operação de solicitação de capacidade de alcance. Ele contém informações sobre recursos para cada tecnologia de alcance compatível solicitada pelo iniciador.
Configuração de intervalo 0x0B A operação de configuração de alcance contém as configurações para tecnologias de alcance que o dispositivo iniciador quer usar com o dispositivo de resposta.
Resposta da configuração de intervalo 0x0B Esta é a resposta de notificação para a operação de configuração de intervalo. Ele contém dados sobre se o dispositivo Responder iniciou o alcance com as tecnologias solicitadas com base na configuração fornecida.
RFU 0x0C A operação com esse ID de dados não é usada e está reservada para uso futuro.
Parar medição 0x0D A operação "Stop Ranging" enviada pelo dispositivo iniciador contém informações sobre quais tecnologias de alcance o dispositivo de resposta precisa parar de usar.
Parar resposta de alcance 0x0D Esta é a resposta de notificação para a operação "Stop Ranging". Ele contém dados sobre se a operação de parada para uma tecnologia de alcance específica foi bem-sucedida ou não.

Mensagem de solicitação de capacidade de alcance

A Tabela 2 define a mensagem de solicitação de capacidade de alcance.

Tabela 2: Solicitação de capacidade de alcance

Octet Tipo de dado Descrição Valor
0 uint8 ID dos dados 0x0A - Operação de solicitação de capacidade de alcance
1 uint8 Duração dos dados varia
2 matriz de bytes Chave de autenticação única Os primeiros 8 bytes de HMAC-SHA256(chave da conta, número da versão principal do protocolo || o último nonce lido da característica || ID dos dados || comprimento dos dados || dados adicionais).
10 matriz de bytes Outros dados Mensagem Solicitação de capacidade de alcance, conforme definido na especificação Alcance: sequência de mensagens e payload fora da banda (cabeçalho e payload)

Mensagem de resposta da capacidade de alcance

A Tabela 3 define a mensagem de resposta da capacidade de alcance.

Tabela 3: Resposta da capacidade de alcance

Octet Tipo de dado Descrição Valor
0 uint8 ID dos dados 0x0A: resposta da capacidade de alcance
1 uint8 Duração dos dados varia
2 matriz de bytes Chave de autenticação única Os primeiros 8 bytes de HMAC-SHA256(chave da conta, número da versão principal do protocolo || o último nonce lido da característica || ID dos dados || comprimento dos dados || dados adicionais || 0x01).
10 matriz de bytes Outros dados Mensagem Ranging Capability Response, conforme definido na especificação Ranging: Out-of-band message sequence and payload (cabeçalho e payload)

Mensagem de configuração de alcance

A Tabela 4 define a mensagem de configuração de alcance.

Tabela 4: Configuração de alcance

Octet Tipo de dado Descrição Valor
0 uint8 ID dos dados 0x0B: definir configuração de alcance
1 uint8 Duração dos dados varia
2 matriz de bytes Chave de autenticação única Os primeiros 8 bytes de HMAC-SHA256(chave da conta, número da versão principal do protocolo || o último nonce lido da característica || ID dos dados || comprimento dos dados || dados adicionais).
10 matriz de bytes Outros dados Mensagem Ranging Configuration, conforme definido na especificação Ranging: Out-of-band message sequence and payload (cabeçalho e payload).

Mensagem de resposta da configuração de intervalo

A Tabela 5 define a mensagem de resposta da configuração de alcance.

Tabela 5: Resposta de configuração de alcance

Octet Tipo de dado Descrição Valor
0 uint8 ID dos dados 0x0B: definir resposta de configuração de alcance
1 uint8 Duração dos dados varia
2 matriz de bytes Chave de autenticação única Os primeiros 8 bytes de HMAC-SHA256(chave da conta, número da versão principal do protocolo || o último nonce lido da característica || ID dos dados || comprimento dos dados || dados adicionais || 0x01).
10 matriz de bytes Outros dados Mensagem Ranging Configuration Response, conforme definido na especificação Ranging: Out-of-band message sequence and payload (cabeçalho e payload).

Mensagem de interrupção de alcance

A Tabela 6 define a mensagem "Stop Ranging".

Tabela 6: Stop Ranging

Octet Tipo de dado Descrição Valor
0 uint8 ID dos dados 0x0D: parada de alcance
1 uint8 Duração dos dados varia
2 matriz de bytes Chave de autenticação única Os primeiros 8 bytes de HMAC-SHA256(chave da conta, número da versão principal do protocolo || o último nonce lido da característica || ID dos dados || comprimento dos dados).
10 matriz de bytes Outros dados Mensagem Stop Ranging, conforme definido na especificação Ranging: Out-of-band message sequence and payload (cabeçalho e payload)

Mensagem de resposta de parada de alcance

A Tabela 7 define a mensagem de resposta de interrupção de alcance.

Tabela 7: Parar resposta de alcance

Octet Tipo de dado Descrição Valor
0 uint8 ID dos dados 0x0D: resposta de parada de alcance
1 uint8 Duração dos dados varia
2 matriz de bytes Chave de autenticação única Os primeiros 8 bytes de HMAC-SHA256(chave da conta, número da versão principal do protocolo || o último nonce lido da característica || ID dos dados || comprimento dos dados || dados adicionais || 0x01).
10 matriz de bytes Outros dados Mensagem Stop Ranging Response, conforme definido na especificação Ranging: Out-of-band message sequence and payload (cabeçalho e payload)

Proteção contra rastreamento indesejado

Quando o modo de proteção contra rastreamento indesejado é ativado, conforme descrito na especificação FHNA, o mesmo fluxo que se aplica à ignorar verificações de autenticação para mensagens de toque também se aplica a todas as mensagens da Busca Precisa definidas neste documento para dispositivos que querem oferecer suporte a esse recurso.

Da especificação FHNA:

Se o provedor não for provisionado como um beacon FHNA ou a verificação falhar, ele retornará um erro não autenticado. No entanto, se o provedor tiver uma proteção contra rastreamento indesejada ativa e a solicitação de ativação dessa proteção tiver a flag de autenticação de toque ignorada ativada, o provedor deverá ignorar essa verificação. Os dados de autenticação ainda precisam ser fornecidos pelo Seeker, mas podem ser definidos como um valor arbitrário.

Especificações da tecnologia de alcance

Esta seção contém detalhes específicos da tecnologia de alcance.

Especificações da banda ultralarga (UWB)

Detalhes específicos da UWB.

Nível de descoberta de precisão

As sessões de pesquisa de precisão que usam UWB como tecnologia de alcance podem esperar informações de distância e direção. O intervalo precisa ser de pelo menos 240 ms, sendo 96 ms o ideal para uma orientação otimizada.

IDs de configuração

Os dados de configuração fora da banda trocados para UWB não contêm um conjunto completo de parâmetros configuráveis disponíveis que a UWB exige para iniciar uma sessão de intervalo de UWB. Alguns parâmetros são selecionados implicitamente pelo ID de configuração escolhido.

Cada ID de configuração é um conjunto de parâmetros de configuração UWB predefinidos que são documentados publicamente. Para o caso de uso da Localização precisa, o dispositivo de resposta precisa ser compatível com o ID de configuração 6 e, opcionalmente, com o ID de configuração 3.

Iniciador e respondente de UWB

Para o caso de uso da Localização precisa, o dispositivo indicado como "Iniciador" neste documento será o respondedor UWB, e o dispositivo indicado como "Respondente" será o iniciador UWB. Isso acontece porque o dispositivo iniciador de UWB consome menos energia do que o dispositivo de resposta de UWB, e na maioria dos casos, o dispositivo de resposta é um periférico com bateria limitada.

Isso significa que o dispositivo Responder precisa indicar que é compatível com a função de iniciador de UWB na mensagem de resposta de capacidade de alcance.

  • O canal 9 precisa ser compatível
  • Para uma orientação ideal, é recomendado um intervalo de alcance de 96 ms. Caso contrário, é necessário oferecer suporte a 240 ms.
  • A duração de slot de 1 ms é recomendada para economizar bateria, mas 2 ms também são compatíveis.
  • O chip UWB precisa ser compatível com FIRA v1.2 + P-STS, no mínimo.
  • O BPRF é obrigatório, e o HPRF é recomendado, mas opcional. O modo compatível ou selecionado é determinado pelo índice de preâmbulo compatível ou selecionado.
  • Tipo de segurança da sessão: P-STS

Especificidades da sondagem de canal (CS) BLE

Detalhes específicos do BLE CS.

Nível de descoberta de precisão

As sessões do Encontrar com Precisão que usam CS como tecnologia de alcance causam medições apenas de distância. A direcionalidade não é fornecida no momento.

Conexão necessária entre dispositivos

As sessões de Localização precisa que usam a sondagem de canal não funcionam se os dispositivos não estiverem pareados. É necessário ter uma vinculação entre o dispositivo iniciador e o de resposta. Essa especificação não oferece uma maneira de criar uma conexão entre os dispositivos. Em vez disso, cabe ao desenvolvedor do caso de uso estabelecer essa conexão entre os dispositivos.

Ação necessária do lado do respondente para CS

Ao contrário da UWB, em que os dois dispositivos precisam chamar explicitamente as APIs de início e fim de alcance da UWB, na CS, apenas o dispositivo iniciador precisa iniciar o alcance da CS chamando a pilha Bluetooth. O restante da inicialização no lado do responder acontece na banda usando Bluetooth (BT). Isso significa que, ao receber a mensagem de configuração de alcance ou a mensagem de interrupção de alcance para CS, o lado do responder não precisa fazer nada se o BT estiver ativado, a não ser responder com a notificação de mensagem de resposta de configuração de alcance. O dispositivo de resposta pode usar essas mensagens como um gatilho para atualizar a interface em que uma tela está presente ou, independentemente de ter uma tela, pode ser usado para feedback visual sobre o estado dos dispositivos, por exemplo, piscando os LEDs do dispositivo.

RTT NAN Wi-Fi

Detalhes específicos do RTT NAN de Wi-Fi.

Nível de descoberta de precisão

As sessões de Localização precisa que usam RTT NAN de Wi-Fi como tecnologia de alcance causam apenas medições de distância. No momento, não é possível informar a direção.

RSSI BLE

Detalhes específicos do RSSI BLE.

Nível de descoberta de precisão

As sessões de Localização precisa que usam apenas o RSSI do BLE como tecnologia de alcance não conseguem obter informações de distância ou direção, porque o RSSI do BLE não é uma tecnologia de alcance precisa. Em vez disso, o usuário vai receber uma orientação indicando que o dispositivo está perto ou longe.