Określanie odległości: sekwencja wiadomości poza pasmem i specyfikacja ładunku

W Androidzie 16 wprowadzono moduł pomiaru odległości. Ta specyfikacja określa sekwencję wiadomości i ładunek komunikacji poza pasmem (OOB). Ta komunikacja obejmuje wymianę konfiguracji pomiaru odległości oraz rozpoczynanie i zatrzymywanie pomiaru odległości między urządzeniami inicjującym i odpowiadającym, które biorą udział w pomiarze odległości.

Głównym celem tej strony jest umożliwienie dostawcom urządzeń innych niż Android wdrożenia tej specyfikacji, aby ich urządzenia były zgodne z urządzeniami z Androidem w zakresie pomiaru odległości.

Implementacja tej specyfikacji w języku opisu pakietów (PDL) Google jest dostępna w serwisie GitHub. Na podstawie tej implementacji kompilator PDL może generować kod serializacji i deserializacji wiadomości zdefiniowanych w tej specyfikacji. Obsługuje różne języki docelowe, w tym C++, Rust i Java.

Wiadomości i sekwencja wiadomości

W tej sekcji opisano wiadomości i kolejność ich wymiany.

W tabeli poniżej znajdziesz wszystkie komunikaty, które występują w wymianie OOB:

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

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

W przypadku kanałów komunikacji opartych na połączeniu, takich jak Bluetooth Low Energy (BLE) Generic Attribute Profile (GATT), wymiana wiadomości rozpoczyna się, gdy urządzenie inicjujące wyśle do urządzenia odpowiadającego Ranging Capability Request. Urządzenie odpowiadające wysyła następnie Ranging Capability Response, jak pokazano na rysunku 1:

Przepływ kanału komunikacji opartego na połączeniu

Rysunek 1. Wymiana wiadomości OOB za pomocą kanału komunikacji opartego na połączeniu.

W przypadku kanałów komunikacji opartych na reklamach urządzenie odpowiadające zaczyna od reklamowania Ranging Capability. W takim przypadku urządzenie inicjujące nie wysyła Ranging Capability Request. Zamiast tego po wykryciu reklamy urządzenie inicjujące (skaner początkowy) odpowiada, wysyłając jako pierwszą wiadomość reklamę Ranging Configuration, jak pokazano na rysunku 2:

Przepływ kanału komunikacji opartego na reklamach

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

W obu przypadkach reszta wymiany wiadomości jest taka sama. Urządzenie odpowiadające rozpoczyna pomiar odległości natychmiast po otrzymaniu wiadomości Ranging Configuration. Po otrzymaniu lub wykryciu wiadomości Stop Ranging przestaje określać odległość.

W przypadku przepływu opartego na połączeniu urządzenie odpowiadające wypełnia możliwości tylko w przypadku technologii pomiaru odległości, o które poproszono w Ranging Capability Request. W przypadku przepływu reklamowego urządzenie odpowiadające musi podać wszystkie swoje możliwości, ponieważ nie ma wcześniejszej wiadomości z żądaniem możliwości.

Urządzenie inicjujące zakłada, że w odpowiedzi na wysłaną wiadomość otrzyma tylko jedną odpowiedź. Urządzenie odpowiadające nie może przyjmować takich założeń, aby móc odpowiadać na dowolne żądanie w dowolnej kolejności. Pomaga to sprawdzić, czy urządzenie odpowiadające może odpowiadać na wiele kolejnych wiadomości Ranging Capability Request lub inne wiadomości wysłane w nieprawidłowej kolejności z urządzenia inicjującego.

Identyfikatory technologii pomiaru odległości

W tej sekcji znajdziesz identyfikatory technologii pomiaru odległości: Ultra Wideband (UWB), Bluetooth Low Energy (BLE) Channel Sounding (CS), Wi-Fi Neighbor Awareness Networking (NAN) Round-Trip Time (RTT)Received Signal Strength Indicator (RSSI).

Identyfikatory są używane w tabelach, w których wymagany jest identyfikator technologii pomiaru odległości. W przypadku pól zawierających pole bitowe technologii pomiaru odległości bit odpowiadający indeksowi identyfikatora technologii jest ustawiany, gdy ta technologia jest uwzględniona w polu bitowym.

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

