Ranging: sequenza di messaggi out-of-band e specifica del payload

Android 16 ha introdotto il modulo di misurazione della distanza. Questa specifica del protocollo e del payload definisce la sequenza dei messaggi e il payload della comunicazione out-of-band (OOB) utilizzata per scambiare configurazioni di misurazione e per avviare e interrompere la misurazione tra il dispositivo di iniziativa e il dispositivo di risposta che eseguono la misurazione.

Lo scopo principale di questa pagina è consentire ai fornitori di dispositivi non Android di implementare questa specifica in modo che i loro dispositivi siano compatibili con la ricerca dei dispositivi Android.

Messaggi e sequenza di messaggi

Questa sezione descrive i messaggi e la sequenza dello scambio di messaggi.

La tabella seguente mostra tutti i messaggi presenti nell'exchange OOB:

Messaggio ID messaggio
Ranging Capability Request 0x0
Ranging Capability Response 0x1
Ranging Configuration 0x2
Ranging Configuration Response (facoltativo) 0x3
Stop Ranging 0x6
Stop Ranging Response (facoltativo) 0x7

Come mostrato nelle figure 1 e 2, l'attivazione dello scambio di messaggi dipende dal canale di comunicazione.

Per i canali di comunicazione basati sulla connessione, come BLE GATT, lo scambio di messaggi inizia con l'invio di Ranging Capability Request da parte del dispositivo di iniziativa al dispositivo di risposta. Il dispositivo di risposta risponde inviando Ranging Capability Response, come mostrato nella Figura 1:

Flusso del canale di comunicazione basato sulla connessione

Figura 1. Scambio di messaggi OOB utilizzando un canale di comunicazione basato sulla connessione.

Per i canali di comunicazione basati su annunci, il dispositivo di chi risponde inizia con la pubblicità Ranging Capability. In questo caso, Ranging Capability Request non viene inviato dal dispositivo di invio. Invece, dopo aver rilevato l'annuncio, quando il dispositivo di invio (scanner iniziale) è pronto, risponde pubblicizzando Ranging Configuration come primo messaggio, come mostrato nella Figura 2:

Flusso del canale di comunicazione basato sugli annunci

Figura 2. Scambio di messaggi OOB utilizzando una comunicazione basata su annunci.

Il resto dello scambio di messaggi è lo stesso in entrambi i casi. Il dispositivo di risposta inizia a eseguire la ricerca immediatamente dopo aver ricevuto il messaggio Ranging Configuration. Il dispositivo di risposta interrompe la misurazione della distanza dopo aver ricevuto o rilevato il messaggio Stop Ranging.

Nel flusso basato sulla connessione, il dispositivo di risposta compila le funzionalità solo delle tecnologie di misurazione della distanza richieste nel messaggio Ranging Capability Request , mentre nel flusso di pubblicità il dispositivo di risposta deve elencare tutte le sue funzionalità perché non è presente un messaggio di richiesta di funzionalità precedente.

Il dispositivo di invio presuppone di ricevere una sola risposta a qualsiasi messaggio di richiesta inviato. Il dispositivo di risposta non deve fare alcuna supposizione di questo tipo in modo da poter rispondere a qualsiasi richiesta in qualsiasi ordine. In questo modo, il dispositivo di risposta può rispondere a più messaggi Ranging Capability Request consecutivi o ad altri messaggi fuori sequenza dal dispositivo di iniziativa.

ID tecnologia di misurazione

Gli ID delle tecnologie di misurazione della distanza sono elencati nella seguente tabella:

Tecnologia di misurazione della distanza ID
UWB 0x0
CS 0x1
RTT NAN Wi-Fi 0x2
RSSI 0x3
RFU 0x4 - 0xFF

Questi ID vengono utilizzati nelle seguenti tabelle in cui è obbligatorio l'ID tecnologia di misurazione della distanza. Per i campi contenenti un bitfield della tecnologia di misurazione della distanza, viene impostato un bit corrispondente all'indice dell'ID della tecnologia quando questa è inclusa nel bitfield.

