O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

RTT Wi-Fi (IEEE 802.11mc)

O Wi-Fi Round Trip Time (RTT) recurso no Android 9 permite suporte a dispositivos para medir a distância para outros dispositivos que suportam: se são pontos de acesso (APs) ou pares Aware Wi-Fi (se Wi-Fi Consciente é suportado no dispositivo). Este recurso, construído com base no protocolo IEEE 802.11mc, permite que os aplicativos usem precisão e reconhecimento de localização aprimorados.

Exemplos e fonte

Para usar este recurso, implemente o Wi-Fi Hardware Interface Design Language (HIDL) fornecido no Android Open Source Project (AOSP). No Android 8.0, o HIDL substitui a estrutura anterior do Hardware Abstraction Layer (HAL) usada para agilizar as implementações especificando tipos e chamadas de método coletadas em interfaces e pacotes.

Siga o Wi-Fi HIDL empregar o recurso Wi-Fi RTT: hardware/interfaces/wifi/1.0 ou posterior.

Você pode consultar o legado Wi-Fi HAL para ver como ele se relaciona com a nova interface HIDL: hardware / libhardware_legacy / + / master / include / hardware_legacy / rtt.h .

Implementação

Para implementar RTT Wi-Fi, você deve fornecer suporte de estrutura e HAL / firmware:

  • Estrutura:

    • Código AOSP
    • Ativar Wi-Fi RTT: requer um sinalizador de recurso
  • Suporte para HAL Wi-Fi RTT (IEEE 802.11mc) (o que implica suporte de firmware)

Para implementar este recurso, implemente o HIDL Wi-Fi e habilite o sinalizador de recurso:

  • Em device.mk localizado no device/<oem>/<device> , modificar o PRODUCT_COPY_FILES variável de ambiente para incluir suporte para o recurso Wi-Fi 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 é necessário para este recurso está incluído no AOSP.

Randomização MAC

Para aumentar a privacidade, o endereço MAC usado durante as transações Wi-Fi RTT deve ser randomizado, ou seja, não deve corresponder ao endereço MAC nativo da interface Wi-Fi. No entanto, como exceção, quando um dispositivo está associado a um AP, ele pode usar o endereço MAC com o qual está associado para quaisquer transações RTT com aquele AP ou com outros APs.

Validação

Existem testes do Android Compatibility Test Suite (CTS) para este recurso. O CTS detecta quando o recurso está habilitado e inclui automaticamente os testes associados. Esse recurso também pode ser testado usando o Vendor Test Suite (VTS) e atua SL4A / , um conjunto de testes que condutas extensos testes de integração.

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 de gerente:

atest android.net.wifi.rtt

Testes de integração (ACTS)

O conjunto de testes atos / SL4A, descrito em /tools/test/connectivity/acts/tests/google/wifi/rtt/README.md , fornece ensaios funcionais, de desempenho, e de stress.

CTS

Existem testes do Android Compatibility Test Suite (CTS) para este recurso. O CTS detecta quando o recurso está habilitado e inclui automaticamente os testes associados. Um ponto de acesso que suporte Wi-Fi RTT (IEEE 802.11mc) deve estar dentro do alcance do dispositivo em teste.

Os testes CTS podem ser acionados usando:

atest WifiRttTest

Calibração

Para que o Wi-Fi RTT tenha um bom desempenho, os intervalos retornados no protocolo 802.11mc são idealmente precisos no Indicador de desempenho chave (KPI). Para o erro de CDF de 90%, nas larguras de banda listadas, o KPI recomendado para uma estimativa de intervalo deve ter as seguintes tolerâncias:

  • 80 MHz: 2 metros
  • 40 MHz: 4 metros
  • 20 MHz: 8 metros

Para garantir que a implementação do recurso esteja funcionando corretamente, o teste de calibração é necessário.

Isso pode ser obtido comparando-se um intervalo de verdade com o intervalo estimado do RTT em distâncias crescentes. Para conformidade básica, você deve validar sua solução em relação a um dispositivo conhecido por ser calibrado por RTT. A calibração da faixa deve ser testada nas seguintes condições:

  1. Um grande laboratório aberto ou um corredor que não tenha muitos objetos de metal que podem resultar em ocorrências excepcionalmente altas de múltiplos caminhos.
  2. Pelo menos uma trilha / caminho de linha de visão (LOS) com extensão de 25 m.
  3. Marcadores de incrementos de 0,5 metros de uma extremidade à outra da pista.
  4. Um lugar para proteger um ponto de acesso compatível com RTT em uma extremidade da trilha montada 20 cm acima do chão e um suporte móvel para um telefone Android (ou outro dispositivo móvel Android em teste) que pode ser movido ao longo da trilha e alinhado com o Marcadores de 0,5m, também a 20cm do chão. Nota: Esta tarefa repetitiva pode ser executada por um pequeno robô, mas um operador humano também serve.
  5. 50 resultados de variação devem ser registrados em cada marcador, junto com a distância do ponto de acesso. Estatísticas, como média de intervalo e variância, devem ser calculadas para cada posição do marcador.

A partir dos resultados na etapa 5, um gráfico pode ser desenhado para a verdade básica (eixo x) em relação ao intervalo estimado (eixo y) e uma linha de regressão de melhor ajuste estimada. A calibração ideal do dispositivo resultará em uma linha de gradiente 1,0, com deslocamento de 0,0m no eixo y. 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 recalibrado para trazer os resultados dentro da especificação do KPI.