Mit Android 16 wurde das Ranging-Modul eingeführt. Dieses Protokoll und diese Nutzlastspezifikation definieren die Nachrichtenfolge und die Nutzlast der Out-of-Band-Kommunikation (OOB), die zum Austausch von Entfernungs-Konfigurationen sowie zum Starten und Beenden der Entfernungsmessung zwischen dem Initiator- und dem Responder-Gerät verwendet wird.
Das Hauptziel dieser Seite ist es, Anbietern von Nicht-Android-Geräten die Implementierung dieser Spezifikation zu ermöglichen, damit ihre Geräte mit Android-Geräten kompatibel sind.
Nachrichten und Nachrichtenfolge
In diesem Abschnitt werden die Nachrichten und die Reihenfolge des Nachrichtenaustauschs beschrieben.
In der folgenden Tabelle sind alle Nachrichten aufgeführt, die im OOB-Austausch enthalten sind:
Nachricht | Nachrichten-ID |
---|---|
Ranging Capability Request |
0x0 |
Ranging Capability Response |
0x1 |
Ranging Configuration |
0x2 |
Ranging Configuration Response (optional) |
0x3 |
Stop Ranging |
0x6 |
Stop Ranging Response (optional) |
0x7 |
Wie in Abbildung 1 und Abbildung 2 dargestellt, hängt die Auslösung des Nachrichtenaustauschs vom Kommunikationskanal ab.
Bei verbindungsorientierten Kommunikationskanälen wie BLE GATT beginnt der Nachrichtenaustausch damit, dass das Initiatorgerät Ranging Capability Request
an das Respondergerät sendet. Das Antwortgerät antwortet mit Ranging
Capability Response
, wie in Abbildung 1 dargestellt:
Abbildung 1: OOB-Nachrichtenaustausch über einen verbindungsbasierten Kommunikationskanal.
Bei werbebasierten Kommunikationskanälen beginnt das Antwortgerät mit der Übertragung von Ranging Capability
. In diesem Fall wird Ranging Capability Request
nicht vom initiierenden Gerät gesendet. Stattdessen reagiert das initiierende Gerät (initial scanner) nach dem Erkennen der Werbung, wenn es bereit ist, mit der Werbung von Ranging Configuration
als erster Nachricht, wie in Abbildung 2 dargestellt:
Abbildung 2: OOB-Nachrichtenaustausch über eine auf Werbung basierende Kommunikation.
Der Rest des Nachrichtenaustauschs ist in beiden Fällen identisch. Das Antwortgerät beginnt mit der Entfernungsmessung, sobald es die Ranging Configuration
-Nachricht empfängt.
Das Responder-Gerät beendet die Entfernungsmessung, nachdem es die Stop
Ranging
-Nachricht empfangen oder erkannt hat.
Im verbindungsbasierten Ablauf füllt das Antwortgerät die Funktionen nur der in der Ranging Capability Request
-Nachricht angeforderten Ranging-Technologien aus. Im Broadcast-Ablauf muss das Antwortgerät alle seine Funktionen auflisten, da es keine vorherige Nachricht zur Funktionsanfrage gibt.
Das Initiatorgerät geht davon aus, dass es nur eine Antwort auf jede von ihm gesendete Anfragenachricht erhält. Das antwortende Gerät darf keine solchen Annahmen treffen, damit es auf jede Anfrage in beliebiger Reihenfolge reagieren kann. So kann das Antwortgerät auf mehrere aufeinanderfolgende Ranging Capability Request
-Nachrichten oder andere Nachrichten in falscher Reihenfolge vom Initiatorgerät reagieren.
IDs der Ranging-Technologie
Die IDs der Ranging-Technologien sind in der folgenden Tabelle aufgeführt:
Entfernungsmessungstechnologie | ID |
---|---|
UWB | 0x0 |
CS | 0x1 |
WLAN-NAN-RTT | 0x2 |
RSSI | 0x3 |
RFU | 0x4 – 0xFF |
Diese IDs werden in den folgenden Tabellen verwendet, in denen die ID der Ranging-Technologie erforderlich ist. Bei Feldern, die das Bitfeld für die Entfernungsmessungstechnologie enthalten, wird ein Bit, das dem Index der ID der Technologie entspricht, festgelegt, wenn diese Technologie im Bitfeld enthalten ist.
RSSI hat beispielsweise den ID-Wert 3. Wenn RSSI jedoch im Bitfeld der Ortungstechnologie enthalten ist, muss das Bit mit der Position der ID (3) aktiviert werden (das erste Bit hat die Position 0). Der resultierende Wert des Bitfelds ist dann 0x8. Wenn sowohl UWB als auch RSSI enthalten sind, ist der Wert des Bitfelds 0x0A (sowohl Bit 0 als auch Bit 3 sind aktiviert).
Nachrichtenformat
Jede Nachricht besteht aus einem Header und einer Nutzlast.
Abbildung 3: Nachrichtenformat.
Header
Größe:2 Byte
Beschreibung:Der Header ist der erste Teil einer Nachricht und ist für alle Nachrichten gleich. Der Header enthält eine Version und die ID des Nachrichtentyps. Im Feld „version“ wird die Version dieser Spezifikation angegeben, der der Inhalt der Nachricht entspricht. Die aktuelle Version dieser Spezifikation ist 1
. Weitere Informationen zur Verwendung der Versionsverwaltung zwischen Geräten mit unterschiedlichen Versionen finden Sie unter Versionsverwaltung. Der Header ist über verschiedene Versionen hinweg abwärtskompatibel. Das bedeutet, dass der Anwendungsfall ihn immer parsen kann, um die Version und die ID der Nachricht zu ermitteln.
Der Header ist in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8 | Version | 0x1 – Aktuelle Version |
1 | unit8 | Nachrichten-ID |
|
Nutzlast
Größe:Variiert (abhängig von der Art der Nachricht)
Beschreibung:Die Nutzlast ist der letzte Teil der Nachricht nach dem Header. Die Nutzlast hängt vom Typ der Nachricht ab. Das Format für die Nutzlast der einzelnen Nachrichtentypen wird in den folgenden Abschnitten definiert.
Nutzlast der Anfrage für die Entfernungsbestimmung
Größe (Headergröße nicht enthalten): 2 Byte
Beschreibung:Wird vom Initiatorgerät gesendet, um den Nachrichtenaustausch zu starten.
Diese Nachricht ist optional, wenn der Kommunikationskanal auf Werbung basiert. In diesem Fall muss das Antwortgerät als ersten Schritt eine Ranging
Capability
-Nachricht senden. Das Initiatorgerät (anfänglicher Scanner) liest die Werbung und antwortet direkt mit einer Ranging Capability
-Nachricht, sodass diese Nachricht nicht erforderlich ist.
Die Ranging Capability Request
-Nachrichtennutzlast wird in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8*2 | Bitfeld der angeforderten Technologien für die Entfernungsmessung |
|
Nutzlast der Antwortnachricht für die Entfernungsbestimmung
Größe (Headergröße nicht enthalten): Variiert (gemeinsamer Teil 2 Byte plus die Größe der Byte für jede enthaltene Technologie zur Entfernungsmessung)
Beschreibung:Wird vom Antwortenden als Antwort auf eine Ranging Capability
Request
-Nachricht gesendet. Diese Nachrichtennutzlast besteht aus dem gemeinsamen Teil und den technologiebezogenen Teilen (BLE CS, Wi-Fi NAN RTT, BLE RSSI), wie in den folgenden Tabellen dargestellt. Jeder technologiebezogene Teil muss nur hinzugefügt werden, wenn die entsprechende Technologie vom Responder-Gerät unterstützt wird und in der Ranging Capability Request
-Nachricht angefordert wird. Bei einem Werbe-Kommunikationskanal müssen alle unterstützten Ranging-Technologien enthalten sein.
Die allgemeine Ranging Capability Response
-Nachrichtennutzlast wird in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8*2 | Bitfeld der unterstützten Ranging-Technologien. Gibt die Reihe von Funktionen der Ortungstechnologien an, die im Rest der Nutzlast folgen. |
|
2 | Byte-Array | Bytes für die Technologie zur Entfernungsmessung. | Wiederholte Blöcke von Strukturen, die pro Technologie definiert sind. |
Die Nutzlast der UWB-Ranging Capability Response
-Nachricht wird in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8 | ID der Technologie zur Entfernungsmessung | 0x0 – UWB |
1 | uint8 | Größe | Größe der UWB-Funktionen in Byte (einschließlich der Felder Technology ID und Size). |
2 | uint8*2 | UWB-Adresse | 2 Byte lange UWB-Adresse des Geräts. |
4 | uint8*4 | Bitfeld für unterstützte Kanäle | Bitfeld der unterstützten Kanäle. Wenn das Bit auf 0 gesetzt ist, wird die Funktion nicht unterstützt. Wenn es auf 1 gesetzt ist, wird sie unterstützt. Bit 0 entspricht Kanal 0.LSB == channel 0 MSB == channel 31 |
8 | uint8*4 | Unterstütztes Bitfeld für den Preamble-Index | Bitfeld der unterstützten Präambelindexe. Wenn das Bit auf 0 gesetzt ist, wird die Funktion nicht unterstützt. Wenn es auf 1 gesetzt ist, wird sie unterstützt. Bit 0 entspricht dem Präambelindex 1.LSB == preamble index 1 MSB == preamble index 32 |
12 | uint8*4 | Bitfeld der unterstützten Konfigurations-IDs | Bitfeld der unterstützten Konfigurations-IDs für UWB. Wenn das Bit auf 0 gesetzt ist, wird es nicht unterstützt. Wenn es auf 1 gesetzt ist, wird es unterstützt.LSB == config Id 0 > MSB == config Id 31 |
16 | uint8*2 | Unterstütztes minimales Intervall für die Entfernungsmessung | Gibt das schnellste unterstützte Entfernungsintervall in Millisekunden an. Zulässige Werte (in Millisekunden):
|
18 | uint8 | Unterstützte Mindestdauer für Slots | Gibt die kleinste unterstützte Slot-Dauer in Millisekunden an. Wenn das Gerät beispielsweise 1 ms zurückgibt, wird davon ausgegangen, dass es auch Slot-Dauern von 2 ms oder mehr unterstützt. Zulässige Werte (in Millisekunden):
|
19 | Unterstütztes Bitfeld für die UWB-Geräterolle | Bitfeld der unterstützten UWB-Rollen. Wenn beide unterstützt werden, ist der endgültige Feldwert beispielsweise 0x3.
|
Die Nutzlast der BLE CS-Nachricht Ranging Capability Response
ist in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8 | ID der Technologie zur Entfernungsmessung | 0x1 – BLE CS |
1 | uint8 | Größe | Größe der BLE CS-Funktionen in Byte (einschließlich der Felder Technology ID und Size). |
2 | uint8 | Bitfeld für unterstützte Sicherheitstypen | Bitfeld der unterstützten Sicherheitstypen für BLE CS.
|
3 | uint8*6 | Geräteadresse | Die Adresse des Geräts, das für BLE CS verwendet wird, in Big-Endian-Reihenfolge. |
Die Nutzlast der Ranging Capability Response
-Nachricht für Wi-Fi NAN RTT ist in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8 | ID der Technologie zur Entfernungsmessung | 0x2 – Wi-Fi NAN RTT |
1 | uint8 | Größe | Größe der BLE RSSI-Funktionen in Byte (einschließlich der Felder Technology ID und Size). |
2 | uint8 | Bitfeld für unterstützte Funktionen | Bitfeld der unterstützten Funktionen.
|
3 | uint8 | Unterstützt regelmäßige Entfernungsbestimmung |
|
4 | uint8 | Unterstützte Bandbreite | Diese Informationen helfen dabei, die erreichbare Genauigkeit der Entfernungsmessung mit Wi-Fi NAN abzuleiten. Außerdem können Apps so besser entscheiden, ob sie UWB, BLE CS, BLE RSSI oder Wi-Fi NAN für die Entfernungsmessung verwenden sollen.
|
5 | uint8 | Unterstützte Anzahl von Empfangsketten | Diese Informationen helfen dabei, die erreichbare Genauigkeit der Entfernungsmessung mit Wi-Fi NAN abzuleiten. Außerdem können Apps so besser entscheiden, ob sie UWB, BLE CS, BLE RSSI oder Wi-Fi NAN für die Entfernungsmessung verwenden sollen.
|
Die Nutzlast der BLE RSSI-Nachricht Ranging Capability Response
ist in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8 | ID der Technologie zur Entfernungsmessung | 0x3 – BLE RSSI |
1 | uint8 | Größe | Die Größe der BLE RSSI-Funktionen in Byte (einschließlich der Felder Technology ID und Size) |
2 | uint8*6 | Geräteadresse | Die Adresse des Geräts, das für BLE RSSI verwendet wird, in Big-Endian-Reihenfolge |
Nutzlast der Nachricht zur Konfiguration der Entfernungsmessung
Größe (Headergröße nicht enthalten): Variiert (gemeinsamer Teil 4 Byte plus die Größe der Byte für jede enthaltene Ranging-Technologie).
Beschreibung:Diese Nachricht wird vom Initiator gesendet und enthält die Konfigurationen, mit denen die einzelnen Ortungstechnologien die Ortung starten können. Das Antwortgerät muss versuchen, die Entfernung mit jeder angegebenen Entfernungstechnologie zu bestimmen, sobald es diese Nachricht empfängt. Die Nutzlast dieser Nachricht besteht aus dem gemeinsamen Teil und den technologiebezogenen Teilen (UWB, BLE CS, WLAN NAN RTT, BLE RSSI), wie in den folgenden Tabellen dargestellt.
Die allgemeine Ranging Configuration
-Nachrichtennutzlast wird in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8*2 | Bitfeld für die Konfiguration von Technologien für die Entfernungsmessung | Bitfeld der Ortungstechnologien, für die diese Nachricht Konfigurationsdaten enthält und für die Konfigurationsparameter festgelegt werden müssen.
|
2 | uint8*2 | Bitfeld | RFU. Muss auf denselben Wert wie das Feld Bitfeld für die Konfiguration der Ranging-Technologien gesetzt werden. |
4 | Byte-Array | Konfigurationsbytes für Ortungstechnologien | Wiederholte Blöcke von Strukturen, die pro Technologie definiert sind |
Die Nutzlast der UWB-Ranging Configuration
-Nachricht ist in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8 | ID der Technologie zur Entfernungsmessung | 0x0 – UWB |
1 | uint8 | Größe | Größe der UWB-Konfiguration (einschließlich der Felder Technology ID und Size) in Byte |
2 | uint8*2 | UWB-Adresse | 2‑Byte-UWB-Adresse des Geräts |
4 | uint8*4 | Sitzungs-ID | Generierte Sitzungs-ID. Die Sitzungs-ID ist eine eindeutige Kennung für die Entfernungsmessung zwischen dem Smartphone und dem Peripheriegerät. |
8 | uint8 | Ausgewählte Konfigurations-ID | Ausgewählte Konfigurations-ID als Ganzzahl. Die Konfigurations-ID gibt die Timing-Parameter und den Sicherheitstyp an, der für die UWB-Entfernungsmessung verwendet werden muss. |
9 | uint8 | Ausgewählter Kanal | Ausgewählter Kanal für die UWB-Entfernungsmessung |
10 | uint8 | Ausgewählter Präambelindex | Ausgewählter Präambelindex für die UWB-Entfernungsmessungssitzung |
11 | uint8*2 | Ausgewähltes Intervall für die Entfernungsmessung | Ausgewählte Rate des Entfernungsintervalls in Millisekunden. Zulässige Werte (in Millisekunden):
|
13 | uint8 | Ausgewählte Dauer des Zeitblocks | Ausgewählte Slot-Dauer in Millisekunden. Zulässige Werte (in Millisekunden):
|
14 | uint8 | Länge des Sitzungsschlüssels | Länge des Sitzungsschlüssels in Byte |
15 | Byte-Array | Sitzungsschlüssel | Sitzungsschlüssel Wenn S-STS verwendet wird, sind die ersten beiden Byte die VENDOR ID und die folgenden sechs Byte der STATIC STS IV. Wenn P-STS verwendet wird, ist dies entweder ein 16-Byte- oder ein 32-Byte-Sitzungsschlüssel. Der verwendete Sicherheitstyp wird durch die Konfigurations-ID bestimmt. |
Variabel | uint8*2 | Ländercode | ISO 3166-1 Alpha-2-Ländercode, dargestellt durch zwei ASCII-Zeichen |
Variabel | uint8 | Ausgewählte Geräterolle |
|
Variabel | uint8 | Ausgewählter Gerätemodus |
|
Die Nutzlast der BLE CS-Nachricht Ranging Configuration
ist in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8 | ID der Technologie zur Entfernungsmessung | 0x1 – BLE CS |
1 | uint8 | Größe | Größe der BLE-CS-Konfiguration (einschließlich der Felder Technology ID und Size) in Byte |
2 | uint8 | Ausgewählter Sicherheitstyp | Ausgewählter Sicherheitstyp. Zulässige Werte:
|
3 | uint8*6 | Geräteadresse | Die Adresse des Geräts, das für BLE CS verwendet wird, in Big-Endian-Reihenfolge |
Die Nutzlast der Ranging Configuration
-Nachricht für Wi-Fi NAN RTT ist in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8 | ID der Technologie zur Entfernungsmessung | 0x2 – Wi-Fi NAN RTT |
1 | uint8 | Größe | Größe der Wi-Fi NAN RTT-Konfiguration (einschließlich der Felder Technology ID und Size) in Byte |
2 | uint8 | Länge des Dienstnamens | Länge des Felds „Name des Dienstkontos“ in Byte. Weitere Informationen finden Sie in der Wi-Fi Aware-Spezifikation v4.0, Abschnitt 1.3.3, Tabelle 1. Definitionen. |
3 | Byte-Array | Name des Dienstes | Dienstname. Weitere Informationen finden Sie in der Wi-Fi Aware-Spezifikation v4.0, Abschnitt 1.3.3, Tabelle 1. Definitionen. |
Variabel | uint8 | Geräterolle |
|
Variabel | uint8 | Regelmäßige Entfernungsmessung verwenden |
|
Die Nutzlast der BLE RSSI-Nachricht Ranging Configuration
ist in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8 | ID der Technologie zur Entfernungsmessung | 0x3 – BLE RSSI |
1 | uint8 | Größe | Größe der BLE RSSI-Konfiguration (einschließlich der Felder Technology ID und Size) in Byte |
2 | uint8*6 | Geräteadresse | Die Adresse des Geräts, das für BLE RSSI verwendet wird, in Big-Endian-Reihenfolge |
Nutzlast der Antwortnachricht für die Bereichskonfiguration
Größe (Headergröße nicht enthalten): 2 Byte
Beschreibung:Diese Nachricht wird vom Antwortenden als Antwort auf die Ranging Configuration
-Nachricht gesendet. Diese Nachricht ist optional und nur erforderlich, wenn der verwendete Kommunikationskanal für jede Anfrage eine explizite Antwort erfordert.
Die Ranging Configuration Response
-Nachrichtennutzlast wird in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8*2 | Bitfeld für die Konfiguration der Ranging-Technologien wurde festgelegt | Bitfeld der Reichweitentechnologien, die erfolgreich festgelegt wurden. Das Bitfeld setzt das Bit für die Entfernungsmessungstechnologie auf 1, wenn die Technologie angefordert und erfolgreich festgelegt wurde, andernfalls auf 0.
|
Nutzlast der Nachricht zum Beenden der Entfernungsmessung
Größe (Headergröße nicht enthalten): 2 Byte
Beschreibung:Diese Nachricht wird vom Initiatorgerät gesendet, wenn es an der Zeit ist, die Entfernungsmessung mit der angegebenen Entfernungsmessungstechnologie zu beenden.
Die Nutzlast der Stop Ranging
-Mitteilung wird in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8*2 | Entfernungsmessungstechnologien zum Beenden des Bitfelds | Bitfeld der Ortungstechnologien, die die Ortung beenden müssen. Wenn das Bit auf 1 gesetzt ist, muss die Entfernungsmessung beendet werden. Wenn es auf 0 gesetzt ist, wurde die Entfernungsmessung entweder noch nicht gestartet oder muss fortgesetzt werden, falls sie bereits läuft. Bei einigen Ranging-Technologien (z. B. CS) ist dies ein No-Op, da das Ranging nur auf der Initiatorseite gestartet und beendet wird.
|
Nutzlast der Nachricht „Stop Ranging Response“
Größe (Headergröße nicht enthalten): 2 Byte
Beschreibung:Diese Nachricht wird vom Antwortenden als Antwort auf die Stop Ranging
-Nachricht gesendet. Diese Nachricht ist optional und nur erforderlich, wenn der verwendete Kommunikationskanal eine explizite Antwort auf jede Anfrage erfordert.
Die Stop Ranging Response
-Nachrichtennutzlast wird in der folgenden Tabelle zusammengefasst:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8*2 | Bitfeld für erfolgreich beendete Technologien für die Entfernungsmessung | Bitfeld der Ortungstechnologien, die die Ortung erfolgreich beendet haben. Das Bitfeld setzt das Bit für die Entfernungsmessungstechnologie auf 1, wenn das Beenden der Technologie angefordert wurde und sie erfolgreich beendet wurde, andernfalls auf 0.
|
Versionsverwaltung
Die Version der Spezifikation ist in der Kopfzeile jeder Nachricht enthalten. In diesem Abschnitt wird definiert, wie die Kommunikation erfolgt, wenn eines der Geräte (entweder das Initiator- oder das Antwortgerät) eine ältere Version als das andere Gerät verwendet.
Fall 1: Verbindungsbasierter Kommunikationskanal
In diesem Abschnitt werden Fälle beschrieben, in denen ein verbindungsorientierter Kommunikationskanal verwendet wird und Ranging Capability Request
die erste Nachricht ist, die vom Initiatorgerät gesendet wird.
Fall 1a: Der Initiator unterstützt eine neuere Version, der Responder eine ältere Version der Spezifikation.
Das Initiatorgerät sendet die Ranging Capability Request
-Nachricht mit der neueren Version. Das Responder-Gerät unterstützt nur die ältere Version. Es antwortet mit dieser und die ältere Version des Responders wird für den Rest des Nachrichtenaustauschs verwendet. Das bedeutet, dass die Ranging Capability Request
-Mitteilung abwärtskompatibel sein muss.
Fall 1b: Der Initiator unterstützt eine ältere Version, der Responder eine neuere Version der Spezifikation.
Das Responder-Gerät erkennt, dass das Initiator-Gerät die neuere Version nicht verwenden kann, und sendet Nachrichten nur mit der älteren Version, die ursprünglich vom Initiator-Gerät angefordert wurde.
Fall 2: Werbebasierter Kommunikationskanal
In diesem Abschnitt werden Fälle beschrieben, in denen ein auf Werbung basierender Kommunikationskanal verwendet wird und das Antwortgerät Ranging Capability Request
direkt ohne anfängliche Anfrage bewirbt.
Fall 2a: Der Initiator unterstützt eine neuere Version, der Responder eine ältere Version der Spezifikation.
Die in der Ranging Capability Response
-Anzeige angegebene ältere Version wird für die weitere Kommunikation verwendet.
Fall 2b: Der Initiator unterstützt eine ältere Version, der Responder eine neuere Version der Spezifikation.
Die neuere Version der Ranging Capability Response
-Ankündigung muss abwärtskompatibel sein, damit das Initiatorgerät die Nachricht lesen kann, auch wenn es eine neuere Version verwendet. Das Initiatorgerät sendet dann die Ranging
Configuration
-Nachricht mit der älteren Version, die es unterstützt. Diese Version wird für die weitere Kommunikation verwendet.
Damit Ranging Capability Response
abwärtskompatibel ist, müssen alle neuen Felder, die der Nutzlast der Ranging
Capability Response
-Nachricht in der nächsten Version dieser Spezifikation hinzugefügt werden, an das Ende der Nutzlast angehängt werden. Außerdem dürfen keine der vorhandenen Felder geändert werden. Wenn beim Parsen der Konfiguration die angegebene Größe größer als erwartet ist, müssen zusätzliche Felder von allen Geräten ignoriert werden, die nur die ältere Version der Spezifikation verstehen.
Fragmentierung
Diese Spezifikation ist unabhängig vom Kommunikationskanal. Sie definiert also nicht, wie die Nachrichtennutzlast fragmentiert werden soll, wenn eine einzelne Nachricht zu groß ist, um in ein Übertragungspaket des verwendeten Kommunikationskanals zu passen. Das Ranging-Modul erwartet, dass jede Nachricht in ihrer vollständigen Form empfangen wird. Die Verantwortung für die Fragmentierung liegt beim Implementierer des OOB-Kommunikationskanals.
Besonderheiten der Ortungstechnologie
Dieser Abschnitt enthält spezifische Details zur Ranging-Technologie.
Besonderheiten von Ultrabreitband (UWB)
In diesem Abschnitt werden Details zu Ultrabreitband beschrieben.
Konfigurations-IDs
Die für UWB ausgetauschten OOB-Konfigurationsdaten enthalten nicht alle verfügbaren konfigurierbaren Parameter, die UWB zum Starten einer UWB-Entfernungsmessungssitzung benötigt. Das liegt daran, dass einige Parameter implizit durch die ausgewählte Konfigurations-ID ausgewählt werden.
Jede Konfigurations-ID ist eine Reihe vordefinierter UWB-Konfigurationsparameter, die in UwbRangingParams
dokumentiert sind. Das Responder-Gerät sendet eine Liste aller unterstützten Konfigurations-IDs als Teil der Antwortnachricht für die Funktion, und der Initiator wählt eine der unterstützten Konfigurations-IDs aus, die verwendet wird. Dadurch kann eine kleinere Gruppe von Konfigurationsparametern während der Out-of-Band-Kommunikation ausgetauscht werden. Außerdem wird die Anzahl der möglichen Kombinationen von Parametern, die für die Entfernungsmessung mit UWB verwendet werden können, begrenzt. So können nur zulässige Kombinationen von Parametern getestet werden.
Funktionen nach jeder UWB-Sitzung anfordern
Nach dem Beenden einer bestehenden UWB-Sitzung und vor dem Starten einer neuen UWB-Sitzung muss das Initiatorgerät die Funktionen des Respondergeräts anfordern und die Konfigurationsparameter neu festlegen, da sich die UWB-Adresse ändern kann, sobald die aktuelle Ranging-Sitzung beendet wird.
Besonderheiten bei BLE-Channel-Sounding (CS)
In diesem Abschnitt werden spezifische Details zum Channel Sounding beschrieben.
Erforderliche Verbindung zwischen Geräten
Für die Entfernungsmessung mit Channel Sounding ist eine bestehende Verbindung zwischen dem Initiator- und dem Antwortgerät erforderlich. Diese Spezifikation bietet keine Möglichkeit, eine Verbindung zwischen Geräten herzustellen. Der Nutzer der Ranging APIs muss diese Verbindung zwischen den Geräten herstellen.
Erforderliche Maßnahmen für den Kundenservice
Bei UWB müssen beide Geräte die UWB-APIs zum Starten und Beenden der Entfernungsmessung explizit aufrufen. Bei CS ist dagegen nur das Initiatorgerät erforderlich, um die CS-Entfernungsmessung durch Aufrufen des Bluetooth-Stacks (BT) zu starten. Die restliche Initialisierung auf der Responder-Seite erfolgt inband über Bluetooth. Das bedeutet, dass die Responder-Seite nach dem Empfang der Ranging Configuration
-Nachricht oder der Stop Ranging
-Nachricht für CS nichts unternehmen muss, wenn Bluetooth aktiviert ist. Das Antwortgerät könnte diese Nachrichten als Trigger verwenden, um die Benutzeroberfläche zu aktualisieren oder beispielsweise die Geräte-LEDs blinken zu lassen.