Ad esempio, RSSI ha un valore ID pari a 3, ma se RSSI è incluso nel campo di bit della tecnologia di misurazione della distanza, il bit con la posizione dell'ID (3) deve essere attivato (il primo bit è in posizione 0), il che rende il valore risultante del campo di bit 0x8. Se sono inclusi sia UWB che RSSI, il valore del campo di bit è 0x0A (entrambi i bit 0 e 3 attivati).

Formato dei messaggi

Ogni messaggio è composto da un'intestazione e da un payload.

Formato dei messaggi

Figura 3. Formato del messaggio.

Dimensioni: 2 byte

Descrizione: comune a tutti i messaggi, l'intestazione è la prima parte che viene inserita in un messaggio. L'intestazione contiene una versione e l'ID del tipo di messaggio. Il campo della versione specifica la versione di questa specifica a cui sono conformi i contenuti del messaggio. La versione corrente di questa specifica è 1. Per ulteriori informazioni su come viene utilizzato il controllo delle versioni tra dispositivi con versioni diverse, consulta Controllo delle versioni. L'intestazione rimane compatibile con le versioni precedenti, il che significa che il caso d'uso può sempre analizzarla per determinare la versione e l'ID del messaggio.

L'intestazione è riassunta nella seguente tabella:

Ottetto Tipo di dati Descrizione Valore
0 uint8 Versione 0x1: versione corrente
1 unit8 ID messaggio
  • 0x0 - messaggio Ranging Capability Request
  • 0x1 - messaggio Ranging Capability Response
  • 0x2 - messaggio Ranging Configuration
  • 0x3 - messaggio Ranging Configuration Response (facoltativo)
  • 0x6 - messaggio Stop Ranging
  • 0x7 - Messaggio Stop Ranging Response (facoltativo)
  • 0x4-0x5, 0x8 - 0xFF RFU

Payload

Dimensioni: variano (dipendono dal tipo di messaggio)

Descrizione: il payload è l'ultima parte del messaggio, dopo l'intestazione. Il payload dipende dal tipo di messaggio. Il formato del payload di ogni singolo tipo di messaggio è definito nelle sezioni seguenti.

Payload del messaggio di richiesta di funzionalità di misurazione

