Ranging: Out-of-band specification version 3

Android 16 ha introdotto il modulo Ranging. 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 17 introduce la versione 3 di questa specifica.

Questa pagina descrive come i fornitori di dispositivi non Android possono implementare questa specifica in modo che i loro dispositivi siano compatibili 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. Questa specifica supporta una serie di linguaggi di destinazione, tra cui C++, Rust e Java.

Novità della versione 3

La versione 3 della specifica OOB introduce le seguenti modifiche:

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
Motion Notification 0x8

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:

Flusso del canale di comunicazione

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

Il dispositivo di risposta inizia a misurare la 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.

Il dispositivo di risposta compila le funzionalità solo delle tecnologie di misurazione della distanza richieste nel messaggio Ranging Capability Request.

Il dispositivo iniziatore prevede di ricevere una sola risposta a qualsiasi messaggio di richiesta che invia. Il dispositivo di risposta non deve fare queste ipotesi, 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 iniziatore.

Transizione tecnologica

La versione OOB consente ai dispositivi di passare dinamicamente da una tecnologia di misurazione all'altra durante una sessione. Per semplificare questa procedura, l'iniziatore può:

  • Invia più messaggi Ranging Configuration per avviare nuove tecnologie.
  • Invia più messaggi Stop Ranging per 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 solo interrompendo la prima con un messaggio Stop Ranging prima di avviare la seconda con un messaggio Ranging Configuration.
  • Make-before-break:l'iniziatore può avviare una nuova tecnologia utilizzando un messaggio Ranging Configuration prima di interrompere le tecnologie esistenti con un messaggio Stop 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 Ranging Capability Response.

ID tecnologia di misurazione della distanza

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

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

Questi ID vengono utilizzati nelle tabelle di questa pagina in cui è richiesto l'ID della tecnologia di misurazione della distanza. Per i campi contenenti il bitfield della tecnologia di misurazione, 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.

Formato messaggio

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. Per ulteriori informazioni su come viene utilizzato il controllo delle versioni tra dispositivi con versioni diverse, vedi 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
  • 0x1 - V1
  • 0x2 - V2
  • 0x3 - V3
1 uint8 ID messaggio
  • 0x0 - Ranging Capability Request messaggio
  • 0x1 - Messaggio Ranging Capability Response
  • 0x2 - Messaggio Ranging Configuration
  • 0x3 - Ranging Configuration Response messaggio (facoltativo)
  • 0x6 - Messaggio Stop Ranging
  • 0x7 - Messaggio Stop Ranging Response (facoltativo)
  • 0x8 - Motion Notification messaggio
  • 0x4-0x5, 0x9 - 0xFF RFU

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 misurazione della distanza

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

Description: Sent by the initiator device to initiate the message exchange.

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
  • 0x01 - UWB
  • 0x02 - BLE channel sounding
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Rilevamento di prossimità (PD) Wi-Fi
  • RFU

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 rilevamento 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 è supportata dal dispositivo di risposta ed è richiesta nel messaggio Ranging Capability Request.

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.
  • 0x01 - UWB
  • 0x02 - BLE channel sounding
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Wi-Fi PD
  • RFU
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.
  • 0x00: è supportata la funzionalità Break-before-make.
  • 0x01: è supportata la funzionalità Make-before-break. Il risponditore è in grado di eseguire la misurazione con più tecnologie contemporaneamente.
Variabile uint16 Indica il tipo di dispositivo del rispondente.
  • 0x00 - Sconosciuto
  • 0x01 - Telefono
  • 0x02 - Tablet
  • 0x03 - Tag
  • 0x04 - Wearable
  • 0x05 - Auricolare smart
  • RFU

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 0
MSB == 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 1
MSB == 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):
  • 96
  • 120
  • 240
  • 600
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 superiori. Valori consentiti (in ms):
  • 1
  • 2
19 uint8 Bitfield del ruolo del dispositivo UWB supportato Bitfield dei ruoli UWB supportati. Ad esempio, se entrambi supportano il valore del campo finale è 0x3.
  • 0x1 - ruolo di iniziatore supportato
  • 0x2 - ruolo di risponditore supportato

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.
  • 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 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à RTT NAN Wi-Fi (inclusi i campi ID tecnologia e Dimensioni).
2 uint8 Bitfield delle funzionalità supportate Campo di bit delle funzionalità supportate.
  • 0x01 - 11mc capable
  • 0x02 - 11az capable
