O Android 16 lançou o módulo de alcance. Essa especificação de protocolo e payload define a sequência de mensagens e o payload da comunicação fora de banda (OOB) usada para trocar configurações de alcance e iniciar e interromper o alcance entre o iniciador e o dispositivo de resposta que participam do alcance. O Android 17 apresenta a versão 3 dessa especificação.
Esta página descreve como provedores de dispositivos que não são Android podem implementar essa especificação para que os dispositivos sejam compatíveis com dispositivos Android.
Uma implementação dessa especificação na Linguagem de descrição de pacotes (PDL) do Google está disponível no GitHub. Com essa implementação, o compilador da PDL pode gerar código de serialização e desserialização para as mensagens definidas nessa especificação. Essa especificação é compatível com várias linguagens de destino, incluindo C++, Rust e Java.
Novidades da versão 3
A versão 3 da especificação OOB apresenta as seguintes mudanças:
- Notificação de movimento:uma mensagem que o dispositivo do anunciante usa para notificar o dispositivo iniciador sobre uma mudança de movimento.
- Configuração de intervalo:inclui um novo campo
Motion supportpara informar ao iniciador que notifique o respondente sobre qualquer mudança no movimento periférico do respondente. - Adicione suporte a novas tecnologias de PD Wi-Fi em Capacidade de alcance e Configuração de alcance.
- Descontinuar os campos
Supported BandwidtheSupported number of Receive chainsemWi-Fi NAN RTT Ranging Capability.
Endianness
A menos que especificado de outra forma, todos os campos numéricos de vários bytes nas mensagens estão em ordem little-endian.
Mensagens e sequência de mensagens
Nesta seção, descrevemos as mensagens e a sequência da troca de mensagens.
A tabela a seguir mostra todas as mensagens presentes na troca OOB:
| Mensagem | ID da mensagem |
|---|---|
Ranging Capability Request |
0x0 |
Ranging Capability Response |
0x1 |
Ranging Configuration |
0x2 |
Ranging Configuration Response (opcional) |
0x3 |
Stop Ranging |
0x6 |
Stop Ranging Response (opcional) |
0x7 |
Motion Notification |
0x8 |
A troca de mensagens começa com o dispositivo iniciador enviando Ranging
Capability Request para o dispositivo de resposta. O dispositivo do atendente responde enviando Ranging Capability Response, conforme mostrado na Figura 1:
Figura 1. Troca de mensagens fora de banda usando um canal de comunicação baseado em conexão.
O dispositivo de resposta começa a variar imediatamente após receber a mensagem Ranging
Configuration. O dispositivo respondente para de medir o alcance depois de receber ou
detectar a mensagem Stop Ranging.
O dispositivo de resposta preenche as funcionalidades
apenas das tecnologias de alcance solicitadas na mensagem
Ranging Capability Request.
O dispositivo iniciador espera receber apenas uma resposta para qualquer mensagem de solicitação
que ele envia. O dispositivo de resposta não pode fazer essas suposições para responder a qualquer solicitação em qualquer ordem. Isso verifica se o dispositivo de resposta pode
responder a várias mensagens Ranging Capability Request consecutivas ou a qualquer
outra mensagem fora de ordem do dispositivo iniciador.
Transição tecnológica
A versão OOB permite que os dispositivos façam a transição dinâmica entre diferentes tecnologias de alcance durante uma sessão. Para facilitar isso, o iniciador pode:
- Envie várias mensagens
Ranging Configurationpara iniciar novas tecnologias. - Envie várias mensagens
Stop Rangingpara interromper as tecnologias ativas.
A ordem dessas mensagens varia de acordo com o esquema de transição compatível com o responder:
- Interromper antes de criar:o iniciador só pode fazer a transição para uma nova tecnologia
interrompendo a primeira com uma mensagem
Stop Rangingantes de iniciar a segunda com uma mensagemRanging Configuration. - Make-before-break:o iniciador pode começar a usar uma nova tecnologia com uma mensagem
Ranging Configurationantes de interromper as tecnologias atuais com uma mensagemStop Ranging.
O responder precisa implementar o suporte a um desses esquemas de transição de acordo com o valor do campo supported technology transitioning no Ranging Capability Response.
IDs de tecnologia de alcance
Os IDs das tecnologias de alcance estão listados na tabela a seguir:
| Tecnologia de alcance | ID |
|---|---|
| UWB | 0x0 |
| CS | 0x1 |
| RTT do NAN Wi-Fi | 0x2 |
| RSSI | 0x3 |
| Wi-Fi PD | 0x4 |
| RFU | 0x5 - 0xFF |
Esses IDs são usados nas tabelas desta página quando o ID da tecnologia de alcance é necessário. Para campos que contêm um bitfield de tecnologia de alcance, um bit correspondente ao índice do ID da tecnologia é definido quando essa tecnologia é incluída no bitfield.
Por exemplo, o RSSI tem um valor de ID 3, mas se ele for incluído no campo de bits da tecnologia de alcance, o bit com a posição do ID (3) precisará ser ativado (o primeiro bit está na posição 0), o que torna o valor resultante do campo de bits 0x8. Se UWB e RSSI estiverem incluídos, o valor do campo de bits será 0x0A (bits 0 e 3 ativados).
Formato de mensagem
Cada mensagem consiste em um cabeçalho e um payload.
Figura 3. Formato da mensagem.
Cabeçalho
Tamanho:2 bytes
Descrição:comum a todas as mensagens, o cabeçalho é a primeira parte que entra em uma mensagem. O cabeçalho contém uma versão e o ID do tipo de mensagem. O campo "version" especifica a versão da especificação a que o conteúdo da mensagem está em conformidade. Para mais informações sobre como o controle de versões é usado entre dispositivos em versões diferentes, consulte Controle de versões. O cabeçalho permanece compatível com versões anteriores em diferentes versões, o que significa que o caso de uso sempre pode analisá-lo para determinar a versão e o ID da mensagem.
O cabeçalho está resumido na tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | Versão |
|
| 1 | uint8 | ID da mensagem |
|
Payload
Tamanho:varia (depende do tipo de mensagem)
Descrição:o payload é a última parte da mensagem, depois do cabeçalho. O payload depende do tipo da mensagem. O formato do payload de cada tipo de mensagem individual é definido nas seções a seguir.
Payload da mensagem de solicitação de capacidade de alcance
Tamanho (tamanho do cabeçalho não incluído): 2 bytes
Descrição:enviado pelo dispositivo iniciador para iniciar a troca de mensagens.
O payload da mensagem Ranging Capability Request está resumido na tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8*2 | Bitmask das tecnologias de alcance solicitadas |
|
Payload da mensagem de resposta da capacidade de alcance
Tamanho (tamanho do cabeçalho não incluído): varia (parte comum de 2 bytes mais o tamanho de cada byte de tecnologia de alcance incluído).
Descrição:enviada pelo participante como resposta a uma mensagem Ranging Capability
Request. O payload da mensagem consiste na parte comum e em partes específicas da tecnologia de alcance (BLE CS, Wi-Fi NAN RTT, BLE RSSI), conforme mostrado nas tabelas a seguir. Cada parte específica da tecnologia de alcance só precisa ser adicionada se o dispositivo de resposta for compatível com ela e se ela for solicitada na mensagem Ranging Capability Request.
O payload de mensagem Ranging Capability Response comum é resumido na tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8*2 | Bitmask de tecnologias de alcance compatíveis. Indica o conjunto de recursos de tecnologias de alcance que seguem no restante do payload. |
|
| 2 | matriz de bytes | Bytes de capacidade de tecnologia de intervalo. | Blocos repetidos de structs definidos por tecnologia. |
| Varia | uint8 | Indica suporte para transição de tecnologia. |
|
| Varia | uint16 | Indica o tipo do dispositivo de resposta. |
|
O payload da mensagem UWB Ranging Capability Response está resumido na
tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | ID da tecnologia de alcance | 0x0: UWB |
| 1 | uint8 | Tamanho | Tamanho dos bytes de recursos de UWB (incluindo os campos ID da tecnologia e Tamanho) em bytes. |
| 2 | uint8*2 | Endereço UWB | Endereço UWB do dispositivo de 2 bytes. |
| 4 | uint8*4 | Bitmask de canais aceitos | Bitfield de canais compatíveis. O bit definido como 0 indica que não há suporte, e 1 indica que há suporte. O bit 0 corresponde ao canal 0.LSB == channel 0MSB == channel 31 |
| 8 | uint8*4 | Bitfield de índice de pré-âmbulo compatível | Bitfield de índices de preâmbulo compatíveis. O bit definido como 0 indica que não há suporte, e 1 indica que há suporte. O bit 0 corresponde ao índice de pré-âmbulo 1.LSB == preamble index 1MSB == preamble index 32 |
| 12 | uint8*4 | Bitmask de IDs de configuração compatíveis | Bitfield de IDs de configuração compatíveis com UWB. O bit definido como 0 indica indisponível, e 1 indica que há suporte.LSB == config Id 0MSB == config Id 31 |
| 16 | uint8*2 | Intervalo mínimo de alcance compatível | Indica o intervalo de alcance mais rápido compatível em milissegundos. Valores permitidos (em ms):
|
| 18 | uint8 | Duração mínima do intervalo aceita | Indica a menor duração de slot compatível em milissegundos. Por exemplo, se o dispositivo retornar 1 ms, presume-se que ele também seja compatível com durações de slot de 2 ms ou mais. Valores permitidos (em ms):
|
| 19 | uint8 | Bitfield de função de dispositivo UWB compatível | Campo de bits das funções de UWB compatíveis. Por exemplo, se ambos forem compatíveis, o valor do campo final será 0x3.
|
O payload da mensagem BLE CS Ranging Capability Response está resumido na
tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | ID da tecnologia de alcance | 0x1: BLE CS |
| 1 | uint8 | Tamanho | Tamanho dos bytes de recursos de CS BLE (incluindo os campos ID da tecnologia e Tamanho) em bytes. |
| 2 | uint8 | Bitmask de tipo de segurança compatível | Campo de bits dos tipos de segurança compatíveis com o BLE CS.
|
| 3 | uint8*6 | Endereço do dispositivo | O endereço do dispositivo usado para BLE CS, em ordem big-endian. |
O payload da mensagem RTT do Wi-Fi NAN Ranging Capability Response está resumido na tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | ID da tecnologia de alcance | 0x2: Wi-Fi NAN RTT |
| 1 | uint8 | Tamanho | Tamanho dos bytes de recursos de RTT do Wi-Fi NAN (incluindo os campos ID da tecnologia e Tamanho) em bytes. |
| 2 | uint8 | Bitmask de recursos compatíveis | Campo de bits de recursos compatíveis.
|
| 3 | uint8 | Aceita intervalos periódicos |
|
| 4 | uint8 | Largura de banda compatível | DESCONTINUADO:essas informações ajudam a derivar a precisão de alcance possível usando o NAN Wi-Fi e podem ajudar os apps a determinar se devem usar UWB, BLE CS, BLE RSSI ou NAN Wi-Fi para alcance.
|
| 5 | uint8 | Número compatível de cadeias de recebimento | DESCONTINUADO:essas informações ajudam a derivar a precisão de alcance possível usando o NAN Wi-Fi e podem ajudar os apps a determinar se devem usar UWB, BLE CS, BLE RSSI ou NAN Wi-Fi para alcance.
|
O payload da mensagem BLE RSSI Ranging Capability Response está resumido na
tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | ID da tecnologia de alcance | 0x3: BLE RSSI |
| 1 | uint8 | Tamanho | O tamanho dos bytes de recursos de RSSI BLE (incluindo os campos ID da tecnologia e Tamanho) em bytes. |
| 2 | uint8*6 | Endereço do dispositivo | O endereço do dispositivo usado para RSSI BLE, em ordem big-endian. |
O payload da mensagem de PD do Wi-Fi Ranging Capability Response está resumido na
tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | ID da tecnologia de alcance | 0x4: Wi-Fi PD |
| 1 | uint8 | Tamanho | O tamanho dos bytes de recursos de PD Wi-Fi (incluindo os campos ID da tecnologia e Tamanho) em bytes. |
| 2 | uint8 | Recursos compatíveis | Bitmap
|
| 3 | uint8 | Modo PASN | Bitmap
|
| 4 | uint8*6 | Endereço do dispositivo | O endereço do dispositivo usado para PD Wi-Fi, em ordem big-endian. |
| 10 | uint8*2 | Intervalo mínimo de alcance 802.11mc | Intervalo mínimo de alcance compatível no formato big-endian para 11mc |
| 12 | uint8*2 | Intervalo mínimo de alcance 802.11az | Intervalo mínimo de alcance compatível no formato big-endian para 11az |
| 14 | uint8 | Tipo de pré-âmbulo máximo |
Isso pressupõe que todos os tipos de preâmbulo mais baixos são compatíveis. |
| 15 | uint8 | Largura máxima do canal |
Isso pressupõe que todas as larguras de banda menores são aceitas. |
| 16 | uint8*2 | Frequência de canais aceitos |
|
Payload da mensagem de configuração de alcance
Tamanho (tamanho do cabeçalho não incluído): varia (parte comum de 4 bytes mais o tamanho de cada byte de tecnologia de alcance incluído).
Descrição:essa mensagem é enviada pelo iniciador e contém as configurações que cada tecnologia de alcance pode usar para iniciar o alcance. O dispositivo de resposta precisa tentar iniciar a estimativa de alcance com cada tecnologia indicada ao receber essa mensagem. O payload da mensagem consiste na parte comum e em partes específicas da tecnologia de alcance (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI), conforme mostrado nas tabelas a seguir.
O payload de mensagem Ranging Configuration comum é resumido na tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8*2 | Bitfield do conjunto de configuração de tecnologias de alcance | Bitfield de tecnologias de alcance para as quais esta mensagem contém dados de configuração e para as quais os parâmetros de configuração precisam ser definidos.
|
| 2 | uint8*2 | Bitfield | RFU. Precisa ser definido com o mesmo valor do campo Bitfield do conjunto de configuração de tecnologias de alcance. |
| 4 | matriz de bytes | Bytes de configurações de tecnologias de intervalo | Blocos repetidos de structs definidos por tecnologia |
| Varia | uint8 | Suporte a movimento | Motion Notification solicitou
|
O payload da mensagem UWB Ranging Configuration está resumido na tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | ID da tecnologia de alcance | 0x0: UWB |
| 1 | uint8 | Tamanho | Tamanho da configuração UWB (incluindo os campos ID da tecnologia e Tamanho) em bytes |
| 2 | uint8*2 | Endereço UWB | Endereço UWB do dispositivo de 2 bytes |
| 4 | uint8*4 | ID da sessão | ID da sessão gerado. O ID da sessão é um identificador exclusivo para a sessão de alcance entre o smartphone e o dispositivo periférico. |
| 8 | uint8 | ID da configuração selecionada | Número do ID da configuração selecionado em número inteiro. O ID de configuração especifica os parâmetros de tempo e o tipo de segurança que deve ser usado na sessão de alcance UWB. |
| 9 | uint8 | Canal selecionado | Canal selecionado para a sessão de alcance UWB |
| 10 | uint8 | Índice do preâmbulo selecionado | Índice de pré-âmbulo selecionado para a sessão de alcance UWB |
| 11 | uint8*2 | Intervalo de variação selecionado | Taxa de intervalo de variação selecionada em milissegundos. Valores permitidos (em ms):
|
| 13 | uint8 | Duração do horário selecionado | Duração do slot selecionado em milissegundos. Valores permitidos (em ms):
|
| 14 | uint8 | Duração da chave de sessão | Comprimento da chave de sessão em bytes |
| 15 | matriz de bytes | Chave de sessão | Chave de sessão. Se o S-STS for usado, os dois primeiros bytes serão o ID do VENDEDOR, e os seis bytes seguintes serão o IV do STS estático. Se o P-STS for usado, será uma chave de sessão de 16 ou 32 bytes. O tipo de segurança usado é determinado pelo ID da configuração. |
| varia | uint8*2 | Código do país | Código do país ISO 3166-1 alfa-2, representado por dois caracteres ASCII. |
| varia | uint8 | Função do dispositivo selecionado |
|
| varia | uint8 | Modo do dispositivo selecionado |
|
O payload da mensagem BLE CS Ranging Configuration está resumido na
tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | ID da tecnologia de alcance | 0x1: BLE CS |
| 1 | uint8 | Tamanho | Tamanho da configuração do BLE CS (incluindo os campos ID da tecnologia e Tamanho) em bytes. |
| 2 | uint8 | Tipo de segurança selecionado | Tipo de segurança selecionado. Valores permitidos:
|
| 3 | uint8*6 | Endereço do dispositivo | O endereço do dispositivo usado para BLE CS, em ordem big-endian. |
O payload da mensagem de RTT do Wi-Fi NAN Ranging Configuration está resumido na
tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | ID da tecnologia de alcance | 0x2: Wi-Fi NAN RTT |
| 1 | uint8 | Tamanho | Tamanho da configuração de RTT do Wi-Fi NAN (incluindo os campos ID da tecnologia e Tamanho) em bytes. |
| 2 | uint8 | Tamanho do nome do serviço | Tamanho do campo "Nome do serviço" em bytes. Consulte a especificação do Wi-Fi Aware v4.0, seção 1.3.3, Tabela 1. Definições. |
| 3 | matriz de bytes | Nome do serviço | Nome do serviço. Consulte a especificação do Wi-Fi Aware v4.0, seção 1.3.3, Tabela 1. Definições. |
| varia | uint8 | Função do dispositivo |
|
| varia | uint8 | Usar intervalos periódicos |
|
O payload da mensagem BLE RSSI Ranging Configuration está resumido na
tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | ID da tecnologia de alcance | 0x3: BLE RSSI |
| 1 | uint8 | Tamanho | Tamanho da configuração de RSSI BLE (incluindo os campos ID da tecnologia e Tamanho) em bytes |
| 2 | uint8*6 | Endereço do dispositivo | O endereço do dispositivo usado para RSSI BLE, em ordem big-endian. |
O payload da mensagem de PD do Wi-Fi Ranging Configuration está resumido na
tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | ID da tecnologia de alcance | 0x4: Wi-Fi PD |
| 1 | uint8 | Tamanho | Tamanho da configuração de PD do Wi-Fi (incluindo os campos ID da tecnologia e Tamanho) em bytes |
| 2 | uint8 | Recurso |
|
| 3 | uint8*6 | Endereço MAC | Endereço MAC do iniciador |
| 9 | uint8*2 | Intervalo de alcance | Intervalo de alcance em ms |
| 11 | uint8 | Pré-âmbulo selecionado |
|
| 12 | uint8 | Largura do canal selecionado |
|
| 13 | uint8 | Canal selecionado |
|
| 14 | uint8 | Modo PASN selecionado |
|
| 15 | matriz de bytes | Chave de identificador do dispositivo | Matriz fixa de 16 bytes Observação:esse campo é válido apenas para o modo PASN autenticado e não pode ser definido para o modo PASN não autenticado. |
| 31 | uint8 | Tamanho da senha | Tamanho da senha. Observação:esse campo é válido apenas para o modo PASN autenticado e não pode ser definido para o modo PASN não autenticado. |
| varia | matriz de bytes | Senha | Senha como matriz de bytes.
Observação:esse campo é válido apenas para o modo PASN autenticado e não pode ser definido para o modo PASN não autenticado. |
Payload da mensagem de resposta da configuração de intervalo
Tamanho (tamanho do cabeçalho não incluído): 2 bytes
Descrição:essa mensagem é enviada pelo participante como resposta à mensagem
Ranging Configuration. Essa mensagem é opcional e só é necessária quando o canal de comunicação usado exige uma resposta explícita para cada solicitação.
O payload da mensagem Ranging Configuration Response está resumido na
tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8*2 | Bitfield de configuração de tecnologias de alcance definido com sucesso. | Bitfield de tecnologias de alcance que foram definidas com sucesso. O campo de bits define o bit da tecnologia de alcance como 1 se a tecnologia foi solicitada e definida com sucesso. Caso contrário, ele é definido como 0.
|
Payload da mensagem de interrupção de alcance
Tamanho (tamanho do cabeçalho não incluído): 2 bytes
Descrição:essa mensagem é enviada pelo dispositivo iniciador quando é hora de parar o alcance com a tecnologia especificada.
O payload da mensagem Stop Ranging está resumido na tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8*2 | Tecnologias de intervalo para parar o bitfield | Bitfield de tecnologias de alcance que precisam parar de medir. O bit definido como 1 indica que a tecnologia de alcance precisa parar de medir, e 0 indica que ela não estava medindo ou que precisa continuar medindo se já estava fazendo isso. Para algumas tecnologias de alcance (como CS), isso não faz nada porque o alcance é iniciado e interrompido apenas no lado do iniciador.
|
Payload da mensagem de resposta de interrupção de alcance
Tamanho (tamanho do cabeçalho não incluído): 2 bytes
Descrição:essa mensagem é enviada pelo participante como resposta à mensagem
Stop Ranging. Essa mensagem é opcional e só é necessária quando o canal de comunicação usado exige uma resposta explícita para cada solicitação.
O payload da mensagem Stop Ranging Response está resumido na tabela a seguir:
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8*2 | Bitmask de tecnologias de alcance interrompidas | Bitfield de tecnologias de alcance que pararam de funcionar. O campo de bits define o bit da tecnologia de alcance como 1 se a tecnologia foi solicitada para ser interrompida e se ela foi interrompida com êxito. Caso contrário, é 0.
|
Payload da mensagem de notificação de movimento
Tamanho (tamanho do cabeçalho não incluído): 1 byte
Descrição:o dispositivo de resposta envia essa mensagem para informar o dispositivo iniciador sobre mudanças no status de movimento.
| Octet | Tipo de dado | Descrição | Valor |
|---|---|---|---|
| 0 | uint8 | Movimento |
|
Controle de versões
A versão da especificação está no cabeçalho de cada mensagem.
Esta seção define como a comunicação é realizada quando um dos dispositivos (o iniciador ou o respondedor) está em uma versão mais antiga do que o outro. Ranging Capability Request é a primeira mensagem enviada pelo dispositivo
iniciador.
O iniciador é compatível com uma versão mais recente, e o destinatário é compatível com uma versão mais antiga da especificação.
O dispositivo iniciador envia a mensagem Ranging Capability Request com a versão mais recente. O dispositivo de resposta só é compatível com a versão mais antiga. Portanto, ele responde com essa versão, que é usada para o restante da troca de mensagens. Isso significa que a mensagem Ranging Capability Request precisa ser compatível com versões anteriores.
O iniciador é compatível com uma versão mais antiga, e o destinatário é compatível com uma versão mais recente da especificação.
O dispositivo de resposta percebe que o dispositivo iniciador não é capaz de usar a versão mais recente e envia mensagens apenas usando a versão mais antiga solicitada inicialmente pelo dispositivo iniciador.
Para garantir a compatibilidade com versões anteriores, todos os novos campos adicionados à próxima versão desta especificação precisam ser anexados ao final da carga útil, e nenhum dos campos atuais pode ser modificado. Ao analisar a configuração, se o tamanho indicado for maior do que o esperado, os campos adicionais deverão ser ignorados por qualquer dispositivo que possa entender apenas a versão mais antiga da especificação.
Fragmentação
Essa especificação é independente do canal de comunicação. Portanto, ela não define como fragmentar a carga útil da mensagem em casos em que uma única mensagem é muito grande para caber em um pacote de transferência do canal de comunicação usado. O módulo de intervalo espera receber cada mensagem na íntegra. A responsabilidade pela fragmentação é do implementador do canal de comunicação OOB.
Ranging-technology-specifics
Esta seção contém detalhes específicos da tecnologia de alcance.
Especificações da banda ultralarga (UWB)
Esta seção descreve detalhes específicos da banda ultralarga.
IDs de configuração
Os dados de configuração fora da banda trocados por 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 medição de distância por UWB. Isso acontece porque 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 documentados em
UwbRangingParams. O
dispositivo de resposta envia uma lista de todos os IDs de configuração compatíveis como parte da
mensagem de resposta de capacidade, e o iniciador seleciona um dos IDs de configuração
compatíveis que será usado. Isso permite que um conjunto menor de parâmetros de configuração seja trocado durante o OOB. Ele também limita o número de combinações possíveis de parâmetros que podem ser usados para alcance com UWB, o que permite testar apenas as combinações permitidas de parâmetros.
Solicitar recursos após cada sessão de UWB
Depois de interromper uma sessão UWB e antes de iniciar uma nova, o dispositivo iniciador precisa solicitar os recursos do dispositivo de resposta e definir os parâmetros de configuração novamente, porque o endereço UWB pode mudar assim que a sessão de alcance atual terminar.
Especificidades da sondagem de canal (CS) BLE
Esta seção descreve detalhes específicos da sondagem de canal.
Criptografia de link necessária entre dispositivos
É necessário ter uma vinculação entre o dispositivo iniciador e o de resposta para que o alcance usando a sondagem de canal funcione. Essa especificação não oferece uma maneira de criar uma vinculação entre dispositivos. É preciso estabelecer essa vinculação entre os dispositivos ao usar as APIs Ranging.
Ação necessária do lado do atendente para CS
Na UWB, os dois dispositivos precisam chamar explicitamente as APIs de início e interrupção de alcance da UWB. Por outro lado, para o CS, apenas o dispositivo iniciador é necessário para
iniciar o alcance do CS chamando a pilha BT. O restante da
inicialização no lado do responder acontece em banda via BT. Isso significa que,
ao receber a mensagem Ranging Configuration ou a mensagem Stop Ranging
para CS, o lado do responder não precisa fazer nada se o BT estiver ativado. O
dispositivo de resposta pode usar essas mensagens como um gatilho para atualizar a interface ou, por
exemplo, piscar os LEDs do dispositivo.