W Androidzie 16 wprowadzono moduł pomiaru odległości. Ten protokół i specyfikacja ładunku definiują sekwencję wiadomości i ładunek komunikacji poza pasmem (OOB) używanej do wymiany konfiguracji pomiaru odległości oraz do rozpoczynania i zatrzymywania pomiaru odległości między urządzeniem inicjującym a urządzeniem odpowiadającym, które biorą udział w pomiarze odległości. Android 17 wprowadza wersję 3 tej specyfikacji.
Na tej stronie opisujemy, jak dostawcy urządzeń innych niż Android mogą wdrożyć tę specyfikację, aby ich urządzenia były zgodne z urządzeniami z Androidem.
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 wygenerować kod serializacji i deserializacji wiadomości zdefiniowanych w tej specyfikacji. Ta specyfikacja obsługuje różne języki docelowe, w tym C++, Rust i Java.
Nowości w wersji 3
Wersja 3 specyfikacji OOB wprowadza te zmiany:
- Powiadomienie o ruchu: wiadomość, której urządzenie reklamodawcy używa do powiadamiania urządzenia inicjującego o zmianie ruchu.
- Konfiguracja pomiaru odległości: zawiera nowe pole
Motion support, które informuje inicjatora o konieczności powiadamiania odpowiadającego o wszelkich zmianach w ruchu urządzenia peryferyjnego. - Dodano obsługę nowej technologii Wi-Fi PD w Ranging Capability i Ranging Configuration.
- Wycofanie pól
Supported BandwidthiSupported number of Receive chainswWi-Fi NAN RTT Ranging Capability.
Kolejność bajtów
O ile nie określono inaczej, wszystkie wielobajtowe pola liczbowe w wiadomościach są zapisywane w formacie little-endian.
Wiadomości i sekwencja wiadomości
W tej sekcji opisano wiadomości i kolejność ich wymiany.
W tabeli poniżej znajdziesz wszystkie wiadomości, które są obecne 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 |
Motion Notification |
0x8 |
Wymiana wiadomości rozpoczyna się od wysłania przez urządzenie inicjujące sygnału Ranging
Capability Request do urządzenia odpowiadającego. Urządzenie odpowiadające wysyła Ranging Capability Response, jak pokazano na rysunku 1:
Rysunek 1. Wymiana wiadomości OOB za pomocą kanału komunikacji opartego na połączeniu.
Urządzenie odpowiadające rozpoczyna pomiar odległości natychmiast po otrzymaniu wiadomości Ranging
Configuration. Urządzenie odpowiadające przestaje określać odległość po otrzymaniu lub wykryciu wiadomości Stop Ranging.
Urządzenie odpowiadające wypełnia możliwości tylko w przypadku technologii pomiaru odległości, o które poproszono w wiadomości Ranging Capability Request.
Urządzenie inicjujące oczekuje tylko jednej odpowiedzi na każdą wysłaną wiadomość z prośbą. Urządzenie odpowiadające nie może przyjmować takich założeń, aby móc odpowiadać na dowolne żądanie w dowolnej kolejności. Sprawdza to, czy urządzenie odpowiadające może odpowiadać na wiele kolejnych wiadomości Ranging Capability Request lub inne wiadomości w nieprawidłowej kolejności z urządzenia inicjującego.
Przejście na nową technologię
Wersja OOB umożliwia urządzeniom dynamiczne przełączanie się między różnymi technologiami pomiaru odległości podczas sesji. Aby to ułatwić, inicjator może:
- Wysyłaj wiele wiadomości
Ranging Configuration, aby wprowadzać nowe technologie. - Wyślij kilka wiadomości
Stop Ranging, aby zatrzymać aktywne technologie.
Kolejność tych wiadomości zależy od schematu przejścia obsługiwanego przez odpowiadającego:
- Break-before-make: inicjator może przejść na nową technologię tylko wtedy, gdy najpierw zatrzyma pierwszą za pomocą komunikatu
Stop Ranging, a potem uruchomi drugą za pomocą komunikatuRanging Configuration. - Make-before-break: inicjator może uruchomić nową technologię za pomocą wiadomości
Ranging Configuration, zanim zatrzyma istniejące technologie za pomocą wiadomościStop Ranging.
Odpowiadający musi zaimplementować obsługę jednego z tych schematów przejścia zgodnie z wartością pola supported technology transitioning w swoim Ranging Capability Response.
Identyfikatory technologii pomiaru odległości
Identyfikatory technologii pomiaru odległości znajdziesz w tej tabeli:
| Technologia pomiaru odległości | Identyfikator |
|---|---|
| UWB | 0x0 |
| CS | 0x1 |
| Wi-Fi NAN RTT | 0x2 |
| RSSI | 0x3 |
| DS Wi-Fi | 0x4 |
| RFU | 0x5–0xFF |
Te identyfikatory są używane w tabelach na tej stronie, 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, ale jeśli RSSI jest uwzględniony w polu bitowym technologii pomiaru odległości, bit o pozycji identyfikatora (3) musi być włączony (pierwszy bit znajduje się na pozycji 0), co powoduje, że wynikowa wartość pola bitowego wynosi 0x8. Jeśli uwzględnione są zarówno UWB, jak i RSSI, wartość pola bitowego wynosi 0x0A (włączone są bity 0 i 3).
Format wiadomości
Każda wiadomość składa się z nagłówka i ładunku.
Rysunek 3. Format wiadomości.
Nagłówek
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. Więcej informacji o tym, jak wersjonowanie jest używane na urządzeniach z różnymi wersjami, znajdziesz w artykule Wersjonowanie. Nagłówek zachowuje zgodność wsteczną w różnych wersjach, co oznacza, że w każdym przypadku użycia 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 |
|
| 1 | uint8 | Identyfikator wiadomości |
|
Ł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 określenie zakresu
Rozmiar (bez rozmiaru nagłówka): 2 bajty
Opis: wysyłana przez urządzenie inicjujące w celu rozpoczęcia wymiany wiadomości.
Ł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) |
|
Ładunek wiadomości odpowiedzi dotyczącej możliwości pomiaru odległości
Rozmiar (bez rozmiaru nagłówka): zmienny (część wspólna 2 bajty plus rozmiar każdego uwzględnionego bajtu technologii pomiaru odległości)
Opis: wysłana przez osobę odpowiadającą w odpowiedzi na wiadomość Ranging Capability
Request. Ładunek tej 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ęść specyficzna dla danej technologii pomiaru odległości musi być dodana tylko wtedy, gdy ta technologia jest obsługiwana przez urządzenie odpowiadające i jest wymagana w wiadomości Ranging Capability Request.
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. |
|
| 2 | tablica bajtów | Bajty możliwości technologii pomiaru odległości. | Powtórzone bloki struktur zdefiniowane dla każdej technologii. |
| W zależności od usługi | uint8 | Wskazuje obsługę przejścia na inną technologię. |
|
| W zależności od usługi | uint16 | Wskazuje typ urządzenia odpowiadającego. |
|
Ładunek wiadomości UWB Ranging Capability Response został opisany 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 ID i Size) w bajtach. |
| 2 | uint8*2 | Adres UWB | 2-bajtowy adres UWB urządzenia. |
| 4 | uint8*4 | Pole bitowe 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 0MSB == 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 1MSB == 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 oznacza, że funkcja nie jest obsługiwana, a 1 – że jest obsługiwana.LSB == config Id 0MSB == 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):
|
| 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 zwróci wartość 1 ms, zakłada się, że obsługuje też czas trwania przedziału 2 ms lub dłuższy. Dozwolone wartości (w milisekundach):
|
| 19 | uint8 | Pole bitowe roli obsługiwanego urządzenia UWB | Pole bitowe obsługiwanych ról UWB. Jeśli na przykład oba obsługują ostateczną wartość pola, będzie ona wynosić 0x3.
|
Ł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.
|
| 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 możliwości Wi-Fi NAN RTT w bajtach (w tym pola Technology ID i Size). |
| 2 | uint8 | Pole bitowe obsługiwanych funkcji | Pole bitowe obsługiwanych funkcji.
|
| 3 | uint8 | Obsługa okresowego pomiaru odległości |
|
| 4 | uint8 | Obsługiwana przepustowość | WYCOFANE: te informacje pomagają określić możliwą 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.
|
| 5 | uint8 | Obsługiwana liczba łańcuchów odbiorczych | WYCOFANE: 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.
|
Ł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 technologii i Rozmiar). |
| 2 | uint8*6 | Adres urządzenia | Adres urządzenia używanego do BLE RSSI; w kolejności big-endian |
Ładunek wiadomości Wi-Fi PD Ranging Capability Response został podsumowany w tabeli poniżej:
| Oktet | Typ danych | Opis | Wartość |
|---|---|---|---|
| 0 | uint8 | Identyfikator technologii pomiaru odległości | 0x4 – Wi-Fi PD |
| 1 | uint8 | Rozmiar | Rozmiar bajtów możliwości Wi-Fi PD (w tym pól Identyfikator technologii i Rozmiar) w bajtach. |
| 2 | uint8 | Obsługiwane funkcje | Bitmapa
|
| 3 | uint8 | Tryb PASN | Bitmapa
|
| 4 | uint8*6 | Adres urządzenia | Adres urządzenia używanego do Wi-Fi PD w kolejności big-endian. |
| 10 | uint8*2 | Minimalny odstęp pomiaru odległości 802.11mc | Minimalny odstęp pomiaru odległości obsługiwany w formacie big-endian dla 11mc |
| 12 | uint8*2 | Minimalny odstęp pomiaru odległości 802.11az | Minimalny odstęp pomiaru odległości obsługiwany w formacie big-endian dla 11az |
| 14 | uint8 | Maksymalny typ preambuły |
Zakłada się, że wszystkie typy wstępu niższego rzędu są obsługiwane. |
| 15 | uint8 | Maksymalna szerokość kanału |
Zakładamy, że wszystkie mniejsze szerokości kanałów są obsługiwane. |
| 16 | uint8*2 | Częstotliwość obsługiwanego kanału |
|
Ładunek wiadomości Ranging Configuration
Rozmiar (bez rozmiaru nagłówka): zmienny (część wspólna 4 bajty plus rozmiar każdego bajtu uwzględnionej technologii pomiaru odległości).
Opis: ten komunikat jest wysyłany 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 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.
|
| 2 | uint8*2 | Bitfield | RFU. Musi mieć taką samą wartość jak pole Ranging technologies configuration set bitfield. |
| 4 | tablica bajtów | Bajty konfiguracji technologii pomiaru odległości | Powtórzone bloki struktur zdefiniowane dla poszczególnych technologii |
| W zależności od usługi | uint8 | Obsługa ruchu | Motion Notification prosi o dostęp
|
Ł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 technologii i Rozmiar) 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 rodzaj 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 przedział pomiaru odległości | Wybrana częstotliwość pomiaru odległości (w milisekundach). Dozwolone wartości (w milisekundach):
|
| 13 | uint8 | Wybrany czas trwania przedziału czasu | Czas trwania wybranego przedziału w milisekundach. Dozwolone wartości (w milisekundach):
|
| 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 alfa-2, reprezentowany przez 2 znaki ASCII. |
| różni się | uint8 | Wybrana rola urządzenia |
|
| różni się | uint8 | Wybrany tryb urządzenia |
|
Ł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 technologii i Rozmiar) w bajtach. |
| 2 | uint8 | Wybrany typ zabezpieczeń | Wybrany typ zabezpieczeń. Dozwolone wartości:
|
| 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 ID i Size) 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 |
|
| różni się | uint8 | Korzystanie z okresowego pomiaru odległości |
|
Ł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 technologii i Rozmiar) w bajtach. |
| 2 | uint8*6 | Adres urządzenia | Adres urządzenia używanego do BLE RSSI; w kolejności big-endian |
Ładunek wiadomości Wi-Fi PD Ranging Configuration został podsumowany w tabeli poniżej:
| Oktet | Typ danych | Opis | Wartość |
|---|---|---|---|
| 0 | uint8 | Identyfikator technologii pomiaru odległości | 0x4 – Wi-Fi PD |
| 1 | uint8 | Rozmiar | Rozmiar konfiguracji Wi-Fi PD (w tym pola Identyfikator technologii i Rozmiar) w bajtach. |
| 2 | uint8 | Funkcja |
|
| 3 | uint8*6 | Adres MAC | Adres MAC inicjatora |
| 9 | uint8*2 | Przedział pomiaru odległości | Interwał pomiaru odległości w ms |
| 11 | uint8 | Wybrany wstęp |
|
| 12 | uint8 | Wybrana szerokość kanału |
|
| 13 | uint8 | Wybrany kanał |
|
| 14 | uint8 | Wybrany tryb PASN |
|
| 15 | tablica bajtów | Klucz identyfikatora urządzenia | 16-bajtowa tablica stała Uwaga: to pole jest prawidłowe tylko w przypadku uwierzytelnionego trybu PASN. Nie można go ustawić w przypadku nieuwierzytelnionego trybu PASN. |
| 31 | uint8 | Długość hasła | długość hasła, Uwaga: to pole jest prawidłowe tylko w przypadku uwierzytelnionego trybu PASN. Nie można go ustawić w przypadku nieuwierzytelnionego trybu PASN. |
| różni się | tablica bajtów | Hasło | Hasło jako tablica bajtów.
Uwaga: to pole jest prawidłowe tylko w przypadku uwierzytelnionego trybu PASN. Nie można go ustawić w przypadku nieuwierzytelnionego trybu PASN. |
Ładunek wiadomości odpowiedzi na konfigurację pomiaru odległości
Rozmiar (bez rozmiaru nagłówka): 2 bajty
Opis: ta wiadomość jest wysyłana przez odpowiadającego 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 | Bitowe pole konfiguracji technologii pomiaru odległości zostało ustawione | 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 skonfigurowana, a w przeciwnym razie na 0.
|
Stop Ranging message payload
Rozmiar (bez rozmiaru nagłówka): 2 bajty
Opis: ten komunikat jest wysyłany przez urządzenie inicjujące, gdy nadszedł 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 przestać mierzyć odległość, a 0 oznacza, że technologia pomiaru odległości nie mierzyła odległości lub musi kontynuować pomiar, jeśli już go wykonywał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.
|
Ładunek wiadomości Stop Ranging Response
Rozmiar (bez rozmiaru nagłówka): 2 bajty
Opis: ta wiadomość jest wysyłana przez odpowiadającego 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 | Bitowe pole informujące o tym, że technologie pomiaru odległości zostały zatrzymane | Pole bitowe technologii pomiarowych, które zostały zatrzymane. Pole bitowe ustawia bit technologii pomiaru odległości na 1, jeśli zażądano zatrzymania tej technologii i została ona zatrzymana, a w przeciwnym razie na 0.
|
Ładunek wiadomości powiadomienia o ruchu
Rozmiar (bez rozmiaru nagłówka): 1 bajt
Opis: urządzenie odpowiadające wysyła tę wiadomość, aby poinformować urządzenie inicjujące o wszelkich zmianach w swoim stanie ruchu.
| Oktet | Typ danych | Opis | Wartość |
|---|---|---|---|
| 0 | uint8 | Ruch |
|
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 odbiorca) ma starszą wersję niż drugie urządzenie. Ranging Capability Request to pierwsza wiadomość wysłana przez urządzenie inicjujące.
Inicjator obsługuje nowszą wersję specyfikacji, a odpowiadający – 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 jej ramach. Następnie starsza wersja urządzenia odpowiadającego jest używana w pozostałej części wymiany wiadomości. Oznacza to, że wiadomość Ranging Capability Request musi być wstecznie zgodna.
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.
Aby zapewnić wsteczną zgodność wiadomości, wszystkie nowe pola dodane do następnej wersji tej specyfikacji muszą być dołączane na końcu ładunku, a żadne z istniejących pól nie może być modyfikowane. Podczas analizowania konfiguracji, jeśli wskazany rozmiar jest większy niż oczekiwany, dodatkowe pola muszą być ignorowane przez każde urządzenie, które rozumie 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ł pomiaru odległości oczekuje otrzymania każdej wiadomości w pełnej formie. Za fragmentację odpowiada osoba wdrażająca kanał komunikacji OOB.
Specyfika 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 dotyczące technologii UWB.
Identyfikatory konfiguracji
Dane konfiguracyjne OOB wymieniane w przypadku UWB nie zawierają pełnego zestawu dostępnych parametrów konfiguracyjnych, których UWB wymaga do rozpoczęcia sesji pomiaru odległości UWB. 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 identyfikatorów konfiguracji, które obsługuje, w ramach wiadomości z odpowiedzią o możliwościach, 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 opisujemy szczegóły dotyczące sondowania kanału.
Wymagane szyfrowanie połączenia między urządzeniami
Aby pomiar odległości za pomocą sondowania kanału działał, musi istnieć powiązanie między urządzeniem inicjującym a urządzeniem odpowiadającym. Ta specyfikacja nie umożliwia tworzenia powiązań między urządzeniami. Podczas korzystania z interfejsów Ranging API musisz nawiązać to połączenie między urządzeniami.
Działanie wymagane po stronie odpowiadającego w przypadku obsługi klienta
W przypadku UWB oba urządzenia muszą jawnie wywoływać interfejsy UWB API do rozpoczęcia i zakończenia pomiaru odległości. W przypadku CS tylko urządzenie inicjujące musi rozpocząć pomiar odległości CS, wywołując stos 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.