Identyfikatory technologii pomiaru odległości zostały wymienione w tej tabeli:

Technologia pomiaru odległości ID
UWB 0x0
CS 0x1
Wi-Fi NAN RTT 0x2
RSSI 0x3
RFU 0x4–0xFF

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 wersji określa wersję tej specyfikacji, z którą zgodna jest zawartość wiadomości. Obecna wersja tej specyfikacji to 1. Więcej informacji o tym, jak działa wersjonowanie na urządzeniach z różnymi wersjami, znajdziesz w sekcji Wersjonowanie. Nagłówek zachowuje zgodność wsteczną w różnych wersjach, co oznacza, że w każdym przypadku można go przeanalizować, aby określić wersję i identyfikator wiadomości.

Nagłówek został podsumowany w tej tabeli:

Oktet Typ danych Opis Wartość
0 uint8 Wersja 0x1 – bieżąca wersja
1 unit8 Identyfikator wiadomości
  • 0x0 – Ranging Capability Request wiadomość
  • 0x1 – Ranging Capability Response komunikat
  • 0x2 – Ranging Configuration wiadomość
  • 0x3 – Ranging Configuration Response message (opcjonalny)
  • 0x6 – Stop Ranging wiadomość
  • 0x7Stop Ranging Response message (opcjonalny)
  • 0x4–0x5, 0x80xFF RFU

Ładunek

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

Opis: ładunek to ostatnia część wiadomości, po nagłówku. Ładunek zależy od typu wiadomości. Format ładunku każdego typu wiadomości jest zdefiniowany w sekcjach poniżej.

Ładunek wiadomości z prośbą o możliwość określania odległości

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

Opis: wysyłana przez urządzenie inicjujące w celu rozpoczęcia wymiany wiadomości. Ten komunikat jest opcjonalny, gdy kanał komunikacji jest oparty na reklamach. W takim przypadku urządzenie odpowiadające musi w pierwszej kolejności reklamować Ranging Capability. Urządzenie inicjujące (pierwszy skaner) odczytuje reklamę i bezpośrednio odpowiada komunikatem Ranging Capability, dzięki czemu nie jest on potrzebny.

Ładunek wiadomości Ranging Capability Request został podsumowany w tej tabeli:

Oktet Typ danych Opis Wartość
0 uint8*2 Żądane technologie pomiaru odległości (pole bitowe)
  • 0x01 – UWB
  • 0x02 – sondowanie kanału BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU

Ładunek wiadomości z odpowiedzią dotyczącą możliwości określania odległości

Rozmiar (bez rozmiaru nagłówka): zmienny (część wspólna 2 bajty plus rozmiar każdego bajtu dołączonej technologii pomiaru odległości)

Opis: wysłana przez osobę odpowiadającą w odpowiedzi na wiadomość Ranging Capability Request. Ładunek wiadomości składa się z części wspólnej i części specyficznych dla technologii pomiaru odległości (BLE CS, Wi-Fi NAN RTT, BLE RSSI), jak pokazano w tabelach poniżej. Każda część dotycząca konkretnej technologii pomiaru odległości musi być dodana tylko wtedy, gdy urządzenie odpowiadające obsługuje tę technologię i jest ona wymagana w wiadomości Ranging Capability Request. W przypadku kanału komunikacji reklamowej należy uwzględnić wszystkie obsługiwane technologie określania odległości.

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

Oktet Typ danych Opis Wartość
0 uint8*2 Pole bitowe obsługiwanych technologii pomiaru odległości. Wskazuje zestaw możliwości technologii pomiaru odległości, które są zawarte w pozostałej części ładunku.
  • 0x01 – UWB
  • 0x02 – sondowanie kanału BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU
2 tablica bajtów Bajty możliwości technologii pomiaru odległości. Powtórzone bloki struktur zdefiniowane dla każdej technologii.

Ładunek wiadomości UWB Ranging Capability Response został podsumowany w tabeli poniżej:

