Określanie zasięgu: specyfikacja sekwencji wiadomości poza pasmem i ładunku

Android 16 wprowadził moduł pomiaru zasięgu. Ta specyfikacja protokołu i danych określa sekwencję wiadomości i danych przesyłanych w ramach komunikacji poza pasmem (OOB) służącej do wymiany konfiguracji pomiaru zasięgu oraz do uruchamiania i zatrzymywania pomiaru zasięgu między urządzeniem inicjującym a urządzeniem odpowiadającym, które bierze udział w pomiarach zasięgu.

Głównym celem tej strony jest umożliwienie dostawcom urządzeń innych niż z Androidem implementacji tej specyfikacji, aby ich urządzenia mogły być zgodne z urządzeniami z Androidem.

Wiadomości i ich kolejność

W tej sekcji opisano wiadomości i kolejność ich przesyłania.

Tabela poniżej zawiera wszystkie wiadomości w sesji bezpośredniej:

Wiadomość Identyfikator wiadomości
Ranging Capability Request 0 x 0
Ranging Capability Response 0x1
Ranging Configuration 0x2
Ranging Configuration Response (opcjonalnie) 0x3
Stop Ranging 0x6
Stop Ranging Response (opcjonalnie) 0 x 7

Jak widać na rysunkach 1 i 2, sposób wywołania wymiany wiadomości zależy od kanału komunikacji.

W przypadku kanałów komunikacji opartej na połączeniu, takich jak BLE GATT, wymiana wiadomości rozpoczyna się od wysłania przez urządzenie inicjujące Ranging Capability Requestdo urządzenia odpowiadającego. Urządzenie odpowiadającego użytkownika wysyła Ranging Capability Response, jak pokazano na rysunku 1:

Przepływ danych w kanale komunikacji na podstawie połączenia

Rysunek 1. wymiana wiadomości OOB za pomocą kanału komunikacyjnego opartego na połączeniu;

W przypadku kanałów komunikacji opartej na reklamach urządzenie odpowiadające na żądanie rozpoczyna od wyświetlenia reklamy Ranging Capability. W takim przypadku Ranging Capability Requestnie jest wysyłany z urządzenia inicjującego. Zamiast tego po wykryciu reklamy urządzenie inicjujące (pierwotny skaner) odpowiada, wyświetlając jako pierwszą wiadomość reklamę Ranging Configuration, jak pokazano na rysunku 2.

Przepływ w kanale komunikacji opartym na reklamach

Rysunek 2. Wymiana wiadomości OOB za pomocą komunikacji opartej na reklamie.

W obu przypadkach dalsza wymiana wiadomości jest taka sama. Urządzenie odpowiadające rozpoczyna pomiar natychmiast po otrzymaniu wiadomości Ranging Configuration. Urządzenie odpowiadające na sygnał przestaje mierzyć odległość po otrzymaniu lub wykryciu wiadomości Stop Ranging.

W procesie opartym na połączeniu urządzenie odpowiadające wypełnia listę możliwości tylko w przypadku technologii pomiarowych wymienionych w wiadomości Ranging Capability Request, podczas gdy w procesie reklamowym urządzenie odpowiadające musi podać wszystkie swoje możliwości, ponieważ nie ma poprzedzającego żądania.

Urządzenie inicjujące zakłada, że otrzyma tylko jedną odpowiedź na żądanie. Urządzenie odpowiadające na żądanie nie może zakładać niczego, aby mogło odpowiadać na dowolne żądanie w dowolnej kolejności. Dzięki temu urządzenie odpowiadające może reagować na wiele kolejnych wiadomości Ranging Capability Requestlub inne wiadomości wysyłane w nieprawidłowym porządku z inicjującego urządzenia.

Identyfikatory technologii określania pozycji

Identyfikatory technologii pomiaru odległości:

Technologia pomiaru zasięgu ID
UWB 0 x 0
CS 0x1
Wi-Fi NAN RTT 0x2
RSSI 0x3
RFU 0x4 - 0xFF

Te identyfikatory są używane w tabelach poniżej, w których wymagany jest identyfikator technologii pomiarowej. W przypadku pól zawierających bitową reprezentację technologii zakresu bitów odpowiadających indeksowi identyfikatora technologii jest ustawiony, gdy dana technologia jest uwzględniona w bitowej reprezentacji.

