Ranging: Out-of-Band-Nachrichtensequenz und Nutzlastspezifikation

Mit Android 16 wurde das Messmodul eingeführt. Diese Protokoll- und Nutzlastspezifikation definiert die Nachrichtensequenz und die Nutzlast der Out-of-Band-Kommunikation, die zum Austausch von Positionsbestimmungskonfigurationen und zum Starten und Beenden der Positionsbestimmung zwischen dem Initiator und dem Responder verwendet wird, die an der Positionsbestimmung teilnehmen.

Das Hauptziel dieser Seite besteht darin, Anbietern von Geräten, die nicht von Android stammen, die Implementierung dieser Spezifikation zu ermöglichen, damit ihre Geräte mit Android-Geräten kompatibel sind.

Nachrichten und Nachrichtensequenz

In diesem Abschnitt werden die Nachrichten und die Reihenfolge des Nachrichtenaustauschs beschrieben.

In der folgenden Tabelle sind alle Nachrichten aufgeführt, die in der OOB-Austauschsitzung vorhanden 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 2 dargestellt, hängt die Auslösung des Nachrichtenaustauschs vom Kommunikationskanal ab.

Bei verbindungsbasierten Kommunikationskanälen wie BLE GATT beginnt der Nachrichtenaustausch damit, dass das Initiatorgerät Ranging Capability Request an das Responder-Gerät sendet. Das antwortende Gerät antwortet, indem es Ranging Capability Response sendet, wie in Abbildung 1 dargestellt:

Verbindungsbasierter Kommunikationskanalfluss

Abbildung 1: OOB-Nachrichtenaustausch über einen verbindungsbasierten Kommunikationskanal.

Bei werbebasierten Kommunikationskanälen beginnt das Gerät des Teilnehmers mit der Werbung für Ranging Capability. In diesem Fall wird Ranging Capability Request nicht vom auslösenden Gerät gesendet. Stattdessen antwortet das auslösende Gerät (ursprünglicher Scanner), nachdem es die Werbung erkannt hat und bereit ist, indem es Ranging Configuration als erste Nachricht sendet, wie in Abbildung 2 dargestellt:

Ablauf des werbebasierten Kommunikationskanals

Abbildung 2: OOB-Nachrichtenaustausch über eine anfragebasierte Kommunikation.

Der Rest des Nachrichtenaustauschs ist in beiden Fällen identisch. Das Gerät des Teilnehmers beginnt sofort nach Erhalt der Ranging Configuration-Nachricht mit der Suche. Das Gerät, das antwortet, beendet die Suche, nachdem es die Stop Ranging-Nachricht empfangen oder erkannt hat.

Im verbindungsbasierten Ablauf gibt das antwortende Gerät nur die Funktionen der in der Ranging Capability Request-Nachricht angeforderten Abstandsmesstechnologien an. Im Werbeablauf muss das antwortende Gerä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 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 antwortende Gerät auf mehrere aufeinanderfolgende Ranging Capability Request-Nachrichten oder andere Nachrichten in falscher Reihenfolge vom Initiatorgerät reagieren.

IDs der Rangierungstechnologie

Die IDs der Entfernungsmesstechnologien sind in der folgenden Tabelle aufgeführt:

Entfernungsmessung ID
UWB 0x0
CS 0x1
WLAN-NAN-RTT 0x2
RSSI 0x3
RFU 0x4–0xFF

Diese IDs werden in den folgenden Tabellen verwendet, wenn die ID der Entfernungstechnologie erforderlich ist. Bei Feldern mit dem Bitfeld für die Abstandsmessung wird ein Bit entsprechend dem Index der ID der Technologie gesetzt, wenn diese Technologie im Bitfeld enthalten ist.