Oktet Typ danych Opis Wartość
0 uint8 Identyfikator technologii pomiaru odległości 0x0 – UWB
1 uint8 Rozmiar Rozmiar bajtów funkcji UWB (w tym pól Technology IDSize) w bajtach.
2 uint8*2 Adres UWB 2-bajtowy adres UWB urządzenia.
4 uint8*4 Bitowe pole obsługiwanych kanałów Pole bitowe 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 pole bitowe indeksu preambuły Pole bitowe obsługiwanych indeksów preambuły. Bit ustawiony na 0 oznacza, że funkcja nie jest obsługiwana, a 1 – że jest obsługiwana. Bit 0 odpowiada indeksowi preambuły 1.
LSB == preamble index 1
MSB == preamble index 32
12 uint8*4 Pole bitowe obsługiwanych identyfikatorów konfiguracji Pole bitowe obsługiwanych identyfikatorów konfiguracji UWB. Bit ustawiony na 0 – nieobsługiwane, 1 – obsługiwane.
LSB == config Id 0
>MSB == config Id 31
16 uint8*2 Obsługiwany minimalny odstęp pomiaru odległości Wskazuje najszybszy obsługiwany interwał pomiaru odległości w milisekundach. Dozwolone wartości (w milisekundach):
  • 96
  • 120
  • 240
  • 600
18 uint8 Obsługiwany minimalny czas trwania przedziału Wskazuje najkrótszy obsługiwany czas trwania przedziału w milisekundach. Jeśli na przykład urządzenie zwraca 1 ms, zakłada się, że obsługuje też czas trwania przedziału 2 ms i dłuższy. Dozwolone wartości (w milisekundach):
  • 1
  • 2
19 Pole bitowe roli obsługiwanego urządzenia UWB Pole bitowe obsługiwanych ról UWB. Jeśli na przykład oba obsługują wartość pola końcowego, będzie ona wynosić 0x3.
  • 0x1 – obsługiwana rola inicjatora
  • 0x2 – rola odpowiadającego jest obsługiwana

Ładunek wiadomości BLE CS Ranging Capability Response został podsumowany w tabeli poniżej:

Oktet Typ danych Opis Wartość
0 uint8 Identyfikator technologii pomiaru odległości 0x1 – BLE CS
1 uint8 Rozmiar Rozmiar bajtów funkcji BLE CS (w tym pól Technology ID i Size) w bajtach.
2 uint8 Obsługiwane pole bitowe typu 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żywanego w BLE CS w kolejności big-endian.

Ładunek wiadomości Wi-Fi NAN RTT Ranging Capability Response został podsumowany w tabeli poniżej:

Oktet Typ danych Opis Wartość
0 uint8 Identyfikator technologii pomiaru odległości 0x2 – Wi-Fi NAN RTT
1 uint8 Rozmiar Rozmiar bajtów możliwości RSSI BLE (w tym pola Technology IDSize) w bajtach.
2 uint8 Pole bitowe obsługiwanych funkcji Pole bitowe obsługiwanych funkcji.
  • 0x01 – obsługa 11mc
  • 0x02 – obsługuje 11az
3 uint8 Obsługa okresowego pomiaru odległości
  • 0x0 – okresowe określanie odległości nie jest obsługiwane
  • 0x1 – obsługiwany zakres okresu
4 uint8 Obsługiwana przepustowość Te informacje pomagają określić możliwą do osiągnięcia dokładność pomiaru odległości za pomocą Wi-Fi NAN i mogą pomóc aplikacjom w określeniu, czy do pomiaru odległości używać 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 odbiorczych Te informacje pomagają określić możliwą do osiągnięcia dokładność pomiaru odległości za pomocą Wi-Fi NAN i mogą pomóc aplikacjom w określeniu, czy do pomiaru odległości używać 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 Response został podsumowany w tabeli poniżej:

Oktet Typ danych Opis Wartość
0 uint8 Identyfikator technologii pomiaru odległości 0x3 – BLE RSSI
1 uint8 Rozmiar Rozmiar w bajtach możliwości BLE RSSI (w tym pola Identyfikator technologiiRozmiar).
2 uint8*6 Adres urządzenia Adres urządzenia używanego do pomiaru siły sygnału BLE (RSSI) w kolejności big-endian.

Ładunek wiadomości konfiguracyjnej pomiaru odległości

Rozmiar (bez rozmiaru nagłówka): różny (część wspólna 4 bajty plus rozmiar każdego z uwzględnionych bajtów technologii pomiaru odległości).

