ویژگی Wi-Fi Round Trip Time (RTT) در Android 9 به دستگاههای پشتیبانی کننده امکان میدهد فاصله را با سایر دستگاههای پشتیبانی کننده اندازهگیری کنند: خواه نقاط دسترسی (APs) یا Wi-Fi Aware همتایان (اگر Wi-Fi Aware در دستگاه پشتیبانی میشود. دستگاه). این ویژگی که بر اساس پروتکل IEEE 802.11mc و IEEE 802.11az (موجود در اندروید 15) ساخته شده است، به برنامه ها امکان می دهد از دقت و آگاهی موقعیت مکانی پیشرفته استفاده کنند.
مثال ها و منبع
برای استفاده از این ویژگی، رابط Vendor HAL را پیاده سازی کنید. در اندروید 14 و بالاتر، رابط Vendor HAL با استفاده از AIDL تعریف شده است. در اندروید 13 و پایین تر، رابط Vendor HAL با استفاده از HIDL تعریف شده است. در Android 8.0، HIDL جایگزین ساختار قبلی Hardware Abstraction Layer (HAL) شد که برای سادهسازی پیادهسازیها با مشخص کردن انواع و فراخوانهای روش جمعآوریشده در رابطها و بستهها استفاده میشد.
رابط Wi-Fi را دنبال کنید تا از ویژگی Wi-Fi RTT استفاده کنید. بسته به اینکه چه رابطی پیاده سازی شده است، این است:
- AIDL:
hardware/interfaces/wifi/aidl
- HIDL:
hardware/interfaces/wifi/1.0
یا بالاتر.
برای مشاهده ارتباط آن با رابط های AIDL و HIDL می توانید به HAL قدیمی Wi-Fi مراجعه کنید: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h .
پیاده سازی
برای پیاده سازی Wi-Fi RTT، باید هم از چارچوب و هم پشتیبانی HAL/firmware ارائه دهید:
چارچوب:
- کد AOSP
- فعال کردن Wi-Fi RTT: به یک پرچم ویژگی نیاز دارد
Wi-Fi RTT (IEEE 802.11mc یا IEEE 802.11az) پشتیبانی HAL (که به معنای پشتیبانی سیستم عامل است)
برای پیاده سازی این ویژگی، رابط Wi-Fi AIDL یا HIDL را پیاده سازی کنید و پرچم ویژگی را فعال کنید:
در
device.mk
واقع درdevice/<oem>/<device>
، متغیر محیطیPRODUCT_COPY_FILES
را تغییر دهید تا از ویژگی Wi-Fi RTT پشتیبانی کند:PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml
در غیر این صورت، هر آنچه برای این ویژگی لازم است در AOSP گنجانده شده است.
تصادفی سازی MAC
برای افزایش حریم خصوصی، آدرس MAC مورد استفاده در طول تراکنش های Wi-Fi RTT باید تصادفی باشد، یعنی نباید با آدرس MAC بومی رابط Wi-Fi مطابقت داشته باشد. با این حال، به عنوان یک استثنا، هنگامی که یک دستگاه با یک AP مرتبط است، ممکن است از آدرس MAC که با آن مرتبط است برای هر تراکنش RTT با آن AP یا سایر APها استفاده کند.
اعتبار سنجی
تستهای مجموعه تست سازگاری Android (CTS) برای این ویژگی وجود دارد. CTS تشخیص می دهد که این ویژگی چه زمانی فعال است و به طور خودکار آزمایش های مرتبط را شامل می شود. این ویژگی را می توان با استفاده از مجموعه تست فروشنده (VTS) نیز آزمایش کرد.
تست های واحد
آزمایشات بسته Wi-Fi RTT با استفاده از موارد زیر انجام می شود:
تست های خدمات:
atest com.android.server.wifi.rtt
تست های مدیر:
atest android.net.wifi.rtt
سی تی اس
تستهای مجموعه تست سازگاری Android (CTS) برای این ویژگی وجود دارد. CTS تشخیص می دهد که این ویژگی چه زمانی فعال است و به طور خودکار آزمایش های مرتبط را شامل می شود. نقطه دسترسی که از Wi-Fi RTT (IEEE 802.11mc) پشتیبانی می کند باید در محدوده دستگاه تحت آزمایش قرار گیرد.
تست های CTS را می توان با استفاده از موارد زیر آغاز کرد:
atest WifiRttTest
کالیبراسیون
برای اینکه Wi-Fi RTT به خوبی کار کند، محدوده های بازگشتی در پروتکل های 802.11mc یا 802.11az باید در شاخص های کلیدی عملکرد (KPI) همانطور که در این بخش توضیح داده شده است، دقیق باشند.
برای پروتکل 11 mc، در پهنای باند فهرست شده (80 مگاهرتز، 40 مگاهرتز، 20 مگاهرتز) و اندازه انفجار 8، انتظار میرود KPI برای تخمین محدوده به دقت زیر در صدک 90 خطا دست یابد.
- 80 مگاهرتز: 2 متر
- 40 مگاهرتز: 4 متر
- 20 مگاهرتز: 8 متر
برای پروتکل 11az، پیکربندی آنتن MIMO و تکرار میدان تمرین طولانی (LTF) بر دقت تأثیر می گذارد. با یک تلفن همراه معمولی (با استفاده از 2 آنتن) و نقطه دسترسی (4 آنتن)، سیستم دارای پیکربندی MIMO 2x4 است. برای چنین پیکربندی با استفاده از ضریب تکرار LTF دو و در پهنای باند فهرست شده (160 مگاهرتز، 80 مگاهرتز، 40 مگاهرتز، 20 مگاهرتز)، انتظار میرود KPI برای تخمین محدوده به دقت زیر در صدک 90 خطا دست یابد.
- 160 مگاهرتز: 0.5 متر
- 80 مگاهرتز: 1 متر
- 40 مگاهرتز: 2 متر
- 20 مگاهرتز: 4 متر
برای اطمینان از اینکه اجرای این ویژگی به درستی کار می کند، آزمایش کالیبراسیون ضروری است.
این را می توان با مقایسه محدوده حقیقت زمین در برابر محدوده تخمینی RTT در فواصل افزایشی به دست آورد. برای انطباق اولیه، باید راه حل خود را در برابر دستگاهی که دارای کالیبره RTT است تأیید کنید. کالیبراسیون برد باید تحت شرایط زیر آزمایش شود:
- یک آزمایشگاه بزرگ باز، یا راهرویی که اشیاء فلزی زیادی ندارد که ممکن است منجر به تعداد غیرعادی زیاد چند مسیر شود.
- حداقل یک مسیر یا مسیر خط دید (LOS) به طول 25 متر.
- نشانگرهایی با افزایش 0.5 متری از یک سر مسیر به انتهای دیگر.
مکانی برای ایمن کردن یک نقطه دسترسی با قابلیت RTT در یک انتهای مسیر که 20 سانتیمتر بالاتر از کف نصب شده است، و یک پایه متحرک برای تلفن Android (یا سایر دستگاههای تلفن همراه اندرویدی تحت آزمایش) که میتواند در طول مسیر حرکت داده شود و با آن همتراز شود. نشانگرهای 0.5 متری، همچنین در 20 سانتی متر بالاتر از کف.
50 نتیجه دامنه باید در هر نشانگر به همراه فاصله از نقطه دسترسی ثبت شود. آمارهایی مانند میانگین دامنه و واریانس باید برای هر موقعیت نشانگر محاسبه شود.
از نتایج مرحله 5، می توان نموداری برای حقیقت زمین (محور x) در برابر محدوده تخمینی (محور y) ترسیم کرد و یک خط رگرسیون بهترین برازش را تخمین زد. کالیبراسیون دستگاه ایدهآل منجر به خطی با گرادیان 1.0 با افست 0.0 متر در محور y میشود. انحراف از این مقادیر در صورتی قابل قبول است که در KPI برای پهنای باند مربوطه باشند. اگر نتایج خارج از KPI هستند، ویژگی دستگاه باید دوباره کالیبره شود تا نتایج در داخل مشخصات KPI قرار گیرد.