Android 16 ha introdotto il modulo di misurazione. Questa specifica di protocollo e payload definisce la sequenza di messaggi e il payload della comunicazione out-of-band (OOB) utilizzata per scambiare le configurazioni di misurazione della distanza e per avviare e interrompere la misurazione della distanza tra il dispositivo iniziatore e il dispositivo risponditore che eseguono la misurazione della distanza. Android 16 QPR3 introduce la versione 2 di questa specifica.
Lo scopo principale di questa pagina è consentire ai fornitori di dispositivi non Android di implementare questa specifica in modo che i loro dispositivi possano essere compatibili per la misurazione della distanza con i dispositivi Android.
Un'implementazione di questa specifica nel Packet Description Language (PDL) di Google è disponibile su GitHub. Da questa implementazione, il compilatore PDL può generare codice di serializzazione e deserializzazione per i messaggi definiti in questa specifica. Supporta una serie di linguaggi di destinazione, tra cui C++, Rust e Java.
Novità della versione 2
La versione 2 della specifica OOB introduce le seguenti modifiche:
- Transizione tecnologica: Consente il passaggio dinamico tra le tecnologie di misurazione della distanza durante una sessione attiva senza interrompere lo stream di dati.
- Ranging Capability Response
- Include un nuovo campo
Supported technology transitioningper indicare il supporto per le transizioni tecnologiche make-before-break. - Include un nuovo campo
Device typeche l'iniziatore può utilizzare per ottimizzare il consumo energetico tra i dispositivi.
- Include un nuovo campo
Endianness
Se non diversamente specificato, tutti i campi numerici multi-byte nei messaggi sono in ordine little-endian.
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 nello scambio 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, il modo in cui viene attivato lo 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
dal dispositivo iniziatore al dispositivo risponditore. Il dispositivo di risposta risponde inviando Ranging
Capability Response, come mostrato nella Figura 1:
Figura 1. Scambio di messaggi OOB utilizzando un canale di comunicazione basato sulla connessione.
Per i canali di comunicazione basati sulla pubblicità, il dispositivo di risposta inizia
a pubblicizzare Ranging Capability. In questo caso, Ranging Capability Request
non viene inviato dal dispositivo di avvio. Invece, dopo aver rilevato l'annuncio, quando il dispositivo di avvio (scanner iniziale) è pronto, risponde pubblicando Ranging Configuration come primo messaggio, come mostrato nella Figura 2:
Figura 2. Scambio di messaggi OOB utilizzando una comunicazione basata sulla pubblicità.
Il resto dello scambio di messaggi è lo stesso in entrambi i casi. Il dispositivo di risposta
inizia la misurazione della distanza immediatamente dopo aver ricevuto il messaggio Ranging Configuration.
Il dispositivo di risposta smette di misurare la 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 esiste un messaggio di richiesta di funzionalità precedente.
Il dispositivo iniziatore presuppone di ricevere una sola risposta a qualsiasi messaggio di richiesta
che invia. Il dispositivo di risposta non deve fare alcuna ipotesi di questo tipo, in modo da poter rispondere a qualsiasi richiesta in qualsiasi ordine. In questo modo si verifica che il dispositivo
di risposta possa rispondere a più messaggi Ranging Capability Request
consecutivi o a qualsiasi altro messaggio fuori ordine dal dispositivo di avvio.
Transizione tecnologica
La specifica OOB versione 2 introduce il supporto esplicito per la transizione tecnologica. In questo modo, i dispositivi possono passare dinamicamente da una tecnologia di misurazione all'altra durante una sessione. Per semplificare questa procedura, l'iniziatore può:
- Invia più messaggi
Ranging Configurationper avviare nuove tecnologie. - Invia più messaggi
Stop Rangingper interrompere le tecnologie attive.
L'ordine di questi messaggi varia a seconda dello schema di transizione supportato dal risponditore:
- Interruzione prima della creazione:l'iniziatore può passare a una nuova tecnologia
interrompendo la prima con un messaggio
Stop Rangingprima di avviare la seconda con un messaggioRanging Configuration. - Make-before-break:l'iniziatore può avviare una nuova tecnologia utilizzando un messaggio
Ranging Configurationprima di interrompere le tecnologie esistenti con un messaggioStop Ranging.
Il risponditore deve implementare il supporto per uno di questi schemi di transizione in
conformità con il valore del campo supported technology transitioning
nel relativo Capability Response.
ID tecnologia di misurazione della distanza
Gli ID delle tecnologie di misurazione sono elencati nella tabella seguente:
| Tecnologia di misurazione della distanza | ID |
|---|---|
| UWB | 0x0 |
| CS | 0x1 |
| Wi-Fi NAN RTT | 0x2 |
| RSSI | 0x3 |
| RFU | 0x4 - 0xFF |
Questi ID vengono utilizzati nelle seguenti tabelle in cui è richiesto l'ID tecnologia di misurazione della distanza. Per i campi contenenti la tecnologia di misurazione bitfield, 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 ranging, il bit con la posizione dell'ID (3) deve essere attivato (il primo bit si trova 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 (i bit 0 e 3 sono attivi).
Formato messaggio
Ogni messaggio è composto da un'intestazione e da un payload.
Figura 3. Formato del messaggio.
Intestazione
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 attuale di questa specifica è
2. Per saperne di più su come viene utilizzato il controllo delle versioni tra dispositivi con versioni diverse, consulta la sezione 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 tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | Versione |
|
| 1 | unit8 | ID messaggio |
|
Payload
Dimensioni: variano (a seconda del 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 tipo di messaggio individuale è definito nelle sezioni seguenti.
Payload del messaggio di richiesta della funzionalità di ranging
Dimensioni (dimensioni dell'intestazione non incluse): 2 byte
Description: inviato dal dispositivo iniziatore per avviare lo scambio di messaggi.
Questo messaggio è facoltativo quando il canale di comunicazione si basa sulla pubblicità,
nel qual caso il dispositivo di risposta deve pubblicizzare un messaggio Ranging
Capability come primo passaggio. Il dispositivo iniziatore (scanner iniziale)
legge la pubblicità e risponde direttamente con un messaggio Ranging Capability, evitando la necessità di questo messaggio.
Il payload del messaggio Ranging Capability Request è riepilogato nella tabella
seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8*2 | Bitfield delle tecnologie di misurazione della distanza richieste |
|
Payload del messaggio di risposta della funzionalità di misurazione della distanza
Dimensioni (dimensioni dell'intestazione non incluse): variabili (parte comune 2 byte più le dimensioni di ogni byte della tecnologia di misurazione inclusa)
Descrizione: inviato da chi ha risposto come risposta a un messaggio Ranging Capability
Request. Il payload del messaggio è costituito dalla parte comune e da parti specifiche della tecnologia di misurazione della distanza (BLE CS, Wi-Fi NAN RTT, BLE RSSI), come mostrato nelle tabelle seguenti. Ogni parte specifica della tecnologia di misurazione deve essere aggiunta solo se
questa tecnologia di misurazione è supportata dal dispositivo di risposta ed è richiesta nel
messaggio Ranging Capability Request. Nel caso di un canale di comunicazione
pubblicitaria, devono essere incluse tutte le tecnologie di misurazione supportate.
Il payload del messaggio Ranging Capability Response comune è riepilogato nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8*2 | Bitfield delle tecnologie di misurazione supportate. Indica l'insieme di funzionalità delle tecnologie di misurazione della distanza che seguono nel resto del payload. |
|
| 2 | array di byte | Byte di capacità della tecnologia di misurazione. | Blocchi ripetuti di struct definiti per tecnologia. |
| Variabile | uint8 | Indica il supporto per la transizione tecnologica. |
|
| Variabile | uint16 | Indica il tipo di dispositivo del rispondente. |
|
Il payload del messaggio UWB Ranging Capability Response è riassunto nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | ID tecnologia di misurazione della distanza | 0x0 - UWB |
| 1 | uint8 | Dimensioni | Dimensioni dei byte delle funzionalità UWB (inclusi i campi ID tecnologia e Dimensioni) in byte. |
| 2 | uint8*2 | Indirizzo UWB | Indirizzo UWB del dispositivo di 2 byte. |
| 4 | uint8*4 | Bitfield dei canali supportati | Bitfield dei canali supportati. Il bit impostato su 0 indica che non è supportato, 1 indica che è supportato. Il bit 0 corrisponde al canale 0.LSB == channel 0MSB == channel 31 |
| 8 | uint8*4 | Bitfield dell'indice del preambolo supportato | Bitfield degli indici del preambolo supportati. Il bit impostato su 0 indica che non è supportato, 1 indica che è supportato. Il bit 0 corrisponde all'indice del preambolo 1.LSB == preamble index 1MSB == preamble index 32 |
| 12 | uint8*4 | Bitfield degli ID configurazione supportati | Bitfield degli ID 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 minimo di misurazione supportato | Indica l'intervallo di misurazione più veloce supportato in millisecondi. Valori consentiti (in ms):
|
| 18 | uint8 | Durata minima dello slot supportata | Indica la durata dello slot più breve supportata in millisecondi. Ad esempio, se il dispositivo restituisce 1 ms, si presume che supporti anche durate degli slot di 2 ms o più. Valori consentiti (in ms):
|
| 19 | Bitfield del ruolo del dispositivo UWB supportato | Bitfield dei ruoli UWB supportati. Ad esempio, se entrambi supportano il valore del campo finale è 0x3.
|
Il payload del messaggio BLE CS Ranging Capability Response è riassunto nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | ID tecnologia di misurazione della distanza | 0x1 - BLE CS |
| 1 | uint8 | Dimensioni | Dimensioni dei byte delle funzionalità BLE CS (inclusi i campi ID tecnologia e Dimensioni) in byte. |
| 2 | uint8 | Bitfield del tipo di sicurezza supportato | Bitfield dei tipi di sicurezza supportati per BLE CS.
|
| 3 | uint8*6 | Indirizzo del dispositivo | L'indirizzo del dispositivo utilizzato per BLE CS, in ordine big-endian. |
Il payload del messaggio Wi-Fi NAN RTT Ranging Capability Response è riepilogato nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | ID tecnologia di misurazione della distanza | 0x2 - Wi-Fi NAN RTT |
| 1 | uint8 | Dimensioni | Dimensioni dei byte delle funzionalità RSSI BLE (inclusi i campi ID tecnologia e Dimensioni) in byte. |
| 2 | uint8 | Bitfield delle funzionalità supportate | Campo di bit delle funzionalità supportate.
|
| 3 | uint8 | Supporta la misurazione periodica |
|
| 4 | uint8 | Larghezza di banda supportata | Queste informazioni aiutano a derivare la precisione di misurazione raggiungibile utilizzando Wi-Fi NAN e possono aiutare le app a determinare se utilizzare UWB, BLE CS, BLE RSSI o Wi-Fi NAN per la misurazione.
|
| 5 | uint8 | Numero supportato di catene di ricezione | Queste informazioni aiutano a derivare la precisione di misurazione raggiungibile utilizzando Wi-Fi NAN e possono aiutare le app a determinare se utilizzare UWB, BLE CS, BLE RSSI o Wi-Fi NAN per la misurazione.
|
Il payload del messaggio BLE RSSI Ranging Capability Response è riassunto nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | ID tecnologia di misurazione della distanza | 0x3 - BLE RSSI |
| 1 | uint8 | Dimensioni | Le dimensioni dei byte delle funzionalità RSSI BLE (inclusi i campi ID tecnologia e Dimensioni) in byte |
| 2 | uint8*6 | Indirizzo del dispositivo | L'indirizzo del dispositivo utilizzato per BLE RSSI; in ordine big-endian |
Payload del messaggio di configurazione del ranging
Dimensioni (dimensioni dell'intestazione non incluse): variabili (parte comune di 4 byte più le dimensioni di ogni byte della tecnologia di misurazione inclusa).
Descrizione: questo messaggio viene inviato dall'iniziatore e contiene le configurazioni con cui ogni tecnologia di misurazione della distanza può iniziare a misurare. Il dispositivo di risposta deve tentare di avviare la misurazione della distanza con ogni tecnologia di misurazione della distanza indicata alla ricezione 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 è riepilogato nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8*2 | Bitfield del set di configurazione delle tecnologie di misurazione | Bitfield delle tecnologie di misurazione della distanza per le quali questo messaggio contiene dati di configurazione e per le quali devono essere impostati i parametri di configurazione.
|
| 2 | uint8*2 | Bitfield | RFU. Deve essere impostato sullo stesso valore del campo Bitfield del set di configurazione delle tecnologie di misurazione della distanza. |
| 4 | array di byte | Byte di configurazione delle tecnologie di misurazione della distanza | Blocchi ripetuti di struct definiti per tecnologia |
Il payload del messaggio UWB Ranging Configuration è riepilogato nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | ID tecnologia di misurazione della distanza | 0x0 - UWB |
| 1 | uint8 | Dimensioni | Dimensioni della configurazione UWB (inclusi i campi ID tecnologia e Dimensioni) 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 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 UWB. |
| 9 | uint8 | Canale selezionato | Canale selezionato per la sessione di misurazione UWB |
| 10 | uint8 | Indice del preambolo selezionato | Indice del preambolo selezionato per la sessione di misurazione UWB |
| 11 | uint8*2 | Intervallo di misurazione selezionato | Velocità dell'intervallo di misurazione selezionato in millisecondi. Valori consentiti (in ms):
|
| 13 | uint8 | Durata dello spazio selezionata | Durata dello slot selezionato in millisecondi. Valori consentiti (in ms):
|
| 14 | uint8 | Lunghezza della chiave di sessione | Lunghezza della chiave di sessione in byte |
| 15 | array di byte | Chiave sessione | Chiave sessione. Se viene utilizzato S-STS, i primi due byte sono l'ID fornitore 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 |
|
| varia | uint8 | Modalità dispositivo selezionata |
|
Il payload del messaggio BLE CS Ranging Configuration è riassunto nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | ID tecnologia di misurazione della distanza | 0x1 - BLE CS |
| 1 | uint8 | Dimensioni | Dimensioni della configurazione BLE CS (inclusi i campi ID tecnologia e Dimensioni) in byte |
| 2 | uint8 | Tipo di sicurezza selezionato | Tipo di sicurezza selezionato. Valori consentiti:
|
| 3 | uint8*6 | Indirizzo del dispositivo | L'indirizzo del dispositivo utilizzato per BLE CS; in ordine big-endian |
Il payload del messaggio Wi-Fi NAN RTT Ranging Configuration è riepilogato nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | ID tecnologia di misurazione della distanza | 0x2 - Wi-Fi NAN RTT |
| 1 | uint8 | Dimensioni | Dimensioni della configurazione RTT NAN Wi-Fi (inclusi i campi ID tecnologia e Dimensioni) in byte |
| 2 | uint8 | Lunghezza del nome del servizio | Lunghezza del campo Nome servizio in byte. Consulta la specifica Wi-Fi Aware v4.0, sezione 1.3.3, tabella 1. Definizioni. |
| 3 | array di byte | Nome servizio | Nome del servizio. Consulta la specifica Wi-Fi Aware v4.0, sezione 1.3.3, tabella 1. Definizioni. |
| varia | uint8 | Ruolo dispositivo |
|
| varia | uint8 | Utilizzare la misurazione periodica |
|
Il payload del messaggio BLE RSSI Ranging Configuration è riassunto nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8 | ID tecnologia di misurazione della distanza | 0x3 - BLE RSSI |
| 1 | uint8 | Dimensioni | Dimensioni della configurazione RSSI BLE (inclusi i campi ID tecnologia e Dimensioni) in byte |
| 2 | uint8*6 | Indirizzo del dispositivo | L'indirizzo del dispositivo utilizzato per BLE RSSI; in ordine big-endian |
Payload del messaggio di risposta alla configurazione del ranging
Dimensioni (dimensioni dell'intestazione non incluse): 2 byte
Description: This message is sent by the responder as a response to the
Ranging Configuration message. Questo messaggio è facoltativo, è richiesto solo
quando il canale di comunicazione utilizzato richiede una risposta esplicita per ogni
richiesta.
Il payload del messaggio Ranging Configuration Response è riassunto nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8*2 | Bitfield di configurazione delle tecnologie di misurazione impostato correttamente | Bitfield delle tecnologie di misurazione che sono state impostate correttamente. Il campo di bit imposta il bit della tecnologia di ranging su 1 se la tecnologia è stata richiesta e impostata correttamente e su 0 in caso contrario.
|
Stop Ranging message payload
Dimensioni (dimensioni dell'intestazione non incluse): 2 byte
Descrizione: questo messaggio viene inviato dal dispositivo iniziatore quando è il momento di interrompere la misurazione della distanza con la tecnologia di misurazione della distanza specificata.
Il payload del messaggio Stop Ranging è riepilogato nella tabella seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8*2 | Tecnologie di ranging per interrompere il campo di bit | Bitfield delle tecnologie di misurazione che devono interrompere la misurazione. 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 stava misurando in primo luogo o che deve continuare a misurare se lo stava già facendo. Per alcune tecnologie di misurazione della distanza (come CS), questa operazione non ha effetto perché la misurazione della distanza viene avviata e interrotta solo sul lato dell'iniziatore.
|
Stop Ranging Response message payload
Dimensioni (dimensioni dell'intestazione non incluse): 2 byte
Description: This message is sent by the responder as a response to the
Stop Ranging message. 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 è riepilogato nella tabella
seguente:
| Ottetto | Tipo di dati | Descrizione | Valore |
|---|---|---|---|
| 0 | uint8*2 | Bitfield delle tecnologie di misurazione della distanza interrotte correttamente | Bitfield delle tecnologie di misurazione che hanno interrotto la misurazione. Il campo di bit imposta il bit della tecnologia di ranging su 1 se è stato richiesto l'arresto della tecnologia e se l'operazione è riuscita, altrimenti su 0.
|
Controllo delle versioni
La versione della specifica è contenuta nell'intestazione di ogni messaggio. Questa sezione definisce come viene condotta la comunicazione quando uno dei dispositivi (l'iniziatore o il risponditore) utilizza 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,
in cui Ranging Capability Request è il primo messaggio inviato dal dispositivo
iniziatore.
Scenario 1.a: l'iniziatore supporta la versione più recente, il risponditore supporta la versione precedente della specifica.
Il dispositivo iniziatore 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.
Scenario 1.b: l'iniziatore supporta una versione precedente, il risponditore supporta una versione più recente della specifica.
Il dispositivo di risposta rileva che il dispositivo di avvio non è in grado di utilizzare la versione più recente, quindi invia messaggi solo utilizzando la versione precedente richiesta inizialmente dal dispositivo di avvio.
Scenario 2: canale di comunicazione basato sulla pubblicità
Questa sezione descrive i casi che utilizzano un canale di comunicazione basato sulla pubblicità, in cui il dispositivo di risposta pubblicizza Ranging Capability Request direttamente, senza una richiesta iniziale.
Scenario 2.a: l'iniziatore supporta la versione più recente, il risponditore supporta la versione precedente della specifica.
La versione precedente impostata nella pubblicità Ranging Capability Response viene utilizzata
per il resto della comunicazione.
Scenario 2.b: l'iniziatore supporta una versione precedente, il risponditore supporta una 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 iniziatore possa leggere il messaggio anche
se utilizza una versione più recente. Il dispositivo iniziatore 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 che può 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 è troppo grande per essere inserito in un pacchetto di trasferimento del canale di comunicazione utilizzato. Il modulo Ranging prevede di ricevere ogni messaggio nella sua forma completa. La responsabilità della frammentazione spetta all'implementatore del canale di comunicazione OOB.
Specifiche della tecnologia di misurazione della distanza
Questa sezione contiene dettagli specifici della tecnologia di misurazione della distanza.
Specifiche della banda ultralarga (UWB)
Questa sezione descrive i dettagli specifici della banda ultralarga.
ID configurazione
I dati di configurazione OOB scambiati per UWB non contengono un insieme completo di parametri configurabili disponibili richiesti da UWB per avviare una sessione di misurazione 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 che supporta nell'ambito del
messaggio di risposta alla funzionalità e l'iniziatore seleziona uno degli ID configurazione
supportati da utilizzare. Ciò consente di scambiare un insieme più piccolo di parametri di configurazione
durante la configurazione guidata. Inoltre, limita la quantità di possibili combinazioni di parametri che possono essere utilizzati per la misurazione con 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 iniziatore deve richiedere le funzionalità del dispositivo risponditore e impostare nuovamente i parametri di configurazione, perché l'indirizzo UWB può ruotare non appena termina la sessione di misurazione della distanza corrente.
Specifiche del rilevamento del canale BLE (CS)
Questa sezione descrive i dettagli specifici del sondaggio sul canale.
Legame richiesto tra i dispositivi
Per il funzionamento della misurazione della distanza tramite il rilevamento del canale è necessario un accoppiamento esistente tra il dispositivo iniziatore e quello risponditore. Questa specifica non fornisce un modo per creare un accoppiamento tra i dispositivi. L'utente delle API Ranging deve stabilire questo accoppiamento tra i dispositivi.
Azione richiesta da parte del rispondente per l'assistenza clienti
In UWB, entrambi i dispositivi devono chiamare in modo esplicito le API di avvio e interruzione del rilevamento della distanza UWB. Al contrario, per CS è necessario solo il dispositivo iniziatore per
avviare la misurazione CS chiamando lo stack Bluetooth (BT). Il resto dell'inizializzazione sul lato del risponditore avviene in banda tramite BT. Ciò significa che, dopo aver ricevuto il messaggio Ranging Configuration o il messaggio Stop Ranging per CS, il lato del risponditore non deve fare nulla se BT è abilitato. Il
dispositivo di risposta potrebbe utilizzare questi messaggi come trigger per aggiornare la UI o, ad
esempio, far lampeggiare i LED del dispositivo.