Opis: ta wiadomość jest wysyłana przez inicjatora i zawiera konfiguracje, z którymi każda technologia pomiaru odległości może rozpocząć pomiar. Urządzenie odpowiadające musi po otrzymaniu tej wiadomości spróbować rozpocząć pomiar odległości za pomocą każdej wskazanej technologii pomiaru odległości. Ładunek tej wiadomości składa się z części wspólnej i części specyficznych dla technologii pomiaru odległości (UWB, BLE CS, Wi-Fi NAN RTT, BLE RSSI), jak pokazano w tabelach poniżej.

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

Oktet Typ danych Opis Wartość
0 uint8*2 Konfiguracja technologii pomiaru odległości – pole bitowe Pole bitowe technologii pomiaru odległości, dla których to pole zawiera dane konfiguracyjne i dla których muszą być ustawione parametry konfiguracji.
  • 0x01 – UWB
  • 0x02 – sondowanie kanału BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU
2 uint8*2 Bitfield RFU. Musi mieć taką samą wartość jak pole Ranging technologies configuration set bitfield.
4 tablica bajtów Konfiguracje technologii pomiaru odległości (bajty) Powtórzone bloki struktur zdefiniowane dla każdej technologii

Ładunek wiadomości UWB Ranging Configuration został podsumowany w tej tabeli:

Oktet Typ danych Opis Wartość
0 uint8 Identyfikator technologii pomiaru odległości 0x0 – UWB
1 uint8 Rozmiar Rozmiar konfiguracji UWB (w tym pola Identyfikator technologiiRozmiar) 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 Identyfikator wybranej konfiguracji Wybrany numer identyfikatora konfiguracji w postaci liczby całkowitej. Identyfikator konfiguracji określa parametry czasowe i typ zabezpieczeń, które muszą być używane w sesji pomiaru odległości UWB.
9 uint8 Wybrany kanał Wybrany kanał sesji pomiaru odległości UWB
10 uint8 Wybrany indeks preambuły Wybrany indeks preambuły dla sesji pomiaru odległości UWB
11 uint8*2 Wybrany interwał pomiaru odległości Wybrana częstotliwość pomiaru odległości (w milisekundach). Dozwolone wartości (w milisekundach):
  • 96
  • 120
  • 240
  • 600
13 uint8 Wybrany czas trwania przedziału czasu Czas trwania wybranego przedziału w milisekundach. Dozwolone wartości (w milisekundach):
  • 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 kolejne 6 bajtów to STATYCZNY WEKTOR INICJALIZACYJNY STS. Jeśli używany jest P-STS, jest to 16- lub 32-bajtowy klucz sesji. Rodzaj użytego zabezpieczenia jest określany przez identyfikator konfiguracji.
różni się uint8*2 Kod kraju Kod kraju w formacie ISO 3166-1 alpha-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 został podsumowany w tabeli poniżej:

Oktet Typ danych Opis Wartość
0 uint8 Identyfikator technologii pomiaru odległości 0x1 – BLE CS
1 uint8 Rozmiar Rozmiar konfiguracji BLE CS (w tym pola Identyfikator technologiiRozmiar) 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żywanego do BLE CS w kolejności big-endian.

Ładunek wiadomości Wi-Fi NAN RTT Ranging Configuration został podsumowany w tabeli poniżej:

Oktet Typ danych Opis Wartość
0 uint8 Identyfikator technologii pomiaru odległości 0x2 – Wi-Fi NAN RTT
1 uint8 Rozmiar Rozmiar konfiguracji Wi-Fi NAN RTT (w tym pola Technology IDSize) w bajtach.
2 uint8 Długość nazwy usługi Długość pola Nazwa usługi w bajtach. Zapoznaj się z sekcją 1.3.3 tabeli 1 specyfikacji Wi-Fi Aware w wersji 4.0. Definicje.
3 tablica bajtów Nazwa usługi Nazwa usługi. Zapoznaj się z sekcją 1.3.3 tabeli 1 specyfikacji Wi-Fi Aware w wersji 4.0. Definicje.
różni się uint8 Rola urządzenia
  • 0x0 – odpowiadający (wydawca usługi NAN)
  • 0x1 – inicjator (subskrybent usługi NAN)