Na przykład identyfikator RSSI ma wartość 3, ale jeśli identyfikator RSSI jest uwzględniony w bitowym polu technologii, bit z pozycją identyfikatora (3) musi być włączony (pierwszy bit jest na pozycji 0), co powoduje, że wynikowa wartość bitowego pola to 0x8. Jeśli uwzględniono zarówno UWB, jak i RSSI, wartość pola bitowego wynosi 0x0A (oba bity 0 i 3 są włączone).

Format wiadomości

Każda wiadomość składa się z nagłówka i ładunku.

Format wiadomości

Rysunek 3. Format wiadomości.

Rozmiar: 2 bajty

Opis: nagłówek jest wspólny dla wszystkich wiadomości i jest pierwszą częścią wiadomości. Nagłówek zawiera wersję i identyfikator typu wiadomości. Pole version określa wersję tej specyfikacji, z którą zgodna jest treść wiadomości. Obecna wersja tej specyfikacji to1. Więcej informacji o tym, jak zarządzanie wersjami jest używane na różnych urządzeniach i w różnych wersjach, znajdziesz w artykule Zarządzanie wersjami. Nagłówek jest wstecznie zgodny w różnych wersjach, co oznacza, że w danym przypadku użycia można go zawsze przeanalizować, aby określić wersję i identyfikator wiadomości.

Nagłówek jest podsumowany w tabeli poniżej:

Octet Typ danych Opis Wartość
0 uint8 Wersja 0x1 – bieżąca wersja.
1 unit8 Identyfikator wiadomości
  • 0x0 – wiadomość Ranging Capability Request
  • 0x1 – wiadomość Ranging Capability Response
  • 0x2 – wiadomość Ranging Configuration
  • 0x3Ranging Configuration Response wiadomość (opcjonalna)
  • 0x6 – wiadomość Stop Ranging
  • 0x7 – wiadomość Stop Ranging Response (opcjonalna)
  • 0x4-0x5, 0x8 – 0xFF RFU

Ładunek

Rozmiar: różny (w zależności od typu wiadomości)

Opis: ładunek to ostatnia część wiadomości, która znajduje się po nagłówku. Treść ładunku zależy od typu wiadomości. Format danych w ramach poszczególnych typów wiadomości został zdefiniowany w następnych sekcjach.

Payload wiadomości z prośbą o uzyskanie dostępu do funkcji pomiaru zasięgu

Rozmiar (bez rozmiaru nagłówka): 2 bajty

Opis: wysyłane przez urządzenie inicjujące, aby rozpocząć wymianę wiadomości. Ten komunikat jest opcjonalny, gdy kanał komunikacji jest oparty na reklamach. W takim przypadku urządzenie odpowiadające na żądanie musi najpierw wyświetlić komunikat Ranging Capability. Urządzenie inicjujące (pierwotny skaner) odczytuje reklamę i bezpośrednio odpowie wiadomością Ranging Capability, co pozwoli uniknąć wysyłania tej wiadomości.

Ładunek wiadomości Ranging Capability Request podsumowano w tabeli:

Octet Typ danych Opis Wartość
0 uint8*2 Bitowy identyfikator żądanych technologii pomiarowych
  • 0x01 – UWB
  • 0x02 – dźwięk na kanale BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU

Ładunek wiadomości z odpowiedzią na żądanie o określenie zasięgu

Rozmiar (bez rozmiaru nagłówka): zmienny (część wspólna 2 bajty plus rozmiar każdego z dołączonych bajtów technologii pomiaru zasięgu).

Opis: wysłany przez osobę, która odpowiedziała na wiadomość Ranging Capability Request. Ładunek tego komunikatu składa się z części wspólnej i części związanych z poszczególnymi technologiami (BLE CS, Wi-Fi NAN RTT CS, BLE RSSI), jak pokazano w następujących tabelach. Każda część dotycząca konkretnej technologii pomiaru odległości musi zostać dodana tylko wtedy, gdy urządzenie respondenta obsługuje tę technologię pomiaru odległości i jest ona wymagana w wiadomości Ranging Capability Request. W przypadku kanału komunikacji reklamowej należy uwzględnić wszystkie obsługiwane technologie pomiaru zasięgu.

Typowy ładunek wiadomości Ranging Capability Response znajdziesz w tabeli poniżej:

