O Android 16 introduziu o módulo de medição de distância. Essa especificação de protocolo e payload define a sequência de mensagens e o payload da comunicação fora da banda (OOB, na sigla em inglês) usada para trocar configurações de medição e iniciar e interromper a medição entre o dispositivo iniciador e o dispositivo respondente que participam da medição.
O objetivo principal desta página é permitir que provedores de dispositivos que não são Android implementem essa especificação para que os dispositivos deles sejam compatíveis com o alcance de dispositivos Android.
Mensagens e sequência de mensagens
Esta seção descreve as mensagens e a sequência da troca de mensagens.
A tabela a seguir mostra todas as mensagens presentes na troca de 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 |
Como mostrado nas Figuras 1 e 2, a forma como a troca de mensagens é acionada depende do canal de comunicação.
Para canais de comunicação baseados em conexão, como o BLE GATT, a troca
de mensagens começa com o dispositivo iniciador enviando Ranging Capability Request
ao dispositivo respondente. O dispositivo que responde responde enviando Ranging
Capability Response
, conforme mostrado na Figura 1:
Figura 1. Troca de mensagens OOB usando um canal de comunicação baseado em conexão.
Para canais de comunicação baseados em anúncios, o dispositivo do respondente começa
a anunciar Ranging Capability
. Nesse caso, Ranging Capability Request
não é enviado pelo dispositivo inicializador. Em vez disso, depois de detectar o
anúncio, quando o dispositivo inicial (leitor inicial) estiver pronto, ele
vai responder anunciando Ranging Configuration
como a primeira mensagem, conforme mostrado
na Figura 2:
Figura 2. Troca de mensagens OOB usando uma comunicação baseada em anúncios.
O restante da troca de mensagens é o mesmo nos dois casos. O dispositivo do respondente
começa a operar imediatamente após receber a mensagem Ranging Configuration
.
O dispositivo do respondente para de fazer a detecção de alcance depois de receber ou detectar a mensagem Stop
Ranging
.
No fluxo baseado em conexão, o dispositivo do respondente preenche os recursos
apenas das tecnologias de medição de distância solicitadas na mensagem Ranging Capability Request
.
Já no fluxo de publicidade, o dispositivo do respondente precisa listar todos
os recursos porque não há uma mensagem de solicitação de recurso anterior.
O dispositivo iniciador presume que receberá apenas uma resposta para qualquer mensagem
de solicitação enviada. O dispositivo de resposta não pode fazer essa suposição para que
ele possa responder a qualquer solicitação em qualquer ordem. Isso garante que o dispositivo
respondedor possa responder a várias mensagens Ranging Capability Request
consecutivas ou a qualquer outra mensagem fora de ordem do dispositivo iniciador.
IDs de tecnologia de abrangência
Os IDs das tecnologias de medição de distância estão listados na tabela a seguir:
Tecnologia de medição de distância | ID |
---|---|
UWB | 0x0 |
CS | 0x1 |
RTT NAN do Wi-Fi | 0x2 |
RSSI | 0x3 |
RFU | 0x4 - 0xFF |
Esses IDs são usados nas tabelas a seguir, em que o ID da tecnologia de medição de distância é 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 bit de campo da tecnologia de medição de distância, o bit com a posição do ID (3) precisa ser ativado (o primeiro bit está na posição 0), o que faz com que o valor resultante do bit de campo seja 0x8. Se UWB e RSSI forem incluídos, o valor do bitfield será 0x0A (ambos os bits 0 e 3 ativados).
Formato das mensagens
Cada mensagem consiste em um cabeçalho e um payload.
Figura 3. Formato da mensagem.
Cabeçalho
Tamanho:2 bytes
Descrição:comum em todas as mensagens, o cabeçalho é a primeira parte que
é incluída 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 dessa especificação à qual o
conteúdo da mensagem está em conformidade. A versão atual dessa especificação é
1
. Para mais informações sobre como o controle de versões é usado entre dispositivos em diferentes
versões, consulte Controle de versões. O cabeçalho
continua compatível com versões anteriores em diferentes versões, o que significa que o caso de uso
pode sempre ser analisado para determinar a versão e o ID da mensagem.
O cabeçalho é resumido na tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8 | Versão | 0x1: versão atual |
1 | unit8 | 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 é definido nas seções a seguir.
Payload da mensagem de solicitação de capacidade de sondagem
Tamanho (tamanho do cabeçalho não incluído): 2 bytes
Descrição:enviada 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 respondente precisa anunciar uma mensagem Ranging
Capability
como primeira etapa. O dispositivo iniciador (leitor inicial)
lê o anúncio e responde diretamente com uma mensagem Ranging Capability
, evitando a necessidade dessa mensagem.
O payload da mensagem Ranging Capability Request
é resumido na tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8*2 | Bitfield de tecnologias de alcance solicitadas |
|
Payload da mensagem de resposta de capacidade de sondagem
Tamanho (tamanho do cabeçalho não incluído): varia (parte comum de 2 bytes mais o tamanho de cada byte de tecnologia de pesquisa incluído)
Descrição:enviada pelo participante que responde como resposta a uma mensagem Ranging Capability
Request
. O payload da mensagem consiste na parte comum e em partes específicas da tecnologia de
vários tipos (CS do BLE, CS do Wi-Fi NAN RTT, RSSI do BLE), conforme mostrado nas
tabelas a seguir. Cada parte específica da tecnologia de medição de distância precisa ser adicionada apenas se
essa tecnologia for compatível com o dispositivo do respondente e for solicitada na
mensagem Ranging Capability Request
. No caso de um canal de comunicação
de publicidade, todas as tecnologias de medição de distância com suporte precisam ser incluídas.
O payload da mensagem Ranging Capability Response
comum é resumido na
tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8*2 | Bitfield de tecnologias de alcance compatíveis. Indica o conjunto de recursos de tecnologias de medição de distância que são seguidas no restante do payload. |
|
2 | matriz de bytes | Bytes de capacidade de tecnologia de sondagem. | Blocos repetidos de structs definidos por tecnologia. |
O payload da mensagem Ranging Capability Response
do UWB é resumido na
tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8 | ID da tecnologia de abrangência | 0x0: UWB |
1 | uint8 | Tamanho | Tamanho dos bytes de recursos do UWB (incluindo os campos ID da tecnologia e Tamanho) em bytes. |
2 | uint8*2 | Endereço UWB | Endereço UWB de 2 bytes do dispositivo. |
4 | uint8*4 | Bitfield de canais com suporte | Campo de bits dos canais com suporte. 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 preâmbulo com suporte | Campo de bits dos índices de preâmbulo com suporte. O bit definido como 0 indica que não há suporte, e 1 indica que há suporte. O bit 0 corresponde ao índice de preâmbulo 1.LSB == preamble index 1 MSB == preamble index 32 |
12 | uint8*4 | Bitfield de IDs de configuração aceitos | Campo de bits dos IDs de configuração do UWB aceitos. O bit definido como 0 indica que não há suporte, e 1 indica que há suporte.LSB == config Id 0 > MSB == config Id 31 |
16 | uint8*2 | Intervalo mínimo de medição suportado | Indica o intervalo de alcance mais rápido com suporte em milissegundos. Valores permitidos (em ms):
|
18 | uint8 | Duração mínima de slot com suporte | Indica a menor duração de slot com suporte em milissegundos. Por exemplo, se o dispositivo retornar 1 ms, presumimos que ele também oferece suporte a durações de slot de 2 ms ou mais. Valores permitidos (em ms):
|
19 | Bitfield de função do dispositivo UWB com suporte | Campo de bits dos papéis UWB compatíveis. Por exemplo, se ambos forem compatíveis, o valor final do campo será 0x3.
|
O payload da mensagem BLE CS Ranging Capability Request
é resumido na
tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8 | ID da tecnologia de abrangência | 0x1: CS do BLE |
1 | uint8 | Tamanho | Tamanho dos bytes de recursos de CS BLE (incluindo os campos Technology ID e Size) em bytes. |
2 | uint8 | Bitfield de tipo de segurança com suporte | Campo de bits dos tipos de segurança compatíveis com a CS do BLE.
|
3 | uint8*6 | Endereço do dispositivo | O endereço do dispositivo usado para a CS BLE, na ordem big-endian. |
O payload da mensagem Ranging Capability Request
do RTT CS do NAN Wi-Fi é resumido
na tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8 | ID da tecnologia de abrangência | 0x2: RTT NAN do Wi-Fi. |
1 | uint8 | Tamanho | Tamanho dos bytes de recursos de RSSI do BLE (incluindo os campos Technology ID e Size) em bytes. |
2 | uint8 | Bitfield de recursos compatíveis | Campo de bits dos recursos compatíveis.
|
3 | uint8 | Oferece suporte a medição de distância |
|
4 | uint8 | Largura de banda compatível | Essas informações ajudam a determinar a precisão de medição de distância alcançável usando o NAN do Wi-Fi e podem ajudar os apps a determinar se devem usar UWB, BLE CS, BLE RSSI ou NAN do Wi-Fi para medição de distância.
|
5 | uint8 | Número de cadeias de recebimento com suporte | Essas informações ajudam a determinar a precisão de medição de distância alcançável usando o NAN do Wi-Fi e podem ajudar os apps a determinar se devem usar UWB, BLE CS, BLE RSSI ou NAN do Wi-Fi para medição de distância.
|
O payload da mensagem Ranging Capability Request
do RSSI do BLE está resumido na
tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8 | ID da tecnologia de abrangência | 0x3: CS do BLE |
1 | uint8 | Tamanho | O tamanho dos bytes de recursos de RSSI do BLE (incluindo os campos Technology ID e Size) em bytes |
2 | uint8*6 | Endereço do dispositivo | O endereço do dispositivo usado para RSSI BLE, na ordem big-endian |
Payload da mensagem de configuração de sondagem
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 com que cada tecnologia de medição pode começar a operar. O dispositivo de resposta precisa tentar iniciar a medição de distância com cada tecnologia indicada ao receber essa mensagem. O payload da mensagem consiste na parte comum e nas partes específicas da tecnologia de medição (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI), conforme mostrado nas tabelas a seguir.
O payload da mensagem Ranging Configuration
comum é resumido na
tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8*2 | Bitfield do conjunto de configuração de tecnologias de sondagem | Campo de bits de tecnologias de medição de distância 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 Ranging technologies configuration set bitfield. |
4 | matriz de bytes | Bytes de configurações de tecnologias de sondagem | Blocos repetidos de structs definidos por tecnologia |
O payload da mensagem Ranging Configuration
do UWB está resumido na tabela
abaixo:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8 | ID da tecnologia de abrangência | 0x0: UWB |
1 | uint8 | Tamanho | Tamanho da configuração de UWB (incluindo os campos Technology ID e Size) em bytes |
2 | uint8*2 | Endereço UWB | Endereço UWB de 2 bytes do dispositivo |
4 | uint8*4 | ID da sessão | ID da sessão gerado. O ID da sessão é um identificador exclusivo da sessão de medição entre o smartphone e o periférico. |
8 | uint8 | ID da configuração selecionado | Número de ID de 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 precisa ser usado para a sessão de medição de distância UWB. |
9 | uint8 | Canal selecionado | Canal selecionado para a sessão de medição de distância UWB |
10 | uint8 | Índice de preâmbulo selecionado | Índice de preâmbulo selecionado para a sessão de medição de distância UWB |
11 | uint8*2 | Intervalo de posicionamento selecionado | Taxa de intervalo de busca 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 FORNECEDOR e os seis bytes seguintes serão o IV Estático do STS. 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 de configuração. |
varia | uint8*2 | Código do país | Código de país ISO 3166-1 Alfa-2, representado por dois caracteres ASCII |
varia | uint8 | Função do dispositivo selecionada |
|
varia | uint8 | Modo do dispositivo selecionado |
|
O payload da mensagem BLE CS Ranging Configuration
é resumido na
tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8 | ID da tecnologia de abrangência | 0x1: CS do BLE |
1 | uint8 | Tamanho | Tamanho da configuração do CS BLE (incluindo os campos Technology ID e Size) 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 a CS BLE, na ordem big-endian |
O payload da mensagem Ranging Configuration
do RTT do Wi-Fi NAN está resumido na
tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8 | ID da tecnologia de abrangência | 0x2: RTT NAN do Wi-Fi. |
1 | uint8 | Tamanho | Tamanho da configuração do RTT do NAN do Wi-Fi (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 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 Wi-Fi Aware v4.0, seção 1.3.3, tabela 1. Definições. |
varia | uint8 | Função do dispositivo |
|
varia | uint8 | Usar o intervalo periódico |
|
O payload da mensagem Ranging Configuration
do RSSI do BLE está resumido na
tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8 | ID da tecnologia de abrangência | 0x3: BLE RSSI |
1 | uint8 | Tamanho | Tamanho da configuração de RSSI do BLE (incluindo os campos Technology ID e Size) em bytes |
2 | uint8*6 | Endereço do dispositivo | O endereço do dispositivo usado para RSSI BLE, na ordem big-endian |
Payload da mensagem de resposta de configuração de sondagem
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
é resumido na
tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8*2 | Bits de flag da configuração de tecnologias de medição de distância definidos | Campo de bits de tecnologias de medição que foram definidas. O bitset define o bit da tecnologia de medição como 1 se a tecnologia foi solicitada e definida corretamente. Caso contrário, o bitset é definido como 0.
|
Payload da mensagem de interrupção do envio de sinal
Tamanho (tamanho do cabeçalho não incluído): 2 bytes
Descrição:essa mensagem é enviada pelo dispositivo iniciador quando é hora de parar de medir com a tecnologia de medição especificada.
O payload da mensagem Stop Ranging
é resumido na tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8*2 | Tecnologias de sondagem para interromper o bitfield | Campo de bits de tecnologias de medição que precisam parar de medir. O bit definido como 1 indica que a tecnologia de medição precisa ser interrompida, e 0 indica que a tecnologia de medição não estava sendo usada ou que ela precisa continuar sendo usada se já estava sendo usada. Para algumas tecnologias de medição de distância (como CS), isso não é necessário, porque a medição é iniciada e interrompida apenas no lado do iniciador.
|
Payload da mensagem de resposta de interrupção do envio de sinal
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
é resumido na tabela a seguir:
Octeto | Tipo de dado | Descrição | Valor |
---|---|---|---|
0 | uint8*2 | As tecnologias de medição de distância interromperam o bitfield com sucesso | Bitfield de tecnologias de medição que pararam de funcionar. O bitset define o bit da tecnologia de medição como 1 se a tecnologia foi solicitada para ser interrompida e se ela foi interrompida com êxito. Caso contrário, o bit será 0.
|
Controle de versões
A versão da especificação está contida no cabeçalho de cada mensagem. Esta seção define como a comunicação é realizada quando um dos dispositivos (o iniciador ou o respondente) está em uma versão mais antiga do que o outro dispositivo.
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
de início.
Caso 1.a: o iniciador oferece suporte à versão mais recente, e o respondente oferece suporte à versão mais antiga da especificação.
O dispositivo iniciador envia a mensagem Ranging Capability Request
com a
versão mais recente. O dispositivo do respondente oferece suporte apenas à versão mais antiga. Portanto, ele
responde com essa versão, e a versão mais antiga do respondente é 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 oferece suporte à versão mais antiga, e o respondente oferece suporte à versão mais recente da especificação.
O dispositivo respondente percebe que o dispositivo iniciador não é capaz de usar a versão mais recente. Por isso, ele envia mensagens usando apenas a versão mais antiga solicitada inicialmente pelo dispositivo iniciador.
Caso 2: canal de comunicação baseado em anúncios
Esta seção descreve casos que usam um canal de comunicação baseado em anúncios, em que o dispositivo do respondente anuncia Ranging Capability Request
diretamente, sem uma solicitação inicial.
Caso 2.a: o iniciador oferece suporte à versão mais recente, e o respondente oferece suporte à versão mais antiga da especificação.
A versão mais antiga definida no anúncio Ranging Capability Response
é usada
para o restante da comunicação.
Caso 2.b: o iniciador oferece suporte à versão mais antiga, e o respondente oferece suporte à 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
que esteja usando uma versão mais recente. O dispositivo iniciador envia a mensagem Ranging
Configuration
usando a versão mais antiga compatível. Essa é a versão
usada para o restante da comunicação.
Para garantir que o Ranging Capability Response
seja compatível com versões anteriores, todos os novos
campos adicionados à próxima versão desta especificação no payload da mensagem Ranging
Capability Response
precisam ser anexados ao final do payload,
e nenhum dos campos existentes pode ser modificado. Ao analisar a configuração,
se o tamanho indicado for maior do que o esperado, campos adicionais precisarão ser ignorados
por qualquer dispositivo que só consiga entender a versão mais antiga da especificação.
Fragmentação
Essa especificação não depende do canal de comunicação, portanto, não define como fragmentar o payload da mensagem nos casos em que uma única mensagem é muito grande para se encaixar em um pacote de transferência do canal de comunicação usado. O módulo de posicionamento espera receber cada mensagem na forma completa. A responsabilidade pela fragmentação é do implementador do canal de comunicação OOB.
Especificações específicas da tecnologia de medição de distância
Esta seção contém detalhes específicos sobre a tecnologia de medição de distância.
Especificações da banda ultralarga (UWB)
Esta seção descreve detalhes específicos da ultrabanda larga.
IDs de configuração
Os dados de configuração OOB trocados para UWB não contêm um conjunto completo de parâmetros configuráveis disponíveis que o UWB exige para iniciar uma sessão de medição de UWB. Isso ocorre 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 predefinidos da UWB que é
documentado em
UwbRangingParams
. O
dispositivo de resposta envia uma lista de todos os IDs de configuração com suporte como parte da
mensagem de resposta de recursos, e o iniciador seleciona um dos IDs de configuração
com suporte que é usado. Isso permite que um conjunto menor de parâmetros de configuração seja
trocado durante o OOB. Ele também limita a quantidade de combinações possíveis de
parâmetros que podem ser usadas para a medição de distância com UWB, o que torna possível o teste de apenas
combinações de parâmetros permitidas.
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 respondente e definir os parâmetros de configuração novamente, porque o endereço UWB pode girar assim que a sessão de medição atual terminar.
Especificações de som de canal BLE (CS)
Esta seção descreve detalhes específicos sobre o som do canal.
Vinculação necessária entre dispositivos
Uma vinculação entre o iniciador e o dispositivo de resposta é necessária para que a detecção de alcance usando o som do canal funcione. Essa especificação não oferece uma maneira de criar uma vinculação entre dispositivos. O usuário das APIs de posicionamento precisa estabelecer essa ligação entre os dispositivos.
Ação necessária do lado do respondente para o CS
No UWB, é necessário que ambos os dispositivos chamem a API de início e interrupção de detecção
do UWB explicitamente. Por outro lado, para a CS, apenas o dispositivo iniciador é necessário para
iniciar a faixa de CS chamando a pilha Bluetooth (BT). O restante da
inicialização no lado do respondente acontece na banda por meio da BT. Isso significa que,
após receber a mensagem Ranging Configuration
ou a mensagem Stop Ranging
para a CS, o lado do respondente não precisa fazer nada se a BT estiver ativada. O
dispositivo de resposta pode usar essas mensagens como um gatilho para atualizar a interface ou, por
exemplo, piscar os LEDs do dispositivo.