3 uint8 Supporta la misurazione periodica
  • 0x0 - periodic ranging not supported
  • 0x1: misurazione periodica supportata
4 uint8 Larghezza di banda supportata DEPRECATO: queste informazioni aiutano a derivare l'accuratezza della misurazione della distanza ottenibile 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 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 supportato di catene di ricezione DEPRECATO:queste informazioni aiutano a derivare l'accuratezza della misurazione della distanza ottenibile 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 della distanza.
  • 0x00 - Non definito
  • 0x01 - 1 RX chain
  • 0x02 - 2 RX chains
  • 0x03 - 3 catene RX
  • 0x04 - 4 catene RX

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

Il payload del messaggio Wi-Fi PD Ranging Capability Response è riepilogato nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8 ID tecnologia di misurazione della distanza 0x4 - Wi-Fi PD
1 uint8 Dimensioni Le dimensioni dei byte delle funzionalità di Wi-Fi PD (inclusi i campi ID tecnologia e Dimensioni) in byte
2 uint8 Funzionalità supportate Bitmap
  • b0 - 11mc capable
  • b1 - 11az capable
3 uint8 Modalità PASN Bitmap
  • b0 - Unauthenticated PASN mode
  • b1 - Modalità PASN autenticata
4 uint8*6 Indirizzo del dispositivo L'indirizzo del dispositivo utilizzato per Wi-Fi PD, in ordine big-endian.
10 uint8*2 Intervallo minimo di misurazione della distanza 802.11mc Intervallo minimo di misurazione supportato nel formato big-endian per 11mc
12 uint8*2 Intervallo minimo di misurazione della distanza 802.11az Intervallo minimo di misurazione supportato nel formato big-endian per 11az
14 uint8 Tipo di preambolo massimo
  • 0 - PREAMBLE_LEGACY
  • 1 - PREAMBLE_HT
  • 2 - PREAMBLE_VHT
  • 3 - PREAMBLE_HE
  • 4 - PREAMBLE_EHT

Ciò presuppone che tutti i tipi di preambolo inferiori siano supportati.
15 uint8 Larghezza massima del canale
  • 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

Ciò presuppone che tutte le larghezze di banda del canale inferiori siano supportate.
16 uint8*2 Frequenza dei canali supportati
  • b0 - Channel 1
  • b1 - Canale 11
  • b2 - Canale 36
  • b3 - Channel 40
  • b4 - Channel 44
  • b5 - Canale 48
  • b6 - Canale 153
  • b7 - Canale 157
  • b8 - Canale 161
  • b9 - Channel 165
  • b10-b15 - RFU

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 rilevamento 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.
  • 0x01 - UWB
  • 0x02 - BLE channel sounding
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Wi-Fi PD
  • RFU
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
Variabile uint8 Supporto per il movimento Motion Notification ha richiesto
  • 0x0: indica che non sono necessari dati sul movimento per il dispositivo iniziatore.
  • 0x1: indica che il dispositivo iniziatore richiede i dati di movimento dal dispositivo peer.

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):
  • 96
  • 120
  • 240
  • 600
13 uint8 Durata dello spazio selezionato Durata dello slot 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 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
  • 0x01 - Iniziatore
  • 0x02 - Responder
varia uint8 Modalità dispositivo selezionata
  • 0x01 - Controller
  • 0x02 - Controlee

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:
  • 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 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
  • 0x0 - Responder (editore del servizio NAN)
  • 0x1 - Iniziatore (abbonato al servizio NAN)
varia uint8 Utilizzare la misurazione periodica
  • 0x0 - Rilevamento periodico disabilitato
  • 0x1 - Rilevamento periodico abilitato

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

Il payload del messaggio Wi-Fi PD Ranging Configuration è riepilogato nella tabella seguente:

Ottetto Tipo di dati Descrizione Valore
0 uint8 ID tecnologia di misurazione della distanza 0x4 - Wi-Fi PD
1 uint8 Dimensioni Dimensioni della configurazione Wi-Fi PD (inclusi i campi ID tecnologia e Dimensioni) in byte
2 uint8 Funzionalità
  • 0x01 - 11mc
  • 0x02 - 11az
3 uint8*6 Indirizzo MAC Indirizzo MAC dell'iniziatore
9 uint8*2 Intervallo di misurazione Intervallo di misurazione in ms
11 uint8 Preambolo selezionato
  • 0 - PREAMBLE_LEGACY
  • 1 - PREAMBLE_HT
  • 2 - PREAMBLE_VHT
  • 3 - PREAMBLE_HE
  • 4 - PREAMBLE_EHT