Octet Typ danych Opis Wartość
0 uint8*2 Bitowa lista obsługiwanych technologii pomiaru zasięgu. Wskazuje zestaw możliwości technologii pomiarowych, które występują w pozostałych danych ładunku.
  • 0x01 – UWB
  • 0x02 – dźwięk na kanale BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU
2 tablica bajtów Bajty dotyczące możliwości technologii pomiarowej. Powtarzające się bloki struktur zdefiniowane dla poszczególnych technologii.

Ładunek wiadomości UWB Ranging Capability Response podsumowano w tabeli poniżej:

Octet Typ danych Opis Wartość
0 uint8 Identyfikator technologii rankingu 0x0 – UWB
1 uint8 Rozmiar Rozmiar bajtów funkcji UWB (w tym pola Technology IDSize) w bajtach.
2 uint8*2 Adres UWB 2-bajtowy adres UWB urządzenia.
4 uint8*4 Bitowa tablica obsługiwanych kanałów Bitofeld obsługiwanych kanałów. Bit ustawiony na 0 oznacza, że funkcja nie jest obsługiwana, a 1 – że jest obsługiwana. Bit 0 odpowiada kanałowi 0.
LSB == channel 0
MSB == channel 31
8 uint8*4 Obsługiwane bitowe pola indeksu w preambule Pole bitowe obsługiwanych indeksów w preambuli. Bit ustawiony na 0 oznacza, że funkcja nie jest obsługiwana, a 1 – że jest obsługiwana. Bit 0 odpowiada indeksowi wstępu 1.
LSB == preamble index 1
MSB == preamble index 32
12 uint8*4 Bitowy identyfikator obsługiwanych identyfikatorów konfiguracji Pole bitowe z obsługiwanymi identyfikatorami konfiguracji UWB. Bit ustawiony na 0 oznacza, że funkcja nie jest obsługiwana, a na 1, że jest obsługiwana.
LSB == config Id 0
>MSB == config Id 31
16 uint8*2 Obsługiwany minimalny interwał pomiaru zasięgu Wskazuje najszybszy obsługiwany interwał pomiaru w milisekundach. Dozwolone wartości (w ms):
  • 96
  • 120
  • 240
  • 600
18 uint8 Obsługiwany minimalny czas trwania slotu Wskazuje najmniejszy obsługiwany czas trwania slotu w milisekundach. Jeśli na przykład urządzenie zwraca wartość 1 ms, przyjmuje się, że obsługuje też czasy trwania slotu wynoszące co najmniej 2 ms. Dozwolone wartości (w ms):
  • 1
  • 2
19 Obsługiwane bitowe pola roli urządzenia UWB Bitofeld obsługiwanych ról UWB. Jeśli na przykład oba są obsługiwane, ostateczna wartość pola to 0x3.
  • 0x1 – obsługiwana rola inicjatora
  • 0x2 – obsługiwana rola odpowiadającego

Ładunek wiadomości BLE CS Ranging Capability Request podsumowano w tabeli poniżej:

Octet Typ danych Opis Wartość
0 uint8 Identyfikator technologii rankingu 0x1 – CS BLE
1 uint8 Rozmiar Rozmiar bajtów funkcji BLE CS (w tym pola Technology IDSize) w bajtach.
2 uint8 Obsługiwane typy zabezpieczeń Pole bitowe obsługiwanych typów zabezpieczeń dla 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 Adres urządzenia Adres urządzenia używany do obsługi BLE CS; w porządku big endian.

Dane zawarte w wiadomości Wi-Fi NAN RTT CS Ranging Capability Request są podsumowane w tabeli:

Octet Typ danych Opis Wartość
0 uint8 Identyfikator technologii rankingu 0x2 – Wi-Fi NAN RTT
1 uint8 Rozmiar Rozmiar bajtów funkcji BLE RSSI (w tym pola Technology IDSize) w bajtach.
2 uint8 Bitowy identyfikator obsługiwanych funkcji Pole bitowe obsługiwanych funkcji.
  • 0x01 – obsługa 11 mc
  • 0x02 – obsługa 11 az
3 uint8 Obsługuje okresowe pomiary zasięgu
  • 0x0 – pomiar okresowy nie jest obsługiwany.
  • 0x1 – obsługiwany zakres okresów