Beispiel: RSSI hat den ID-Wert 3. Wenn RSSI jedoch im Bitfeld der Entfernungsmessung enthalten ist, muss das Bit an der Position der ID (3) aktiviert werden (erstes Bit an Position 0). Der resultierende Wert des Bitfelds ist dann 0x8. Wenn sowohl UWB als auch RSSI enthalten sind, ist der Wert des Bitfelds 0x0A (beide Bits 0 und 3 sind aktiviert).

Nachrichtenformat

Jede Nachricht besteht aus einem Header und einer Nutzlast.

Nachrichtenformat

Abbildung 3 Nachrichtenformat.

Größe:2 Byte

Beschreibung:Der Header ist der erste Teil einer Nachricht und ist in allen 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 Versionierung zwischen Geräten mit unterschiedlichen Versionen finden Sie unter Versionsverwaltung. Der Header bleibt abwärtskompatibel mit verschiedenen Versionen. Das bedeutet, dass er im Anwendungsfall immer geparst werden kann, um die Version und die ID der Nachricht zu ermitteln.

Die Kopfzeile ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8 Version 0x1 – aktuelle Version
1 unit8 Nachrichten-ID
  • 0x0 – Ranging Capability Request-Nachricht
  • 0x1 – Ranging Capability Response-Nachricht
  • 0x2 – Ranging Configuration-Nachricht
  • 0x3 – Ranging Configuration Response-Nachricht (optional)
  • 0x6 – Stop Ranging-Nachricht
  • 0x7 – Stop Ranging Response-Nachricht (optional)
  • 0x4–0x5, 0x8 – 0xFF RFU

Nutzlast