12 uint8 Larghezza del canale selezionato
  • 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 Canale selezionato
  • 0 - Channel 1
  • 1 - Channel 11
  • 2 - Canale 36
  • 3 - Channel 40
  • 4 - Channel 44
  • 5 - Canale 48
  • 6 - Canale 153
  • 7 - Canale 157
  • 8 - Channel 161
  • 9 - Canale 165
14 uint8 Modalità PASN selezionata
  • 0x01 - Unauthenticated PASN mode
  • 0x02 - Modalità PASN autenticata
Nota:questo campo è la fine del pacchetto per la modalità PASN non autenticata.
15 array di byte Chiave dell'identità del dispositivo Array fisso di 16 byte
Nota: questo campo è valido solo per la modalità PASN autenticata e non deve essere impostato per la modalità PASN non autenticata
31 uint8 Lunghezza della password Lunghezza della password.
Nota:questo campo è valido solo per la modalità PASN autenticata e non deve essere impostato per la modalità PASN non autenticata.
varia array di byte Password Password come array di byte.
Nota:questo campo è valido solo per la modalità PASN autenticata e non deve essere impostato per la modalità PASN non autenticata.

Payload del messaggio di risposta alla configurazione del ranging

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

Descrizione: questo messaggio viene inviato dal risponditore in risposta al messaggio Ranging Configuration. 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 della distanza 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.
  • 0x01 - UWB
  • 0x02 - BLE channel sounding
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Wi-Fi PD
  • RFU

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 misurazione per arrestare il campo di bit Bitfield delle tecnologie di misurazione della distanza 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.
  • 0x01 - UWB
  • 0x02 - BLE channel sounding
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Wi-Fi PD
  • RFU

Stop Ranging Response message payload

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

Descrizione: questo messaggio viene inviato dal risponditore in 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 è 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 misurazione su 1 se è stato richiesto l'arresto della tecnologia e se l'arresto è andato a buon fine, altrimenti su 0.
  • 0x01 - UWB
  • 0x02 - BLE channel sounding
  • 0x04 - Wi-Fi NAN RTT
  • 0x08 - BLE RSSI
  • 0x10 - Wi-Fi PD
  • RFU

Payload del messaggio di notifica di movimento

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

Descrizione:il dispositivo di risposta invia questo messaggio per informare il dispositivo di avvio di eventuali modifiche al suo stato di movimento.

Ottetto Tipo di dati Descrizione Valore
0 uint8 Movimento
  • 0x0 - Non rilevato
  • 0x1 - Movimento leggero
  • 0x2 - Movimento moderato
  • 0x3 - Movimento ampio
  • RFU
La soglia di movimento deve essere configurata per rilevare una variazione di orientamento di ±X° lungo due assi qualsiasi dell'accessorio.
  • Non rilevato: < 5°
  • Movimento leggero: 5° - 7°
  • Movimento moderato: 7° - 10°
  • Movimento ampio: > 10°

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 (il dispositivo che avvia la comunicazione o quello che risponde) utilizza una versione precedente rispetto all'altro dispositivo. Ranging Capability Request è il primo messaggio inviato dal dispositivo iniziatore.

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 che risponde supporta solo la versione precedente, quindi risponde con quella e la versione precedente del dispositivo che risponde viene utilizzata per il resto dello scambio di messaggi. Ciò significa che il messaggio Ranging Capability Request deve essere compatibile con le versioni precedenti.

L'iniziatore supporta la versione precedente, il rispondente supporta la 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.

Per garantire la compatibilità con le versioni precedenti dei messaggi, tutti i nuovi campi aggiunti alla versione successiva di questa specifica devono essere accodati 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 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 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 OOB. Inoltre, limita il numero 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.

Crittografia dei link richiesta tra i dispositivi

Per il funzionamento della misurazione della distanza tramite il rilevamento del canale è necessario un legame esistente tra il dispositivo iniziatore e quello risponditore. Questa specifica non fornisce un modo per creare un accoppiamento tra i dispositivi. Devi stabilire questo accoppiamento tra i dispositivi quando utilizzi le API Ranging.

Azione richiesta dalla parte del rispondente per l'assistenza clienti

Nella tecnologia UWB, entrambi i dispositivi devono chiamare in modo esplicito le API di avvio e interruzione della misurazione della distanza UWB. Al contrario, per CS è necessario solo il dispositivo iniziatore per avviare la misurazione CS chiamando lo stack 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.