Od Androida 13 Android udostępnia domyślną implementację platformy dla technologii radiowej Ultra Wideband (UWB), która umożliwia wysoce bezpieczne i precyzyjne określanie odległości między obsługiwanymi urządzeniami. Platforma udostępnia stos AOSP UWB jako opcjonalny moduł dla producentów urządzeń. Więcej informacji o module znajdziesz w artykule Moduł: UWB.
Architektura
Stos UWB składa się z modułu głównego UWB i implementacji HAL dostarczonej przez dostawcę układu UWB. Na rysunku 1 przedstawiono architekturę stosu UWB:
Rysunek 1. Architektura stosu UWB.
Stos AOSP
Stos AOSP UWB, spakowany jako opcjonalny moduł com.google.android.uwb, zawiera te komponenty:
- Powierzchnia interfejsu API platformy UWB: lokalizacja kodu:
packages/modules/Uwb/framework - Biblioteka pomocy: lokalizacja kodu:
packages/modules/Uwb/service/support_lib - Warstwa UwbService i komponenty Common Service Management Layer (CSML)
zdefiniowane przez FiRa Lokalizacja kodu:
packages/modules/Uwb/service - Warstwa UCI w języku Rust: lokalizacja kodu:
external/uwb - Interfejs UWB HAL oparty na specyfikacji interfejsu poleceń UWB (UCI)
zdefiniowanej przez FiRa Lokalizacja kodu:
hardware/interfaces/uwb
Komponenty dostawcy
Stos dostawcy obejmuje implementację UWB HAL, sterownik UWB i urządzenie UWB.
Powierzchnie interfejsu API dla UWB
Stos UWB obejmuje powierzchnie interfejsu API dla aplikacji systemowych i aplikacji innych firm.
Aplikacje systemowe
Producenci urządzeń używają interfejsu API systemu android.uwb.UwbManager
, aby zapewnić aplikacjom systemowym dostęp niskiego poziomu. Aby korzystać z tego interfejsu API, aplikacje systemowe muszą używać biblioteki pomocy (packages/modules/Uwb/service/support_lib).
Aplikacje innych firm
Aplikacje innych firm używają publicznego interfejsu API Jetpack UWB,
androidx.core.uwb. Więcej informacji znajdziesz w artykule Łącze ultraszerokopasmowe]6.
Weryfikacja
Aby sprawdzić implementację UWB, upewnij się, że urządzenie przechodzi testy CTS w katalogu /cts/tests/uwb.