A Tempo de retorno (RTT) do Wi-Fi do Android 9 permite que os dispositivos com suporte a medir uma distância até outros dispositivos de suporte (se são pontos de acesso) (APs) ou pontos com Wi-Fi Aware (se Wi-Fi Aware tem suporte no dispositivo). Esse recurso, baseado no padrão IEEE 802.11mc, e o protocolo IEEE 802.11az (disponível no Android 15), permite que os apps usem o reconhecimento e a precisão de local aprimorados.
Exemplos e origem
Para usar esse recurso, implemente a interface HAL do fornecedor. No Android 14 e versões mais recentes, a interface HAL do fornecedor é definida usando AIDL. No Android 13 e versões anteriores, a interface HAL do fornecedor é definida usando HIDL. No Android 8.0, o HIDL substituiu a estrutura anterior de HAL (Camada de abstração de hardware) usada para simplificar as implementações especificando tipos e chamadas de método coletados em interfaces e pacotes do Google Cloud.
Siga a interface do Wi-Fi para utilizar o recurso Wi-Fi RTT. Dependendo da interface implementada, isso pode ser:
- AIDL:
hardware/interfaces/wifi/aidl
- HIDL:
hardware/interfaces/wifi/1.0
ou mais recente.
Você pode consultar a HAL de Wi-Fi legada para ver como ela se relaciona com o Interfaces AIDL e HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h no dispositivo.
Implementação
Para implementar o Wi-Fi RTT, é necessário fornecer a estrutura e a HAL/firmware suporte:
Estrutura:
- Código AOSP
- Ativar Wi-Fi RTT: exige uma sinalização de recurso
Suporte a HAL para Wi-Fi RTT (IEEE 802.11mc ou IEEE 802.11az) suporte a firmware)
Para implementar esse recurso, implemente a interface Wi-Fi AIDL ou HIDL e ative a flag de recurso:
No
device.mk
localizado emdevice/<oem>/<device>
, modifique o Variável de ambientePRODUCT_COPY_FILES
para incluir suporte ao Wi-Fi Recurso RTT:PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml
Caso contrário, tudo o que for necessário para esse recurso será incluído no AOSP.
Ordem aleatória de MAC
Para aumentar a privacidade, o endereço MAC usado durante transações Wi-Fi RTT precisa ser randomizado, ou seja, não deve corresponder ao endereço MAC nativo da rede Wi-Fi interface gráfica do usuário. No entanto, como exceção, quando um dispositivo está associado a um AP, ele pode usar o endereço MAC associado a ele para qualquer transação RTT com esse ou outros APs.
Validação
Existem testes do conjunto de teste de compatibilidade (CTS) do Android para esse recurso. O CTS detecta quando o recurso está ativado e inclui automaticamente os testes associados. Esse recurso também pode ser testado usando o Pacote de testes de fornecedor (VTS, na sigla em inglês).
Testes de unidade
Os testes do pacote Wi-Fi RTT são executados usando:
Testes de serviço:
atest com.android.server.wifi.rtt
Testes do gerenciador:
atest android.net.wifi.rtt
CTS
Existem testes do conjunto de teste de compatibilidade (CTS) do Android para esse recurso. O CTS detecta quando o recurso está ativado e inclui automaticamente os testes associados. Um O ponto de acesso compatível com Wi-Fi RTT (IEEE 802.11mc) deve estar dentro do alcance de o dispositivo em teste.
Os testes de CTS podem ser acionados usando:
atest WifiRttTest
Calibração
Para que o Wi-Fi RTT tenha um bom desempenho, os intervalos retornados em 802.11mc ou 802.11az e protocolos devem ser precisos dentro dos indicadores principais de desempenho (KPIs) descritos nesta seção.
Para o protocolo 11mc, nas larguras de banda listadas (80 MHz, 40 MHz, 20 MHz) e um tamanho de burst de 8, espera-se que o KPI para uma estimativa de intervalo seja alcance a seguinte acurácia no 90o percentil de erro.
- 80 MHz: 2 metros
- 40 MHz: 4 metros
- 20 MHz: 8 metros
Para o protocolo 11az, a configuração MIMO da antena e o treinamento longo repetição de campo (LTF) afeta a precisão. Com um celular comum (usando dois antenas) e um ponto de acesso (quatro antenas), o sistema tem configuração do Terraform. Para essa configuração, usar um fator de repetição LTF de dois e nas larguras de banda listadas (160 MHz, 80 MHz, 40 MHz, 20 MHz), espera-se que o KPI de uma estimativa de intervalo alcance o seguinte e a acurácia está no 90o percentil do erro.
- 160 MHz: 0,5 metros
- 80 MHz: 1 metro
- 40 MHz: 2 metros
- 20 MHz: 4 metros
Para garantir que a implementação do recurso funcione corretamente, a calibração teste é necessário.
Para isso, compare um intervalo de informações empíricas com o RTT estimado em distâncias crescentes. Para conformidade básica, você deve validar seu solução em um dispositivo conhecido por ser calibrado de RTT. A calibração do intervalo deve ser testado sob as seguintes condições:
- Um grande laboratório aberto ou um corredor que não tenha muito material metálico objetos que podem resultar em ocorrências incomuns de vários caminhos.
- Pelo menos uma trilha ou caminho com linha de visão (LOS, na sigla em inglês) com extensão de 25 m.
- Marcadores de incrementos de 0,5 metro de uma extremidade à outra da pista.
Um local para proteger um ponto de acesso compatível com RTT em uma extremidade da faixa instalado 20 cm acima do chão e um suporte móvel para um smartphone Android (ou outro dispositivo móvel Android em teste) que possa ser movido junto com a e alinhado aos marcadores de 0, 5 m, também a 20 cm acima chão.
Registre 50 resultados de alcance em cada marcador, junto com o distância do ponto de acesso. estatísticas, como média e variância do intervalo; deve ser calculada para cada posição do marcador.
Com base nos resultados da etapa 5, um gráfico pode ser desenhado para informações empíricas (eixo X) em relação ao intervalo estimado (eixo Y) e à linha de regressão de melhor ajuste estimada. Ideal calibração do dispositivo vai resultar em uma linha de gradiente 1,0, com deslocamento de 0,0 m ativado no eixo Y. Os desvios desses valores são aceitáveis se estiverem dentro do KPI para a largura de banda correspondente. Se os resultados estiverem fora do KPI, o recurso do dispositivo deve ser reajustado para trazer os resultados para o KPI. especificação.