Dimensioni (dimensioni dell'intestazione non incluse): 2 byte

Descrizione: inviato dal dispositivo di invio per avviare lo scambio di messaggi. Questo messaggio è facoltativo quando il canale di comunicazione si basa sulla pubblicità. In questo caso, il dispositivo di risposta deve pubblicizzare un messaggio Ranging Capability come primo passaggio. Il dispositivo di iniziativa (scanner iniziale) legge l'annuncio e risponde direttamente con un messaggio Ranging Capability, evitando la necessità di questo messaggio.

Il payload del messaggio Ranging Capability Request è riassunto nella tabella che segue:

Ottetto Tipo di dati Descrizione Valore
0 uint8*2 Bitfield delle tecnologie di misurazione della distanza richieste
  • 0x01 - UWB
  • 0x02 - Scansione del canale BLE
  • 0x04 - RTT NAN Wi-Fi
  • 0x08 - RSSI BLE
  • RFU

Payload del messaggio di risposta Ranging Capability

Dimensioni (le dimensioni dell'intestazione non sono incluse): variano (parte comune di 2 byte più le dimensioni di ogni tecnologia di misurazione della distanza inclusa)

Descrizione: inviato da chi risponde come risposta a un messaggio Ranging Capability Request. Il payload del messaggio è costituito dalla parte comune e dalle parti specifiche della tecnologia di misurazione (BLE CS, Wi-Fi NAN RTT CS, BLE RSSI), come mostrato nelle seguenti tabelle. Ogni parte specifica della tecnologia di misurazione della distanza deve essere aggiunta solo se la tecnologia di misurazione della distanza è supportata dal dispositivo di risposta e viene richiesta nel messaggio Ranging Capability Request. Nel caso di un canale di comunicazione pubblicitario, devono essere incluse tutte le tecnologie di misurazione supportate.

Il payload del messaggio Ranging Capability Response comune è riassunto nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8*2 Campo bit delle tecnologie di misurazione della distanza supportate. Indica l'insieme di funzionalità delle tecnologie di misurazione della distanza che seguono nel resto del payload.
  • 0x01 - UWB
  • 0x02 - Scansione del canale BLE
  • 0x04 - RTT NAN Wi-Fi
  • 0x08 - RSSI BLE
  • RFU
2 array di byte Byte relativi alla funzionalità della tecnologia di misurazione. Blocchi ripetuti di struct definiti per tecnologia.

Il payload del messaggio UWB Ranging Capability Response è riassunto nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8 ID tecnologia di misurazione 0x0 - UWB
1 uint8 Dimensioni Dimensioni in byte delle funzionalità UWB (inclusi i campi Technology ID e Size).
2 uint8*2 Indirizzo UWB Indirizzo UWB del dispositivo di 2 byte.
4 uint8*4 Bitfield dei canali supportati Campo di bit dei canali supportati. Il bit impostato su 0 indica non supportato, 1 indica supportato. Il bit 0 corrisponde al canale 0.
LSB == channel 0
MSB == channel 31
8 uint8*4 Bitfield dell'indice del preambolo supportato Campo di bit degli indici di preambolo supportati. Il bit impostato su 0 indica non supportato, 1 indica supportato. Il bit 0 corrisponde all'indice del preambolo 1.
LSB == preamble index 1
MSB == preamble index 32
12 uint8*4 Bitfield degli ID configurazione supportati Campo di bit degli ID di configurazione UWB supportati. Il bit impostato su 0 indica che non è supportato, 1 indica che è supportato.
LSB == config Id 0
>MSB == config Id 31
16 uint8*2 Intervallo di misurazione minimo supportato Indica l'intervallo di misurazione più veloce supportato in millisecondi. Valori consentiti (in ms):
  • 96
  • 120
  • 240
  • 600
18 uint8 Durata minima dello slot supportata Indica la durata minima dello slot supportata in millisecondi. Ad esempio, se il dispositivo restituisce 1 ms, si presume che supporti anche durate degli slot superiori a 2 ms. Valori consentiti (in ms):
  • 1
  • 2
19 Bitfield del ruolo del dispositivo UWB supportato Campo di bit dei ruoli UWB supportati. Ad esempio, se entrambi sono supportati, il valore del campo finale è 0x3.
  • 0x1: ruolo di iniziatore supportato
  • 0x2: ruolo di chi risponde supportato

Il payload del messaggio BLE CS Ranging Capability Request è riassunto nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8 ID tecnologia di misurazione 0x1 - BLE CS
1 uint8 Dimensioni Dimensioni in byte delle funzionalità BLE CS (inclusi i campi Technology ID e Size).
2 uint8 Bitfield del tipo di sicurezza supportato Campo di bit dei tipi di sicurezza supportati per la crittografia lato client BLE.
  • 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 Indirizzo dispositivo L'indirizzo del dispositivo utilizzato per il canale di sicurezza BLE; in ordine big endian.

Il payload del messaggio Wi-Fi NAN RTT CS Ranging Capability Request è riassunto nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8 ID tecnologia di misurazione 0x2 - RTT NAN Wi-Fi
1 uint8 Dimensioni Dimensioni in byte delle funzionalità RSSI BLE (inclusi i campi Technology ID e Size).
2 uint8 Bitfield delle funzionalità supportate Campo di bit delle funzionalità supportate.
  • 0x01 - Compatibile con 11 mc
  • 0x02 - compatibile con 11az
3 uint8 Supporta la misurazione periodica
  • 0x0: misurazione periodica non supportata
  • 0x1: intervallo di periodo supportato
4 uint8 Larghezza di banda supportata Queste informazioni consentono di determinare la precisione di misurazione della distanza raggiungibile utilizzando il Wi-Fi NAN e possono aiutare le app a determinare se utilizzare UWB, BLE CS, BLE RSSI o Wi-Fi NAN per la misurazione della distanza.
  • 0x00 - 20 MHz
  • 0x01 - 40 MHz
  • 0x02 - 80 MHz
  • 0x03 - 160 MHz
  • 0x04 - 80+80 MHz
  • 0x05 - 320 MHz
  • RFU
5 uint8 Numero di catene di ricezione supportate Queste informazioni consentono di determinare la precisione di misurazione della distanza raggiungibile utilizzando il Wi-Fi NAN e possono aiutare le app a determinare se utilizzare UWB, BLE CS, BLE RSSI o Wi-Fi NAN per la misurazione della distanza.
  • 0x00 - Non definito
  • 0x01 - 1 catena RX
  • 0x02 - 2 catene RX
  • 0x03 - 3 catene RX
  • 0x04 - 4 catene RX

Il payload del messaggio Ranging Capability Request RSSI BLE è riassunto nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8 ID tecnologia di misurazione 0x3 - BLE CS
1 uint8 Dimensioni Le dimensioni in byte delle funzionalità RSSI BLE (inclusi i campi Technology ID e Size)
2 uint8*6 Indirizzo dispositivo L'indirizzo del dispositivo utilizzato per l'RSSI BLE; in ordine big endian

Payload del messaggio di configurazione della misurazione

Dimensioni (le dimensioni dell'intestazione non sono incluse): variano (parte comune di 4 byte più le dimensioni di ogni tecnologia di misurazione della distanza inclusa).

Descrizione: questo messaggio viene inviato dall'iniziatore e contiene le configurazioni con cui ogni tecnologia di misurazione della distanza può iniziare la misurazione. Il dispositivo di risposta deve provare ad avviare la misurazione della distanza con ogni tecnologia di misurazione indicata al ricevimento di questo messaggio. Il payload del messaggio è costituito dalla parte comune e dalle parti specifiche della tecnologia di misurazione della distanza (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI), come mostrato nelle tabelle seguenti.

Il payload del messaggio Ranging Configuration comune è riassunto nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8*2 Bitfield del set di configurazione delle tecnologie di misurazione Campo di bit delle tecnologie di misurazione della distanza per le quali questo messaggio contiene i dati di configurazione e per le quali devono essere impostati i parametri di configurazione.
  • 0x01 - UWB
  • 0x02 - Scansione del canale BLE
  • 0x04 - RTT NAN Wi-Fi
  • 0x08 - RSSI BLE
  • RFU
2 uint8*2 Bitfield RFU. Deve essere impostato sullo stesso valore del campo Bitfield del set di configurazione delle tecnologie di misurazione.
4 array di byte Byte delle configurazioni delle tecnologie di rilevamento Blocchi ripetuti di struct definiti per tecnologia

Il payload del messaggio UWB Ranging Configuration è riassunto nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8 ID tecnologia di misurazione 0x0 - UWB
1 uint8 Dimensioni Dimensioni della configurazione UWB (inclusi i campi Technology ID e Size) in byte
2 uint8*2 Indirizzo UWB Indirizzo UWB del dispositivo di 2 byte
4 uint8*4 ID sessione ID sessione generato. L'ID sessione è un identificatore univoco per la sessione di misurazione della distanza tra lo smartphone e la periferica.
8 uint8 ID configurazione selezionato Numero dell'ID configurazione selezionato in formato intero. L'ID configurazione specifica i parametri di temporizzazione e il tipo di sicurezza da utilizzare per la sessione di misurazione della distanza UWB.
9 uint8 Canale selezionato Canale selezionato per la sessione di misurazione della distanza UWB
10 uint8 Indice del preambolo selezionato Indice del preambulo selezionato per la sessione di misurazione della distanza UWB
11 uint8*2 Intervallo di misurazione selezionato Frequenza dell'intervallo di misurazione selezionato in millisecondi. Valori consentiti (in ms):
  • 96
  • 120
  • 240
  • 600
13 uint8 Durata dello spazio selezionato Durata dell'intervallo selezionato in millisecondi. Valori consentiti (in ms):
  • 1
  • 2
14 uint8 Lunghezza della chiave di sessione Lunghezza della chiave di sessione in byte
15 array di byte Chiave sessione Chiave di sessione. Se viene utilizzato S-STS, i primi due byte sono VENDOR ID e i sei byte successivi sono STATIC STS IV. Se viene utilizzato P-STS, si tratta di una chiave di sessione di 16 o 32 byte. Il tipo di sicurezza utilizzato è determinato dall'ID configurazione.
varia uint8*2 Codice paese Codice paese ISO 3166-1 alpha-2, rappresentato da due caratteri ASCII
varia uint8 Ruolo del dispositivo selezionato
  • 0x01 - Iniziatore
  • 0x02 - Chi risponde
varia uint8 Modalità del dispositivo selezionata
  • 0x01 - Controller
  • 0x02 - Dispositivo controllato

Il payload del messaggio BLE CS Ranging Configuration è riassunto nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8 ID tecnologia di misurazione 0x1 - BLE CS
1 uint8 Dimensioni Dimensioni della configurazione del CS BLE (inclusi i campi Technology ID e Size) in byte
2 uint8 Tipo di sicurezza selezionato Tipo di sicurezza selezionato. Valori consentiti:
  • 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 Indirizzo dispositivo L'indirizzo del dispositivo utilizzato per il canale di sicurezza BLE; in ordine big endian

Il payload del messaggio Ranging Configuration RTT NAN Wi-Fi è riassunto nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8 ID tecnologia di misurazione 0x2 - RTT NAN Wi-Fi
1 uint8 Dimensioni Dimensioni della configurazione RTT NAN Wi-Fi (inclusi i campi Technology ID e Size) in byte
2 uint8 Lunghezza del nome del servizio Lunghezza del campo Nome servizio in byte. Consulta la sezione 1.3.3 della tabella 1 della specifica Wi-Fi Aware v4.0. Definizioni.
3 array di byte Nome servizio Nome del servizio. Consulta la sezione 1.3.3 della tabella 1 della specifica Wi-Fi Aware v4.0. Definizioni.
varia uint8 Ruolo del dispositivo
  • 0x0 - Rispondente (editore del servizio NAN)
  • 0x1 - Iniziatore (abbonato al servizio NAN)
varia uint8 Utilizza la misurazione periodica
  • 0x0 - Rilevamento periodico disattivato
  • 0x1 - Rilevamento periodico abilitato

Il payload del messaggio Ranging Configuration RSSI BLE è riassunto nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8 ID tecnologia di misurazione 0x3 - RSSI BLE
1 uint8 Dimensioni Dimensioni della configurazione RSSI BLE (inclusi i campi Technology ID e Size) in byte
2 uint8*6 Indirizzo dispositivo L'indirizzo del dispositivo utilizzato per l'RSSI BLE; in ordine big endian

Payload del messaggio di risposta alla configurazione di misurazione

Dimensioni (dimensioni dell'intestazione non incluse): 2 byte

Descrizione: questo messaggio viene inviato da chi risponde come risposta al messaggio Ranging Configuration. Questo messaggio è facoltativo, è obbligatorio solo quando il canale di comunicazione utilizzato richiede una risposta esplicita per ogni richiesta.

Il payload del messaggio Ranging Configuration Response è riassunto nella tabella che segue:

Ottetto Tipo di dati Descrizione Valore
0 uint8*2 Ranging technologies configuration set successfully bitfield Campo di bit delle tecnologie di misurazione della distanza impostate correttamente. Il bitfield imposta il bit della tecnologia di misurazione della distanza su 1 se la tecnologia è stata richiesta e impostata correttamente e su 0 in caso contrario.
  • 0x01 - UWB
  • 0x02 - Scansione del canale BLE
  • 0x04 - RTT NAN Wi-Fi
  • 0x08 - RSSI BLE
  • RFU

Carico utile del messaggio Stop Ranging

Dimensioni (dimensioni dell'intestazione non incluse): 2 byte

Descrizione: questo messaggio viene inviato dal dispositivo di iniziativa quando è il momento di interrompere la misurazione della distanza con la tecnologia di misurazione della distanza specificata.

Il payload del messaggio Stop Ranging è riassunto nella seguente tabella:

Ottetto Tipo di dati Descrizione Valore
0 uint8*2 Tecnologie di misurazione della distanza per interrompere il bitfield Campo di bit delle tecnologie di rilevamento della distanza che devono interrompere il rilevamento. Il bit impostato su 1 indica che la tecnologia di misurazione della distanza deve interrompere la misurazione, mentre 0 indica che la tecnologia di misurazione della distanza non era in funzione o che deve continuare a misurare la distanza se era già in funzione. Per alcune tecnologie di misurazione della distanza (come CS) questa operazione non viene eseguita perché la misurazione viene avviata e interrotta solo sul lato dell'iniziatore.
  • 0x01 - UWB
  • 0x02 - Scansione del canale BLE
  • 0x04 - RTT NAN Wi-Fi
  • 0x08 - RSSI BLE
  • RFU

Payload del messaggio di risposta Stop Ranging

Dimensioni (dimensioni dell'intestazione non incluse): 2 byte

Descrizione: questo messaggio viene inviato da chi risponde come risposta al messaggio Stop Ranging. Questo messaggio è facoltativo, è richiesto solo quando il canale di comunicazione utilizzato richiede una risposta esplicita per ogni richiesta.

Il payload del messaggio Stop Ranging Response è riassunto nella tabella che segue:

Ottetto Tipo di dati Descrizione Valore
0 uint8*2 Ranging technologies stopped successfully bitfield Campo di bit delle tecnologie di misurazione della distanza che hanno interrotto la misurazione correttamente. Il campo imposta il bit della tecnologia di misurazione della distanza su 1 se è stata richiesta l'interruzione della tecnologia e se l'interruzione è andata a buon fine e su 0 in caso contrario.
  • 0x01 - UWB
  • 0x02 - Scansione del canale BLE
  • 0x04 - RTT NAN Wi-Fi
  • 0x08 - RSSI BLE
  • RFU

Controllo delle versioni

La versione della specifica è contenuta nell'intestazione di ogni messaggio. Questa sezione definisce come viene eseguita la comunicazione quando uno dei dispositivi (l'iniziatore o il rispondente) è su una versione precedente rispetto all'altro dispositivo.

Caso 1: canale di comunicazione basato sulla connessione

Questa sezione descrive i casi che utilizzano un canale di comunicazione basato sulla connessione, dove Ranging Capability Request è il primo messaggio inviato dal dispositivo iniziatore.

Caso 1.a: l'iniziatore supporta la versione più recente, il rispondente supporta la versione precedente della specifica.

Il dispositivo di invio invia il messaggio Ranging Capability Request con la versione più recente. Il dispositivo di risposta supporta solo la versione precedente, quindi risponde con quella e la versione precedente del dispositivo di risposta viene utilizzata per il resto dello scambio di messaggi. Ciò significa che il messaggio Ranging Capability Request deve essere compatibile con le versioni precedenti.

Caso 1.b: l'iniziatore supporta la versione precedente, il rispondente supporta la versione più recente della specifica.

Il dispositivo di risposta rileva che il dispositivo di invio non è in grado di utilizzare la versione più recente, pertanto invia i messaggi utilizzando solo la versione precedente richiesta inizialmente dal dispositivo di invio.

Caso 2: canale di comunicazione basato su annunci

Questa sezione descrive i casi che utilizzano un canale di comunicazione basato su annunci, in cui il dispositivo di risposta pubblicizza Ranging Capability Request direttamente, senza una richiesta iniziale.

Caso 2.a: l'iniziatore supporta la versione più recente, il rispondente supporta la versione precedente della specifica.

Per il resto della comunicazione viene utilizzata la versione precedente impostata nell'annuncio Ranging Capability Response.

Caso 2.b: l'iniziatore supporta la versione precedente, il rispondente supporta la versione più recente della specifica.

La versione più recente dell'annuncio Ranging Capability Response deve essere compatibile con le versioni precedenti in modo che il dispositivo di invio possa leggere il messaggio anche se utilizza una versione più recente. Il dispositivo di invio invia quindi il messaggio Ranging Configuration utilizzando la versione precedente supportata. Questa è la versione utilizzata per il resto della comunicazione.

Per garantire la compatibilità con le versioni precedenti di Ranging Capability Response, tutti i nuovi campi aggiunti alla versione successiva di questa specifica nel payload del messaggio Ranging Capability Response devono essere aggiunti alla fine del payload e nessuno dei campi esistenti può essere modificato. Durante l'analisi della configurazione, se la dimensione indicata è maggiore del previsto, i campi aggiuntivi devono essere ignorati da qualsiasi dispositivo in grado di comprendere solo la versione precedente della specifica.

Frammentazione

Questa specifica è indipendente dal canale di comunicazione, pertanto non definisce come frammentare il payload del messaggio nei casi in cui un singolo messaggio sia troppo grande per essere inserito in un pacchetto di trasferimento del canale di comunicazione utilizzato. Il modulo Ranging si aspetta di ricevere ogni messaggio nella sua forma completa. La responsabilità della frammentazione è a carico dell'implementatore del canale di comunicazione OOB.

Ranging-technology-specifics

Questa sezione contiene dettagli specifici sulla tecnologia di misurazione della distanza.

Specifiche della banda ultralarga (UWB)

Questa sezione descrive i dettagli specifici della tecnologia ultra-wideband.

ID configurazione

I dati di configurazione OOB scambiati per la tecnologia UWB non contengono un insieme completo di parametri configurabili disponibili richiesti dalla tecnologia UWB per avviare una sessione di misurazione della distanza UWB. Questo perché alcuni parametri vengono selezionati implicitamente dall'ID configurazione scelto.

Ogni ID configurazione è un insieme di parametri di configurazione UWB predefiniti, documentati in UwbRangingParams. Il dispositivo di risposta invia un elenco di tutti gli ID configurazione supportati nell'ambito del messaggio di risposta alle funzionalità e l'iniziatore seleziona uno degli ID configurazione supportati utilizzati. In questo modo è possibile scambiare un insieme più piccolo di parametri di configurazione durante l'OOB. Inoltre, limita la quantità di possibili combinazioni di parametri che possono essere utilizzate per la misurazione della distanza con la tecnologia UWB, il che rende possibile il test solo delle combinazioni di parametri consentite.

Richiesta di funzionalità dopo ogni sessione UWB

Dopo aver interrotto una sessione UWB esistente e prima di avviarne una nuova, il dispositivo di iniziativa deve richiedere le funzionalità del dispositivo di risposta e impostare di nuovo i parametri di configurazione, perché l'indirizzo UWB può ruotare al termine della sessione di misurazione corrente.

Specifiche per l'emissione di suoni nel canale BLE (CS)

Questa sezione descrive i dettagli specifici del suono del canale.

Collegamento obbligatorio tra dispositivi

Per il funzionamento della misurazione della distanza tramite l'analisi del canale è necessario un legame esistente tra il dispositivo di invio e il dispositivo di risposta. Questa specifica non fornisce un modo per creare un legame tra i dispositivi. L'utente delle API di misurazione della distanza deve stabilire questo legame tra i dispositivi.

Azione richiesta dal team di risposta per l'assistenza clienti

In UWB, entrambi i dispositivi devono chiamare esplicitamente l'API UWB start ranging e stop ranging. Al contrario, per la ricerca in CSMA è necessario solo il dispositivo di iniziativa per avviare la ricerca in CSMA chiamando lo stack Bluetooth (BT). Il resto dell'inizializzazione sul lato del rispondente avviene in banda tramite BT. Ciò significa che, al ricevimento del messaggio Ranging Configuration o del messaggio Stop Ranging per il CS, il lato del rispondente non deve fare nulla se il BT è abilitato. Il dispositivo di risposta potrebbe utilizzare questi messaggi come attivatore per aggiornare l'interfaccia utente o, ad esempio, far lampeggiare i LED del dispositivo.