Intervalo: especificação fora da banda versão 3

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 introduz a versão 3 dessa especificação.

Esta página permite que provedores de dispositivos que não são Android implementem essa especificação para que os dispositivos deles 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 de 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 support para 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 Bandwidth e Supported number of Receive chains em Wi-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

As figuras 1 e 2 ilustram como a troca de mensagens é acionada para diferentes canais de comunicação.

Para canais de comunicação baseados em conexão, como BLE GATT, 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:

Fluxo de canal de comunicação baseado em conexão

Figura 1. Troca de mensagens fora de banda usando um canal de comunicação baseado em conexão.

Para canais de comunicação baseados em publicidade, o dispositivo do respondente começa anunciando Ranging Capability Response. Nesse caso, o dispositivo iniciador não envia Ranging Capability Request. Em vez disso, depois de detectar o anúncio, quando o dispositivo iniciador (scanner inicial) estiver pronto, ele vai responder anunciando Ranging Configuration como a primeira mensagem, conforme mostrado na Figura 2:

Fluxo de canais de comunicação com base em anúncios

Figura 2. Troca de mensagens fora de banda usando uma comunicação baseada em publicidade.

O restante da troca de mensagens é igual nos dois casos. O dispositivo de resposta começa a variar imediatamente após receber a mensagem Ranging Configuration. O dispositivo de resposta para de medir o alcance depois de receber ou detectar a mensagem Stop Ranging.

No fluxo baseado em conexão, o dispositivo de resposta preenche os recursos apenas das tecnologias de alcance solicitadas na mensagem Ranging Capability Request. Já no fluxo de publicidade, o dispositivo de resposta precisa listar todos os recursos porque não há uma mensagem de solicitação de recursos anterior.

O dispositivo iniciador presume que vai receber apenas uma resposta para qualquer mensagem de solicitação enviada. O dispositivo de resposta não pode fazer nenhuma dessas suposições para poder 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 Configuration para iniciar novas tecnologias.
  • Envie várias mensagens Stop Ranging para 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 Ranging antes de iniciar a segunda com uma mensagem Ranging Configuration.
  • Make-before-break:o iniciador pode começar a usar uma nova tecnologia com uma mensagem Ranging Configuration antes de interromper as tecnologias atuais com uma mensagem Stop 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
DP do Wi-Fi 0x4
RFU 0x5 - 0xFF

Esses IDs são usados nas tabelas a seguir, em que o ID da tecnologia de alcance é obrigatório. Para campos que contêm a tecnologia de alcance bitfield, 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.

Formato de mensagem

Figura 3. Formato da mensagem.

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 desta 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
  • 0x1: V1
  • 0x2: V2
  • 0x3 - V3
1 uint8 ID da mensagem
  • 0x0: mensagem Ranging Capability Request
  • 0x1: mensagem Ranging Capability Response
  • 0x2: mensagem Ranging Configuration
  • 0x3: mensagem Ranging Configuration Response (opcional)
  • 0x6: mensagem Stop Ranging
  • 0x7: mensagem Stop Ranging Response (opcional)
  • 0x8: mensagem Motion Notification
  • 0x4-0x5, 0x9: 0xFF RFU

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. Essa mensagem é opcional quando o canal de comunicação é baseado em publicidade. Nesse caso, o dispositivo do usuário precisa anunciar uma mensagem Ranging Capability Response como primeira etapa. O dispositivo iniciador (scanner inicial) lê o anúncio e responde diretamente com uma mensagem Ranging Capability Request, evitando a necessidade dessa mensagem.

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
  • 0x01: UWB
  • 0x02: sondagem de canal BLE
  • 0x04: Wi-Fi NAN RTT
  • 0x08: BLE RSSI
  • 0x10: Wi-Fi PD
  • RFU

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. No caso de um canal de comunicação de publicidade, todas as tecnologias de alcance compatíveis precisam ser incluídas.

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.
  • 0x01: UWB
  • 0x02: sondagem de canal BLE
  • 0x04: Wi-Fi NAN RTT
  • 0x08: BLE RSSI
  • 0x10: Wi-Fi PD
  • RFU
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.
  • 0x00: o break-before-make é compatível.
  • 0x01: o make-before-break é compatível. O responder é capaz de variar com várias tecnologias simultaneamente.
Varia uint16 Indica o tipo do dispositivo de resposta.
  • 0x00: desconhecido
  • 0x01: smartphone
  • 0x02: tablet
  • 0x03: tag
  • 0x04: wearable
  • 0x05: audível
  • RFU

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 compatíveis 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 0
MSB == 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 1
MSB == preamble index 32
12 uint8*4 Bitmask de IDs de configuração compatíveis Campo de bits dos IDs de configuração de UWB compatíveis. O bit definido como 0 indica indisponível, e 1 indica que há suporte.
LSB == config Id 0
MSB == 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):
  • 96
  • 120
  • 240
  • 600