Größe:variiert (je nach 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 der Nutzlast der einzelnen Nachrichtentypen wird in den folgenden Abschnitten definiert.

Nutzlast der Nachricht „Ranging Capability Request“

Größe (ohne Headergröße): 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 antwortende Gerät als ersten Schritt eine Ranging Capability-Nachricht senden. Das Initiatorgerät (erster Scanner) liest die Werbung und antwortet direkt mit einer Ranging Capability-Nachricht, sodass diese Nachricht nicht erforderlich ist.

Die Nutzlast der Ranging Capability Request-Nachricht wird in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8*2 Bitfeld für angeforderte Entfernungsmesstechnologien
  • 0x01 – UWB
  • 0x02 – BLE-Kanalsuche
  • 0x04 – Wi‑Fi NAN RTT
  • 0x08 – BLE-RSSI
  • RFU

Nutzlast der Antwortnachricht zur Positionsbestimmung

Größe (ohne Headergröße): Variiert (2 Byte für den gemeinsamen Teil plus die Größe der einzelnen Byte der enthaltenen Rangierungstechnologie)

Beschreibung:Wird vom Teilnehmer als Antwort auf eine Ranging Capability Request-Nachricht gesendet. Diese Nachrichtenn-Nutzlast besteht aus dem gemeinsamen Teil und technologiespezifischen Teilen für die Entfernungsmessung (BLE CS, Wi‑Fi NAN RTT CS, BLE RSSI), wie in den folgenden Tabellen dargestellt. Jeder trichterspezifische Teil muss nur hinzugefügt werden, wenn diese Trichtertechnologie vom Empfängergerät unterstützt und in der Ranging Capability Request-Nachricht angefordert wird. Bei einem Werbekommunikationskanal müssen alle unterstützten Technologien zur Entfernungsmessung enthalten sein.

Die allgemeine Nutzlast von Ranging Capability Response-Nachrichten ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8*2 Bitfeld für unterstützte Abstandsmesstechnologien. Gibt die Funktionen der Reichweitentechnologien an, die im Rest der Nutzlast folgen.
  • 0x01 – UWB
  • 0x02 – BLE-Kanalsuche
  • 0x04 – Wi‑Fi NAN RTT
  • 0x08 – BLE-RSSI
  • RFU
2 Byte-Array Bytes für die Reichweite der technischen Funktionen. Wiederholte Blöcke von Strukturen, die pro Technologie definiert sind.

Die UWB-Ranging Capability Response-Nachrichtennutzlast ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8 ID der Rangierungstechnologie 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-UWB-Adresse des Geräts.
4 uint8*4 Bitfeld für unterstützte Kanäle Bitfeld der unterstützten Kanäle. Ein Bit mit dem Wert 0 gibt an, dass die Funktion nicht unterstützt wird. Ein Bit mit dem Wert 1 gibt an, dass die Funktion unterstützt wird. Bit 0 entspricht Kanal 0.
LSB == channel 0
MSB == channel 31
8 uint8*4 Unterstütztes Bitfeld für den Präambelindex Bitfeld der unterstützten Präambelindexe. Ein Bit mit dem Wert 0 gibt an, dass die Funktion nicht unterstützt wird. Ein Bit mit dem Wert 1 gibt an, dass die Funktion unterstützt wird. Bit 0 entspricht dem Präambelindex 1.
LSB == preamble index 1
MSB == preamble index 32
12 uint8*4 Bitfeld für unterstützte Konfigurations-IDs Bitfeld der unterstützten UWB-Konfigurations-IDs. Ein Bit mit dem Wert 0 gibt an, dass die Funktion nicht unterstützt wird, ein Bit mit dem Wert 1, dass sie unterstützt wird.
LSB == config Id 0
>MSB == config Id 31
16 uint8*2 Unterstütztes minimales Intervall für die Reichweite Gibt das schnellste unterstützte Intervall für die Reichweite in Millisekunden an. Zulässige Werte (in ms):
  • 96
  • 120
  • 240
  • 600
18 uint8 Unterstützte Mindestdauer für Slots Gibt die kürzeste unterstützte Slotdauer in Millisekunden an. Wenn das Gerät beispielsweise 1 ms zurückgibt, wird davon ausgegangen, dass es auch Slotdauern von mindestens 2 ms unterstützt. Zulässige Werte (in ms):
  • 1
  • 2
19 Bitfeld für unterstützte UWB-Geräterollen Bitfeld der unterstützten UWB-Rollen. Wenn beide unterstützt werden, ist der endgültige Feldwert beispielsweise 0x3.
  • 0x1 – Initiatorrolle wird unterstützt
  • 0x2: Rolle „Ansprechpartner“ wird unterstützt

Die Nutzlast der BLE CS Ranging Capability Request-Nachricht ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8 ID der Rangierungstechnologie 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.
  • 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 Geräteadresse Die Adresse des Geräts, die für BLE CS verwendet wird; in Big-Endian-Reihenfolge.

Die Nutzlast der Wi‑Fi NAN RTT CS Ranging Capability Request-Nachricht ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8 ID der Rangierungstechnologie 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.
  • 0x01 – 11mc-fähig
  • 0x02 – 11az-fähig
3 uint8 Unterstützt periodische Abfragen
  • 0x0 – periodische Entfernungsmessung nicht unterstützt
  • 0x1: Unterstützung für Zeitraum
4 uint8 Unterstützte Bandbreite Anhand dieser Informationen lässt sich die erreichbare Genauigkeit der Standortbestimmung mit Wi‑Fi NAN ableiten. Außerdem können Apps so ermitteln, ob UWB, BLE CS, BLE RSSI oder Wi‑Fi NAN für die Standortbestimmung verwendet werden soll.
  • 0x00 – 20 MHz
  • 0x01 – 40 MHz
  • 0x02 – 80 MHz
  • 0x03 – 160 MHz
  • 0x04 – 80 + 80 MHz
  • 0x05 – 320 MHz
  • RFU
5 uint8 Unterstützte Anzahl von Empfangsketten Anhand dieser Informationen lässt sich die erreichbare Genauigkeit der Standortbestimmung mit Wi‑Fi NAN ableiten. Außerdem können Apps so ermitteln, ob UWB, BLE CS, BLE RSSI oder Wi‑Fi NAN für die Standortbestimmung verwendet werden soll.
  • 0x00 – nicht definiert
  • 0x01 – 1 RX-Kette
  • 0x02 – 2 RX-Ketten
  • 0x03 – 3 RX-Ketten
  • 0x04 – 4 RX-Ketten

Die Nutzlast der BLE-RSSI-Ranging Capability Request-Nachricht ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8 ID der Rangierungstechnologie 0x3 – BLE CS
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, die für BLE-RSSI verwendet wird; in Big-Endian-Reihenfolge

Nutzlast der Nachricht „Ranging Configuration“

Größe (ohne Headergröße): Variiert (gemeinsamer Teil 4 Byte plus die Größe der einzelnen Byte der enthaltenen Abfragetechnologie).

Beschreibung:Diese Nachricht wird vom Initiator gesendet und enthält die Konfigurationen, mit denen die einzelnen Abstandsmesstechnologien die Abstandsmessung starten können. Das Antwortgerät muss nach Erhalt dieser Nachricht versuchen, die Entfernungsmessung mit jeder angegebenen Entfernungsmesstechnik zu starten. Diese Nachrichtenn-Nutzlast besteht aus dem gemeinsamen Teil und technologiespezifischen Teilen für die Entfernungsmessung (UWB, BLE CS, Wi‑Fi NAN RTT, BLE RSSI), wie in den folgenden Tabellen dargestellt.

Die allgemeine Nutzlast von Ranging Configuration-Nachrichten ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8*2 Bitfeld für die Konfiguration von Rangierungstechnologien Bitfeld der Entfernungsmesstechnologien, für die diese Nachricht Konfigurationsdaten enthält und für die Konfigurationsparameter festgelegt werden müssen.
  • 0x01 – UWB
  • 0x02 – BLE-Kanalsuche
  • 0x04 – Wi‑Fi NAN RTT
  • 0x08 – BLE-RSSI
  • RFU
2 uint8*2 Bitfeld RFU. Muss mit dem Wert des Felds Bitfeld für die Konfigurationsgruppe für die Abfragetechnologien übereinstimmen.
4 Byte-Array Konfigurationsbytes für Rangierungstechnologien Wiederholte Blöcke von Strukturen, die pro Technologie definiert sind

Die UWB-Ranging Configuration-Nachrichtennutzlast ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8 ID der Rangierungstechnologie 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 UWB-Adresse des Geräts mit 2 Byte
4 uint8*4 Sitzungs-ID Generierte Sitzungs-ID. Die Sitzungs-ID ist eine eindeutige Kennung für die Abstandsmessung zwischen dem Smartphone und dem Peripheriegerät.
8 uint8 Ausgewählte Konfigurations-ID Die ausgewählte Konfigurations-ID als Ganzzahl. Die Konfigurations-ID gibt die Zeitparameter und die Art der Sicherheit an, die für die UWB-Messsitzung verwendet werden muss.
9 uint8 Ausgewählter Kanal Ausgewählter Kanal für die UWB-Messsitzung
10 uint8 Ausgewählter Präambelindex Ausgewählter Präambelindex für die UWB-Messsitzung
11 uint8*2 Ausgewähltes Intervall Ausgewählte Rate des Intervalls für die Standortbestimmung in Millisekunden. Zulässige Werte (in ms):
  • 96
  • 120
  • 240
  • 600
13 uint8 Ausgewählte Zeitblockdauer Ausgewählte Slotdauer in Millisekunden. Zulässige Werte (in ms):
  • 1
  • 2
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 Bytes die VENDOR-ID und die folgenden sechs Bytes STATIC STS IV. Wenn P-STS verwendet wird, ist dies entweder ein Sitzungsschlüssel mit 16 Byte oder 32 Byte. Die Art der verwendeten Sicherheit wird durch die Konfigurations-ID bestimmt.
variiert uint8*2 Ländercode ISO 3166-1 Alpha-2-Ländercode, dargestellt durch zwei ASCII-Zeichen
variiert uint8 Ausgewählte Geräterolle
  • 0x01 – Initiator
  • 0x02 – Teilnehmer
variiert uint8 Ausgewählter Gerätemodus
  • 0x01 – Controller
  • 0x02 – Gesteuert

Die Nutzlast der BLE CS Ranging Configuration-Nachricht ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8 ID der Rangierungstechnologie 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:
  • 0x0 – CS_SECURITY_LEVEL_UNKNOWN
  • 0x1 – CS_SECURITY_LEVEL_ONE
  • 0 × 2 – CS_SECURITY_LEVEL_TWO
  • 0x3 – CS_SECURITY_LEVEL_THREE
  • 0x4 – CS_SECURITY_LEVEL_FOUR
3 uint8*6 Geräteadresse Die Adresse des Geräts, die für BLE CS verwendet wird; in Big-Endian-Reihenfolge

Die Nutzlast der Wi‑Fi NAN RTT Ranging Configuration-Nachricht ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8 ID der Rangierungstechnologie 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 „Dienstname“ in Byte. Siehe Wi‑Fi Aware Specification Version 4.0, Abschnitt 1.3.3, Tabelle 1. Definitionen.
3 Byte-Array Name des Dienstes Dienstname. Siehe Wi‑Fi Aware Specification Version 4.0, Abschnitt 1.3.3, Tabelle 1. Definitionen.
variiert uint8 Geräterolle
  • 0x0 – Responder (NAN-Dienstanbieter)
  • 0x1 – Initiator (NAN-Dienstabonnent)
variiert uint8 Regelmäßiges Abtasten verwenden
  • 0x0 – Regelmäßiges Abtasten deaktiviert
  • 0x1 – Periodische Entfernungsmessung aktiviert

Die Nutzlast der BLE-RSSI-Ranging Configuration-Nachricht ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8 ID der Rangierungstechnologie 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, die für BLE-RSSI verwendet wird; in Big-Endian-Reihenfolge

Nutzlast der Antwortnachricht für die Abfrage der Funkschnittstelle

Größe (ohne Headergröße): 2 Byte

Beschreibung:Diese Nachricht wird vom Teilnehmer 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 Nutzlast der Ranging Configuration Response-Nachricht ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8*2 Konfiguration der Abstandsmessung wurde erfolgreich festgelegt Bitfeld der erfolgreich festgelegten Entfernungsmesstechnologien. Im Bitfeld wird das Bit für die Entfernungsmessung auf „1“ gesetzt, wenn die Technologie angefordert und erfolgreich festgelegt wurde, andernfalls auf „0“.
  • 0x01 – UWB
  • 0x02 – BLE-Kanalsuche
  • 0x04 – Wi‑Fi NAN RTT
  • 0x08 – BLE-RSSI
  • RFU

Nutzlast der Stop-Ranging-Nachricht

Größe (ohne Headergröße): 2 Byte

Beschreibung:Diese Nachricht wird vom Initiatorgerät gesendet, wenn die Zeit für das Beenden der Standortbestimmung mit der angegebenen Standortbestimmungstechnologie gekommen ist.

Die Nutzlast der Stop Ranging-Mitteilung ist in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8*2 Rangierungstechnologien, um Bitfeld zu beenden Bitfeld der Entfernungsmesstechnologien, die die Entfernungsmessung beenden müssen. Wenn das Bit auf „1“ gesetzt ist, muss die Abstandsmessung beendet werden. „0“ bedeutet, dass die Abstandsmessung entweder nicht durchgeführt wurde oder fortgesetzt werden muss, wenn sie bereits durchgeführt wurde. Bei einigen Technologien zur Entfernungsmessung (z. B. CS) ist dies nicht möglich, da die Entfernungsmessung nur auf der Initiatorseite gestartet und beendet wird.
  • 0x01 – UWB
  • 0x02 – BLE-Kanalsuche
  • 0x04 – Wi‑Fi NAN RTT
  • 0x08 – BLE-RSSI
  • RFU

Nutzlast der Antwortnachricht „Stop Ranging“

Größe (ohne Headergröße): 2 Byte

Beschreibung:Diese Nachricht wird vom Teilnehmer als Antwort auf die Stop Ranging-Nachricht gesendet. Diese Nachricht ist optional und nur erforderlich, wenn für den verwendeten Kommunikationskanal eine explizite Antwort auf jede Anfrage erforderlich ist.

Die Nutzlast der Stop Ranging Response-Nachricht wird in der folgenden Tabelle zusammengefasst:

Oktett Datentyp Beschreibung Wert
0 uint8*2 Ranging-Technologien wurden erfolgreich angehalten (Bitfeld) Bitfeld der Entfernungsmesstechnologien, bei denen die Entfernungsmessung erfolgreich beendet wurde. Im Bitfeld wird das Bit für die Entfernungsmessung auf „1“ gesetzt, wenn die Technologie angehalten werden soll und dies erfolgreich war. Andernfalls wird es auf „0“ gesetzt.
  • 0x01 – UWB
  • 0x02 – BLE-Kanalsuche
  • 0x04 – Wi‑Fi NAN RTT
  • 0x08 – BLE-RSSI
  • RFU

Versionsverwaltung

Die Version der Spezifikation ist in der Kopfzeile jeder Nachricht enthalten. In diesem Abschnitt wird beschrieben, wie die Kommunikation abläuft, wenn eines der Geräte (der Initiator oder der Responder) eine ältere Version als das andere Gerät verwendet.

Fall 1: Verbindungsbasierter Kommunikationskanal

In diesem Abschnitt werden Fälle beschrieben, in denen ein verbindungsbasierter Kommunikationskanal verwendet wird. Dabei ist Ranging Capability Request die erste Nachricht, die vom Initiatorgerät gesendet wird.

Fall 1.a: Initiator unterstützt neuere Version, Responder unterstützt ältere Version der Spezifikation.

Das Initiatorgerät sendet die Ranging Capability Request-Nachricht mit der neueren Version. Das antwortende Gerät unterstützt nur die ältere Version und antwortet daher damit. Die ältere Version des antwortenden Geräts wird dann für den Rest des Nachrichtenaustauschs verwendet. Das bedeutet, dass die Ranging Capability Request-Nachricht abwärtskompatibel sein muss.

Fall 1.b: Initiator unterstützt ältere Version, Responder unterstützt neuere Version der Spezifikation.

Das antwortende Gerät erkennt, dass das Initiatorgerät die neuere Version nicht verwenden kann, und sendet Nachrichten nur mit der älteren Version, die ursprünglich vom Initiatorgerät angefordert wurde.

Fall 2: Werbebasierter Kommunikationskanal

In diesem Abschnitt werden Fälle beschrieben, in denen ein werbebasierter Kommunikationskanal verwendet wird, bei dem das antwortende Gerät Ranging Capability Request direkt ohne vorherige Anfrage anbietet.

Fall 2.a: Initiator unterstützt neuere Version, Responder unterstützt ältere Version der Spezifikation.

Die ältere Version, die in der Ranging Capability Response-Anzeige festgelegt ist, wird für die restliche Kommunikation verwendet.

Fall 2.b: Initiator unterstützt ältere Version, Responder unterstützt neuere Version der Spezifikation.

Die neuere Version der Ranging Capability Response-Anzeige muss abwärtskompatibel sein, damit das Initiatorgerät die Nachricht lesen kann, auch wenn es eine neuere Version verwendet. Das Initiatorgerät sendet die Ranging Configuration-Nachricht dann mit der von ihm unterstützten älteren Version. Diese Version wird für die restliche Kommunikation verwendet.

Damit Ranging Capability Response abwärtskompatibel ist, müssen alle neuen Felder, die der nächsten Version dieser Spezifikation in der Ranging Capability Response-Nachrichtennutzlast hinzugefügt werden, an das Ende der Nutzlast angehängt werden. Keines der vorhandenen Felder darf geändert werden. Wenn die angegebene Größe beim Parsen der Konfiguration größer als erwartet ist, müssen zusätzliche Felder von Geräten ignoriert werden, die nur die ältere Version der Spezifikation verstehen.

Fragmentierung

Diese Spezifikation ist unabhängig vom Kommunikationskanal. Daher wird nicht definiert, wie die Nachrichtenn-Nutzlast fragmentiert werden soll, wenn eine einzelne Nachricht zu groß ist, um in ein Übertragungspaket des verwendeten Kommunikationskanals zu passen. Das Rangierungsmodul 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 Entfernungsmessung

Dieser Abschnitt enthält Details zur Entfernungsmessung.

Ultrabreitband (UWB) – Details

In diesem Abschnitt werden Ultrabreitband-spezifische Details beschrieben.

Konfigurations-IDs

Die OOB-Konfigurationsdaten, die für UWB ausgetauscht werden, enthalten nicht den vollständigen Satz verfügbarer konfigurierbarer Parameter, die UWB zum Starten einer UWB-Messsitzung benötigt. Das liegt daran, dass einige Parameter durch die ausgewählte Konfigurations-ID implizit ausgewählt werden.

Jede Konfigurations-ID ist eine Gruppe von vordefinierten UWB-Konfigurationsparametern, die in UwbRangingParams dokumentiert sind. Das antwortende Gerät sendet im Rahmen der Antwortnachricht zu den Fähigkeiten eine Liste aller unterstützten Konfigurations-IDs und der Initiator wählt eine der unterstützten Konfigurations-IDs aus, die verwendet werden soll. So kann während der OOB-Phase eine kleinere Anzahl von Konfigurationsparametern ausgetauscht werden. Außerdem wird die Anzahl der möglichen Kombinationen von Parametern begrenzt, die für die Entfernungsmessung mit UWB verwendet werden können. So ist es nur möglich, zulässige Kombinationen von Parametern zu testen.

Funktionen nach jeder UWB-Sitzung anfordern

Nachdem eine UWB-Sitzung beendet wurde und bevor eine neue UWB-Sitzung gestartet wird, muss das Initiatorgerät die Funktionen des Responder-Geräts anfordern und die Konfigurationsparameter noch einmal festlegen, da sich die UWB-Adresse ändern kann, sobald die aktuelle Abstandsmessung endet.

Besonderheiten der BLE-Kanalsuche

In diesem Abschnitt werden spezifische Details zur Kanalsondierung beschrieben.

Erforderliche Verknüpfung zwischen Geräten

Für die Funktion des Abstandsmessverfahrens mit Kanalabfrage ist eine bestehende Verknüpfung zwischen dem Initiator und dem Antwortgerät erforderlich. Diese Spezifikation bietet keine Möglichkeit, eine Bindung zwischen Geräten herzustellen. Der Nutzer der Ranging APIs muss diese Verknüpfung zwischen den Geräten herstellen.

Erforderliche Maßnahme des antwortenden Kundenservicemitarbeiters

Bei UWB müssen beide Geräte die UWB-API zum Starten und Stoppen der Standortermittlung explizit aufrufen. Bei CS ist dagegen nur das Initiatorgerät erforderlich, um die CS-Messung durch Aufrufen des Bluetooth-Stacks (BT) zu starten. Die restliche Initialisierung auf der Seite des Responders erfolgt in Band über BT. Das bedeutet, dass die Seite des Responders nach Erhalt der Ranging Configuration-Nachricht oder der Stop Ranging-Nachricht für CS nichts tun muss, wenn BT aktiviert ist. Das Gerät könnte diese Nachrichten als Trigger verwenden, um die Benutzeroberfläche zu aktualisieren oder beispielsweise die LEDs des Geräts zum Blinken zu bringen.