różni się uint8 Korzystanie z okresowego pomiaru odległości
  • 0x0 – okresowe określanie odległości wyłączone
  • 0x1 – włączone pomiary okresowe

Ładunek wiadomości BLE RSSI Ranging Configuration został podsumowany w tabeli poniżej:

Oktet Typ danych Opis Wartość
0 uint8 Identyfikator technologii pomiaru odległości 0x3 – BLE RSSI
1 uint8 Rozmiar Rozmiar konfiguracji RSSI BLE (w tym pola Identyfikator technologiiRozmiar) w bajtach.
2 uint8*6 Adres urządzenia Adres urządzenia używanego do pomiaru siły sygnału BLE (RSSI) w kolejności big-endian.

Ładunek wiadomości z odpowiedzią na konfigurację pomiaru odległości

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

Opis: ta wiadomość jest wysyłana przez osobę odpowiadającą w odpowiedzi na wiadomość Ranging Configuration. Ten komunikat jest opcjonalny. Jest wymagany tylko wtedy, gdy używany kanał komunikacji wymaga wyraźnej odpowiedzi na każde żądanie.

Ładunek wiadomości Ranging Configuration Response został podsumowany w tabeli poniżej:

Oktet Typ danych Opis Wartość
0 uint8*2 Skonfigurowano pole bitowe technologii pomiaru odległości Pole bitowe technologii pomiaru odległości, które zostały skonfigurowane. Pole bitowe ustawia bit technologii pomiaru odległości na 1, jeśli technologia została zażądana i skutecznie ustawiona, a w przeciwnym razie na 0.
  • 0x01 – UWB
  • 0x02 – sondowanie kanału BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU

Zatrzymywanie ładunku wiadomości o określaniu odległości

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

Opis: ten komunikat jest wysyłany przez urządzenie inicjujące, gdy nadejdzie czas na zatrzymanie pomiaru odległości za pomocą określonej technologii pomiaru odległości.

Ładunek wiadomości Stop Ranging został podsumowany w tej tabeli:

Oktet Typ danych Opis Wartość
0 uint8*2 Technologie pomiaru odległości do zatrzymania pola bitowego Pole bitowe technologii pomiarowych, które muszą przestać dokonywać pomiarów. Bit ustawiony na 1 oznacza, że technologia pomiaru odległości musi przerwać pomiar, a 0 oznacza, że technologia pomiaru odległości nie mierzyła odległości lub musi kontynuować pomiar, jeśli już go prowadziła. W przypadku niektórych technologii pomiaru odległości (np. CS) ta operacja nie ma wpływu na działanie, ponieważ pomiar odległości jest inicjowany i zatrzymywany tylko po stronie inicjatora.
  • 0x01 – UWB
  • 0x02 – sondowanie kanału BLE
  • 0x04 – Wi-Fi NAN RTT
  • 0x08 – BLE RSSI
  • RFU

Zatrzymywanie ładunku komunikatu odpowiedzi dotyczącego pomiaru odległości

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

Opis: ta wiadomość jest wysyłana przez osobę odpowiadającą w odpowiedzi na wiadomość Stop Ranging. Ten komunikat jest opcjonalny. Jest wymagany tylko wtedy, gdy używany kanał komunikacji wymaga wyraźnej odpowiedzi na każde żądanie.

Ładunek wiadomości Stop Ranging Response został podsumowany w tej tabeli:

Oktet Typ danych Opis Wartość
0 uint8*2 Pole bitowe informujące o tym, że technologie pomiaru odległości zostały zatrzymane Pole bitowe technologii pomiaru odległości, które zostały zatrzymane. Pole bitowe ustawia bit technologii pomiaru odległości na 1, jeśli technologia została zatrzymana na żądanie i została zatrzymana, a w przeciwnym razie na 0.
  • 0x01 – UWB
  • 0x02 – sondowanie kanału 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 opisano sposób komunikacji, gdy jedno z urządzeń (inicjator lub odpowiadający) 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, a Ranging Capability Request to pierwsza wiadomość wysłana przez urządzenie inicjujące.

Przypadek 1a.Inicjator obsługuje nowszą wersję specyfikacji, a odbiorca starszą.

