با شروع از اندروید ۱۳، اندروید یک پیادهسازی چارچوب پیشفرض برای فناوری رادیویی باند فوق وسیع (UWB) ارائه میدهد که امکان مسافتیابی بسیار ایمن و دقیق بین دستگاههای پشتیبانیشده را فراهم میکند. این پلتفرم، پشته AOSP UWB را به عنوان یک ماژول اختیاری برای تولیدکنندگان دستگاه ارائه میدهد. برای جزئیات بیشتر در مورد ماژول، به Module: UWB مراجعه کنید.
معماری
پشته UWB شامل ماژول خط اصلی UWB و پیادهسازی HAL ارائه شده توسط یک فروشنده تراشه UWB است. شکل 1 معماری پشته UWB را نشان میدهد:
شکل 1. معماری پشته UWB.
پشته AOSP
پشته AOSP UWB، که به عنوان یک ماژول اختیاری، com.google.android.uwb
، بستهبندی شده است، شامل اجزای زیر است:
- سطح API پلتفرم UWB: محل کد:
packages/modules/Uwb/framework
- کتابخانه پشتیبانی: محل کد:
packages/modules/Uwb/service/support_lib
- اجزای لایه UwbService و لایه مدیریت سرویس مشترک (CSML) که توسط کد FiRa تعریف شدهاند، مکان:
packages/modules/Uwb/service
- لایه UCI بومی Rust: محل کد:
external/uwb
- رابط UWB HAL بر اساس مشخصات رابط فرمان UWB (UCI) که توسط FiRa Code تعریف شده است. مکان:
hardware/interfaces/uwb
اجزای فروشنده
پشته فروشنده شامل یک پیادهسازی فروشنده UWB HAL، درایور UWB و یک دستگاه UWB است.
سطوح API برای UWB
پشته UWB شامل سطوح API برای برنامههای سیستمی و برنامههای شخص ثالث است.
برنامههای سیستمی
تولیدکنندگان دستگاه از API سیستم android.uwb.UwbManager
برای ارائه دسترسی سطح پایین به برنامههای سیستمی استفاده میکنند. برای استفاده از این API، برنامههای سیستمی باید از کتابخانه پشتیبانی ( packages/modules/Uwb/service/support_lib
) استفاده کنند.
برنامههای شخص ثالث
برنامههای شخص ثالث از API عمومی Jetpack UWB، androidx.core.uwb
، استفاده میکنند. برای اطلاعات بیشتر، به [Ultra-wideband] 6 مراجعه کنید.
تأیید
برای تأیید پیادهسازی UWB، تأیید کنید که دستگاه شما آزمایشهای CTS را در دایرکتوری /cts/tests/uwb
با موفقیت پشت سر میگذارد.