18 uint8 Duração mínima do intervalo aceita Indica a menor duração de slot aceita 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):
  • 1
  • 2
19 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.
  • 0x1: função de iniciador compatível
  • 0x2: função de resposta compatível

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.
  • 0x01: CS_SECURITY_LEVEL_UNKNOWN
  • 0x02: CS_SECURITY_LEVEL_ONE
  • 0x04: CS_SECURITY_LEVEL_TWO
  • 0x08: CS_SECURITY_LEVEL_THREE
  • 0x10: CS_SECURITY_LEVEL_FOUR
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 RSSI BLE (incluindo os campos ID da tecnologia e Tamanho) em bytes.
2 uint8 Bitmask de recursos compatíveis Campo de bits de recursos compatíveis.
  • 0x01: compatível com 11mc
  • 0x02: compatível com 11az
3 uint8 Aceita intervalos periódicos
  • 0x0: alcance periódico indisponível
  • 0x1: medição periódica compatível
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.
  • 0x00: 20 MHz
  • 0x01: 40 MHz
  • 0x02 - 80 MHz
  • 0x03: 160 MHz
  • 0x04 - 80+80 MHz
  • 0x05 - 320 MHz
  • RFU
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.
  • 0x00: indefinido
  • 0x01: 1 cadeia de RX
  • 0x02: 2 cadeias de RX
  • 0x03: 3 cadeias de RX
  • 0x04: 4 cadeias de RX

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
  • b0: compatível com 11mc
  • b1: compatível com 11az
3 uint8 PansMode Bitmap
  • b0: modo PASN não autenticado.
  • b1: modo PASN autenticado
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
  • 0: PREAMBLE_LEGACY
  • 1 - PREAMBLE_HT
  • 2 - PREAMBLE_VHT
  • 3 - PREAMBLE_HE
  • 4 - PREAMBLE_EHT
Supondo que todos os preâmbulos menores serão compatíveis.
15 uint8 Largura máxima do canal
  • 0: CHANNEL_WIDTH_20MHZ
  • 1: CHANNEL_WIDTH_40MHZ
  • 2 - CHANNEL_WIDTH_80MHZ
  • 3 - CHANNEL_WIDTH_160MHZ
  • 4: CHANNEL_WIDTH_80MHZ_PLUS_MHZ
  • 5: CHANNEL_WIDTH_320MHZ
Supondo que todas as larguras de banda menores sejam compatíveis.
16 uint8*2 Frequência de canal compatível
  • b0: canal 1
  • b1: canal 11
  • b2: canal 36
  • b3: canal 40
  • b4: canal 44
  • b5: canal 48
  • b6: canal 153
  • b7: canal 157
  • b8: canal 161
  • b9: canal 165
  • b10-b15: RFU

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.
  • 0x01: UWB
  • 0x02: sondagem de canal BLE
  • 0x04: Wi-Fi NAN RTT
  • 0x08: BLE RSSI
  • 0x10: Wi-Fi PD
  • RFU
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
  • 0x0: indica que não há dados de movimento necessários para o dispositivo iniciador.
  • 0x1: indica que o dispositivo iniciador requer os dados de movimento do dispositivo pareado.

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):
  • 96
  • 120
  • 240
  • 600
13 uint8 Duração do horário selecionado Duração do slot selecionado em milissegundos. Valores permitidos (em ms):
  • 1
  • 2
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 selecionada
  • 0x01: iniciador
  • 0x02: Responder
varia uint8 Modo do dispositivo selecionado
  • 0x01: controlador
  • 0x02: Controlee

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:
  • 0x0: CS_SECURITY_LEVEL_UNKNOWN
  • 0x1 - CS_SECURITY_LEVEL_ONE
  • 0x2: CS_SECURITY_LEVEL_TWO
  • 0x3: CS_SECURITY_LEVEL_THREE
  • 0x4: CS_SECURITY_LEVEL_FOUR
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 Comprimento 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
  • 0x0: Responder (editor de serviços NAN)
  • 0x1: iniciador (assinante do serviço NAN)
varia uint8 Usar intervalos periódicos
  • 0x0: intervalo periódico desativado
  • 0x1: intervalo periódico ativado

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 NAN (incluindo os campos ID da tecnologia e Tamanho) em bytes.
2 uint8 Recurso
  • 0x01: 11mc
  • 0x02: 11az
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
  • 0: PREAMBLE_LEGACY
  • 1 - PREAMBLE_HT
  • 2 - PREAMBLE_VHT
  • 3 - PREAMBLE_HE
  • 4 - PREAMBLE_EHT