4 uint8 Obsługiwana przepustowość Te informacje pomagają określić osiągalną dokładność pomiaru za pomocą Wi-Fi NAN i mogą pomóc aplikacjom określić, czy do pomiaru odległości należy użyć UWB, BLE CS, BLE RSSI czy Wi-Fi NAN.
  • 0x00 – 20 MHz
  • 0x01 – 40 MHz
  • 0x02 – 80 MHz
  • 0x03 – 160 MHz
  • 0x04 – 80+80 MHz
  • 0x05 – 320 MHz
  • RFU
5 uint8 Obsługiwana liczba łańcuchów odbioru Te informacje pomagają określić osiągalną dokładność pomiaru za pomocą Wi-Fi NAN i mogą pomóc aplikacjom określić, czy do pomiaru odległości należy użyć UWB, BLE CS, BLE RSSI czy Wi-Fi NAN.
  • 0x00 – nieokreślony.
  • 0x01 – 1 łańcuch RX,
  • 0x02 – 2 łańcuchy RX
  • 0x03 – 3 łańcuchy RX
  • 0x04 – 4 łańcuchy RX

Ładunek wiadomości BLE RSSI Ranging Capability Request podsumowano w tabeli poniżej:

Octet Typ danych Opis Wartość
0 uint8 Identyfikator technologii rankingu 0x3 – BLE CS
1 uint8 Rozmiar Rozmiar bajtów możliwości BLE RSSI (w tym pola Technology IDSize) w bajtach.
2 uint8*6 Adres urządzenia Adres urządzenia używany do identyfikatora RSSI BLE w porządku big endian

Ładunek komunikatu konfiguracji pomiaru zasięgu

Rozmiar (bez rozmiaru nagłówka): zmienny (część wspólna 4 bajty plus rozmiar każdego z dołączonych bajtów technologii pomiaru zasięgu).

Opis: to wiadomość wysyłana przez inicjatora. Zawiera konfiguracje, z których każda technologia pomiaru odległości może rozpocząć pomiar. Po otrzymaniu tej wiadomości urządzenie reagujące musi spróbować uruchomić pomiar za pomocą każdej wskazanej technologii pomiaru. Ładunek tego komunikatu składa się z części wspólnej i części związanych z poszczególnymi technologiami pomiarowymi (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI), jak pokazano w tabeli poniżej.

Typowy ładunek wiadomości Ranging Configuration znajdziesz w tabeli poniżej:

Octet Typ danych Opis Wartość
0 uint8*2 Bitfeld konfiguracji zestawu technologii pomiaru zasięgu Pole bitowe technologii pomiarowych, dla których wiadomość zawiera dane konfiguracji i w których przypadku należy ustawić parametry konfiguracji.
  • 0x01 – UWB
  • 0x02 – dźwięk na kanale BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU
2 uint8*2 Bitfield RFU. Musi być ustawiony na taką samą wartość jak pole bitowy zbiór konfiguracji technologii pomiaru zasięgu.
4 tablica bajtów Konfiguracje bajtów technologii pomiaru zasięgu powtarzające się bloki struktur zdefiniowane dla poszczególnych technologii;

Ładunek wiadomości UWB Ranging Configuration podsumowano w tabeli:

Octet Typ danych Opis Wartość
0 uint8 Identyfikator technologii rankingu 0x0 – UWB
1 uint8 Rozmiar Rozmiar konfiguracji UWB (w tym pola Technology IDSize) w bajtach
2 uint8*2 Adres UWB 2-bajtowy adres UWB urządzenia
4 uint8*4 Identyfikator sesji wygenerowany identyfikator sesji. Identyfikator sesji to unikalny identyfikator sesji pomiaru odległości między telefonem a urządzeniem peryferyjnym.
8 uint8 Wybrany identyfikator konfiguracji Wybrany numer identyfikatora konfiguracji w postaci liczby całkowitej. Identyfikator konfiguracji określa parametry czasowania i typ zabezpieczeń, których należy używać w sesji pomiaru zasięgu UWB.
9 uint8 Wybrany kanał Wybrany kanał do sesji pomiaru zasięgu UWB
10 uint8 Wybrany indeks wstępu Wybrany indeks wstępu dla sesji pomiaru zasięgu UWB
11 uint8*2 Wybrany przedział pomiarowy Wybrany interwał pomiarów w milisekundach. Dozwolone wartości (w ms):
  • 96
  • 120
  • 240
  • 600