Urządzenie inicjujące wysyła wiadomość Ranging Capability Request z nowszą wersją. Urządzenie odpowiadające obsługuje tylko starszą wersję, więc odpowiada w niej, a potem jest ona używana do pozostałych części wymiany wiadomości. Oznacza to, że komunikat Ranging Capability Request musi być wstecznie zgodny.

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

Urządzenie odpowiadające widzi, że urządzenie inicjujące nie obsługuje nowszej wersji, więc wysyła wiadomości tylko w starszej wersji, o którą początkowo poprosiło urządzenie inicjujące.

Przypadek 2. Kanał komunikacji oparty na reklamach

W tej sekcji opisano przypadki, w których używany jest kanał komunikacji oparty na reklamach, a urządzenie odpowiadające reklamuje się Ranging Capability Requestbezpośrednio, bez początkowego żądania.

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

W pozostałej części komunikacji używana jest starsza wersja ustawiona w Ranging Capability Responsereklamie.

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

Nowsza wersja reklamy Ranging Capability Response musi być wstecznie zgodna, aby urządzenie inicjujące mogło odczytać wiadomość, nawet jeśli używa nowszej wersji. Urządzenie inicjujące wysyła wtedy wiadomość Ranging Configuration przy użyciu starszej wersji, którą obsługuje. Jest to wersja, która jest używana w pozostałej części komunikacji.

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ą być dołączone na końcu ładunku, a żadne z istniejących pól nie może zostać zmodyfikowane. Podczas analizowania konfiguracji, jeśli wskazany rozmiar jest większy niż oczekiwany, dodatkowe pola muszą być ignorowane przez każde urządzenie, które może odczytać tylko starszą wersję specyfikacji.

Fragmentacja

Ta specyfikacja jest niezależna 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łanym przez używany kanał komunikacji. Moduł Ranging oczekuje otrzymania każdej wiadomości w pełnej formie. Odpowiedzialność za fragmentację spoczywa na osobie wdrażającej kanał komunikacji OOB.

Szczegóły technologii pomiaru odległości

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

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

W tej sekcji znajdziesz szczegółowe informacje o technologii UWB.

Identyfikatory konfiguracji

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

Każdy identyfikator konfiguracji to zestaw wstępnie zdefiniowanych parametrów konfiguracji UWB, które są opisane w UwbRangingParams. Urządzenie odpowiadające wysyła listę wszystkich obsługiwanych identyfikatorów konfiguracji w ramach wiadomości z odpowiedzią dotyczącą możliwości, a urządzenie inicjujące wybiera jeden z obsługiwanych identyfikatorów konfiguracji, który będzie używany. Umożliwia to wymianę mniejszego zestawu parametrów konfiguracji podczas konfiguracji OOB. Ogranicza też liczbę możliwych kombinacji parametrów, które można wykorzystać do określania odległości za pomocą technologii UWB, co umożliwia testowanie tylko dozwolonych kombinacji parametrów.

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

Po zatrzymaniu istnieją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ę zmienić natychmiast po zakończeniu bieżącej sesji pomiaru odległości.

Specyfika sondowania kanału BLE (CS)

W tej sekcji opisano szczegóły dotyczące sondowania kanału.

Wymagane połączenie między urządzeniami

Aby pomiar odległości za pomocą sondowania kanału działał, musi istnieć połączenie między urządzeniem inicjującym a urządzeniem odpowiadającym. Ta specyfikacja nie umożliwia tworzenia połączenia między urządzeniami. Użytkownik interfejsów Ranging API musi nawiązać to połączenie między urządzeniami.

Działanie wymagane na urządzeniu odpowiadającym w przypadku CS

W przypadku UWB oba urządzenia muszą jawnie wywoływać interfejsy UWB start ranging i stop ranging API. W przypadku CS tylko urządzenie inicjujące musi rozpocząć pomiar odległości CS, wywołując stos Bluetooth (BT). Pozostała część inicjowania po stronie urządzenia odpowiadającego odbywa się w pasmie za pomocą Bluetootha. Oznacza to, że po otrzymaniu wiadomości Ranging Configuration lub wiadomości Stop Ranging dla CS urządzenie odpowiadające nie musi nic robić, jeśli Bluetooth jest włączony. Urządzenie odpowiadające może używać tych wiadomości jako wyzwalacza do aktualizowania interfejsu lub np. migania diod LED.