12 uint8 Largura do canal selecionado
  • 0: CHANNEL_WIDTH_20MHZ
  • 1: CHANNEL_WIDTH_40MHZ
  • 2 - CHANNEL_WIDTH_80MHZ
  • 3 - CHANNEL_WIDTH_160MHZ
  • 4: CHANNEL_WIDTH_80MHZ_PLUS_MHZ
  • 5: CHANNEL_WIDTH_320MHZ
13 uint8 Canal selecionado
  • 0: canal 1
  • 1: canal 11
  • 2: canal 36
  • 3: canal 40
  • 4: Canal 44
  • 5: canal 48
  • 6: canal 153
  • 7: canal 157
  • 8: Canal 161
  • 9: canal 165
14 uint8 Modo PASN selecionado
  • 0x01: modo PASN não autenticado
  • 0x02: modo PASN autenticado
Observação:este campo é o fim do pacote para o modo PASN não autenticado.
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. Ela só é obrigató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 Bitmask de configuração de tecnologias de alcance definido com sucesso. Campo de bits de tecnologias de alcance que foram definidas. O campo de bits define o bit da tecnologia de alcance como 1 se a tecnologia foi solicitada e definida com sucesso, e 0 caso contrário.
  • 0x01: UWB
  • 0x02: sondagem de canal BLE
  • 0x04: Wi-Fi NAN RTT
  • 0x08: BLE RSSI
  • 0x10: Wi-Fi PD
  • RFU

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.
  • 0x01: UWB
  • 0x02: sondagem de canal BLE
  • 0x04: Wi-Fi NAN RTT
  • 0x08: BLE RSSI
  • 0x10: Wi-Fi PD
  • RFU

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 Campo de bits 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.
  • 0x01: UWB
  • 0x02: sondagem de canal BLE
  • 0x04: Wi-Fi NAN RTT
  • 0x08: BLE RSSI
  • 0x10: Wi-Fi PD
  • RFU

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
  • 0x0: não detectado
  • 0x1: movimento leve
  • 0x2: movimento moderado
  • 0x3: movimento grande
  • RFU
O limite de movimento precisa ser configurado para detectar uma mudança de orientação de ±X° ao longo de dois eixos do acessório.
  • Não detectado: < 5°
  • Movimento leve: 5° a 7°
  • Movimento moderado: 7° a 10°
  • Movimento grande: > 10°

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.

Caso 1: canal de comunicação baseado em conexão

Esta seção descreve casos que usam um canal de comunicação baseado em conexão, em que Ranging Capability Request é a primeira mensagem enviada pelo dispositivo iniciador.

Caso 1.a: o iniciador é compatível com uma versão mais recente, e o destinatário, 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.

Caso 1.b: 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.

Caso 2: canal de comunicação baseado em publicidade

Esta seção descreve casos que usam um canal de comunicação baseado em publicidade, em que o dispositivo de resposta anuncia Ranging Capability Request diretamente, sem uma solicitação inicial.

Caso 2.a: 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.

A versão mais antiga definida no anúncio Ranging Capability Response é usada no restante da comunicação.

Caso 2.b: 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.

A versão mais recente do anúncio Ranging Capability Response precisa ser compatível com versões anteriores para que o dispositivo iniciador possa ler a mensagem mesmo usando uma versão mais recente. Em seguida, o dispositivo iniciador envia a mensagem Ranging Configuration usando a versão mais antiga compatível. Essa é a versão usada no restante da comunicação.

Para garantir a compatibilidade com versões anteriores do Ranging Capability Response, todos os novos campos adicionados à próxima versão dessa especificação no payload da mensagem Ranging Capability Response precisam ser anexados ao final do payload, 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 extras 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 intervalo de 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 dos IDs de configuração compatíveis com supports_technology_transitioning que são usados. Isso permite que um conjunto menor de parâmetros de configuração seja trocado durante a OOB. Ele também limita a quantidade de combinações possíveis de parâmetros que podem ser usadas para alcance com UWB, o que torna possível 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.

Conexão necessária entre dispositivos

É necessário ter uma vinculação entre o dispositivo iniciador e o dispositivo de resposta para que a estimativa de alcance usando a sondagem de canal funcione. Essa especificação não oferece uma maneira de criar uma vinculação entre dispositivos. O usuário das APIs Ranging precisa estabelecer essa conexão entre os dispositivos.

Ação necessária do lado do atendimento ao cliente

Na UWB, os dois dispositivos precisam chamar explicitamente as APIs de início e fim de alcance da UWB. Já para o CS, apenas o dispositivo iniciador precisa iniciar o alcance do CS chamando a pilha Bluetooth (BT). O restante da inicialização no lado do responder acontece em banda pelo 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.