13 uint8 Wybrany czas trwania przedziału Wybrany czas trwania przedziału w milisekundach. Dozwolone wartości (w ms):
  • 1
  • 2
14 uint8 Długość klucza sesji Długość klucza sesji w bajtach
15 tablica bajtów Klucz sesji Klucz sesji. Jeśli używany jest S-STS, pierwsze 2 bajty to identyfikator dostawcy, a następne 6 bajtów to stały identyfikator STS IV. Jeśli używany jest protokół P-STS, klucz sesji ma 16 lub 32 bajty. Typ zabezpieczeń jest określany przez identyfikator konfiguracji.
różni się uint8*2 Kod kraju Dwuliterowy kod kraju zgodny ze standardem ISO 3166-1 alfa-2, reprezentowany przez 2 znaki ASCII
różni się uint8 Wybrana rola urządzenia
  • 0x01 – inicjator
  • 0x02 – responder
różni się uint8 Wybrany tryb urządzenia
  • 0x01 – kontroler
  • 0x02 – Controlee

Ładunek wiadomości BLE CS Ranging Configuration podsumowano w tabeli poniżej:

Octet Typ danych Opis Wartość
0 uint8 Identyfikator technologii rankingu 0x1 – CS BLE
1 uint8 Rozmiar Rozmiar konfiguracji BLE CS (w tym pola Technology IDSize) w bajtach
2 uint8 Wybrany typ zabezpieczeń Wybrany typ zabezpieczeń. Dozwolone wartości:
  • 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 Adres urządzenia Adres urządzenia używany do obsługi BLE CS; w porządku big endian

Treść wiadomości Ranging Configuration z czasem RTT NAN w sieci Wi-Fi podano w tabeli:

Octet Typ danych Opis Wartość
0 uint8 Identyfikator technologii rankingu 0x2 – Wi-Fi NAN RTT
1 uint8 Rozmiar Rozmiar konfiguracji RTT NAN Wi-Fi (w tym pola Technology IDSize) w bajtach
2 uint8 Długość nazwy usługi Długość pola Nazwa usługi w bajtach. Zapoznaj się ze specyfikacją Wi-Fi Aware w wersji 4.0, sekcja 1.3.3, tabela 1. Definicje.
3 tablica bajtów Nazwa usługi Nazwa usługi. Zapoznaj się ze specyfikacją Wi-Fi Aware w wersji 4.0, sekcja 1.3.3, tabela 1. Definicje.
różni się uint8 Rola urządzenia
  • 0x0 – responder (wydawca usługi NAN);
  • 0x1 – inicjator (subskrybent usługi NAN);
różni się uint8 Używanie okresowego pomiaru zasięgu
  • 0x0 – wyszukiwanie okresowe jest wyłączone
  • 0x1 – włączone okresowe pomiary zasięgu

Ładunek wiadomości BLE RSSI Ranging Configuration podsumowano w tabeli poniżej:

Octet Typ danych Opis Wartość
0 uint8 Identyfikator technologii rankingu 0x3 – BLE RSSI
1 uint8 Rozmiar Rozmiar konfiguracji BLE RSSI (w tym pola Technology IDSize) w bajtach
2 uint8*6 Adres urządzenia Adres urządzenia używany do identyfikatora RSSI BLE w porządku big endian

Payload odpowiedzi z konfiguracją pomiaru zasięgu

Rozmiar (bez rozmiaru nagłówka): 2 bajty

Opis: ta wiadomość jest wysyłana przez osobę, która odpowiedziała na wiadomość Ranging Configuration. Ta wiadomość jest opcjonalna i wymagana tylko wtedy, gdy używany kanał komunikacji wymaga wyraźnej odpowiedzi na każde żądanie.

Ładunek wiadomości Ranging Configuration Response podsumowano w tabeli poniżej:

Octet Typ danych Opis Wartość
0 uint8*2 Konfiguracja technologii pomiaru odległości została ustawiona pomyślnie bitfield Bitofeld technologii pomiarowych, które zostały ustawione. Bitowy zestaw ustawia bit technologii pomiarowej na 1, jeśli technologia została poproszona i ustawiona, a w przeciwnym razie na 0.
  • 0x01 – UWB
  • 0x02 – dźwięk na kanale BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU

Zatrzymanie ładunku wiadomości Ranging

Rozmiar (bez rozmiaru nagłówka): 2 bajty

Opis: to wiadomość wysyłana przez urządzenie inicjujące, gdy nadszedł czas na zakończenie pomiaru za pomocą określonej technologii pomiaru.

Treść wiadomości Stop Ranging podano w tabeli poniżej:

Octet Typ danych Opis Wartość
0 uint8*2 Rangowanie technologii w celu zatrzymania bitowej tablicy Bitowe pole technologii pomiarowych, które muszą przestać mierzyć. Bit ustawiony na 1 oznacza, że technologia pomiaru zasięgu musi przestać działać, a 0 wskazuje, że technologia pomiaru zasięgu nie była używana lub musi kontynuować pomiar zasięgu. W przypadku niektórych technologii pomiaru odległości (np. CS) jest to nieistotne, ponieważ pomiar odległości jest inicjowany i zatrzymywany tylko po stronie inicjatora.
  • 0x01 – UWB
  • 0x02 – dźwięk na kanale BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU

Payload komunikatu Stop Ranging Response

Rozmiar (bez rozmiaru nagłówka): 2 bajty

Opis: ta wiadomość jest wysyłana przez osobę, która odpowiedziała na wiadomość Stop Ranging. To polecenie jest opcjonalne i wymagane tylko wtedy, gdy używany kanał komunikacji wymaga wyraźnej odpowiedzi na każde żądanie.

Ładunek wiadomości Stop Ranging Response podsumowano w tabeli:

Octet Typ danych Opis Wartość
0 uint8*2 Ranging technologies stopped successfully bitfield Bitofeld technologii pomiarowych, które zakończyły pomiar. Bitowy zestaw informacji ustawia bit technologii pomiarowej na 1, jeśli została wysłana prośba o zatrzymanie tej technologii i jeśli udało się ją zatrzymać, a w przeciwnym razie na 0.
  • 0x01 – UWB
  • 0x02 – dźwięk na kanale BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU

Obsługa wersji

Wersja specyfikacji jest zawarta w nagłówku każdej wiadomości. W tej sekcji określono, jak wygląda komunikacja, gdy jedno z urządzeń (inicjator lub urządzenie odpowiadające) ma starszą wersję niż drugie urządzenie.

Przypadek 1. Kanał komunikacji oparty na połączeniu

W tej sekcji opisano przypadki, w których używany jest kanał komunikacji oparty na połączeniu, gdzie Ranging Capability Request to pierwsza wiadomość wysłana przez urządzenie inicjatora.

Przypadek 1.a: inicjator obsługuje nowszą wersję, a odpowiadający – starszą wersję specyfikacji.

Urządzenie inicjujące wysyła wiadomość Ranging Capability Request z nową wersją. Urządzenie odpowiadające na żądanie obsługuje tylko starszą wersję, więc odpowiada na nie, a później starsza wersja urządzenia odpowiadającego na żądanie jest używana do dalszej wymiany wiadomości. Oznacza to, że wiadomość Ranging Capability Request musi być wstecznie zgodna.

Przypadek 1.b: inicjator obsługuje starszą wersję, a odpowiadający nowszą wersję specyfikacji.

Urządzenie odpowiadające widzi, że urządzenie inicjujące nie może korzystać z nowszej wersji, więc wysyła wiadomości tylko przy użyciu starszej wersji, o którą poprosiło urządzenie inicjujące.

Przypadek 2. Kanał komunikacji oparty na reklamie

W tej sekcji opisano przypadki, w których wykorzystywany jest kanał komunikacji oparty na reklamie, a urządzenie odpowiadające na żądanie wyświetla reklamę Ranging Capability Requestbezpośrednio, bez początkowego żądania.

Przypadek 2.a: inicjator obsługuje nowszą wersję, a odpowiadający – starszą wersję specyfikacji.

W pozostałych komunikatach będzie używana starsza wersja ustawiona w reklamie Ranging Capability Response.

Przypadek 2.b: inicjator obsługuje starszą wersję, a odpowiadający – nowszą wersję specyfikacji.

Nowsza wersja reklamy Ranging Capability Response musi być zgodna wstecz, aby urządzenie inicjujące mogło odczytać wiadomość, nawet jeśli używa nowszej wersji. Następnie urządzenie inicjujące wysyła wiadomość Ranging Configuration, korzystając ze starszej wersji, którą obsługuje. Ta wersja jest używana w pozostałych komunikatach.

Aby zapewnić wsteczną zgodność Ranging Capability Response, wszystkie nowe pola dodane do następnej wersji tej specyfikacji w ładunku wiadomości Ranging Capability Response muszą zostać dołączone na końcu ładunku. Nie można modyfikować żadnych istniejących pól. Podczas analizowania konfiguracji, jeśli wskazany rozmiar jest większy niż oczekiwano, dodatkowe pola muszą być ignorowane przez każde urządzenie, które rozumie tylko starsze wersje specyfikacji.

Fragmentacja

Ta specyfikacja nie zależy od kanału komunikacji, więc nie określa, jak dzielić ładunek wiadomości w przypadkach, gdy pojedyncza wiadomość jest zbyt duża, aby zmieścić się w pakiecie przesyłania używanego kanału komunikacji. Moduł Ranging oczekuje, że każda wiadomość będzie w pełnej formie. Odpowiedzialność za podział leży po stronie implementatora kanału komunikacji OOB.

informacje o technologii pomiaru zasięgu;

Ta sekcja zawiera szczegółowe informacje dotyczące technologii pomiaru odległości.

Szczegóły dotyczące łącza ultraszerokopasmowego (UWB)

W tej sekcji opisano szczegółowe informacje dotyczące ultraszerokokresowej transmisji danych.

Identyfikatory konfiguracji

Dane konfiguracji OOB wymieniane w przypadku technologii UWB nie zawierają pełnego zestawu dostępnych parametrów konfigurowalnych, których wymaga UWB do rozpoczęcia sesji pomiaru odległości. Dzieje się tak, ponieważ niektóre parametry są domyślnie wybierane przez wybrany identyfikator config.

Każdy identyfikator konfiguracji to zestaw wstępnie zdefiniowanych parametrów konfiguracji UWB, który jest opisany w dokumentacji UwbRangingParams. Urządzenie odpowiadające wysyła listę wszystkich obsługiwanych identyfikatorów konfiguracji w ramach wiadomości z odpowiedzią na informacje o możliwościach, a inicjator wybiera jeden z obsługiwanych identyfikatorów konfiguracji. Dzięki temu podczas wymiany danych w ramach OOB można wymieniać mniejszy zestaw parametrów konfiguracji. Ogranicza też liczbę możliwych kombinacji parametrów, które można wykorzystać do pomiaru odległości za pomocą UWB, co umożliwia testowanie tylko dozwolonych kombinacji parametrów.

Prośba o możliwości po każdej sesji UWB

Po zatrzymaniu bieżącej sesji UWB i przed rozpoczęciem nowej sesji UWB urządzenie inicjujące musi poprosić o możliwości urządzenia odpowiadającego i ponownie ustawić parametry konfiguracji, ponieważ adres UWB może się zmieniać po zakończeniu bieżącej sesji pomiaru zasięgu.

Szczegóły dotyczące dźwięku kanału BLE

W tej sekcji opisano szczegóły dotyczące dźwięku kanału.

Wymagane połączenie między urządzeniami

Aby skanowanie za pomocą kanału dźwiękowego działało, wymagane jest istnienie połączenia między urządzeniem inicjującym a urządzeniem odpowiadającym. Ta specyfikacja nie określa sposobu nawiązywania połączenia między urządzeniami. Użytkownik interfejsów API do określania zasięgu musi nawiązać to połączenie między urządzeniami.

Wymagane działanie ze strony osoby odpowiadającej za obsługę klienta

W przypadku UWB oba urządzenia muszą wywołać interfejs API start ranging i stop ranging. W przypadku CS wystarczy, że urządzenie inicjujące wywoła pakiet Bluetooth (BT) w celu rozpoczęcia pomiaru. Pozostała część procesu inicjowania po stronie odpowiadającego odbywa się w zakresie za pomocą BT. Oznacza to, że po otrzymaniu wiadomości Ranging Configuration lub wiadomości Stop Ranging w przypadku CS odpowiadający nie musi nic robić, jeśli włączone jest BT. Urządzenie reagujące może używać tych komunikatów jako wyzwalacza do aktualizowania interfejsu lub np. do migania diodami LED.