Wi-Fi RTT (IEEE 802.11mc)

תכונת Wi-Fi Round Trip Time (RTT) באנדרואיד 9 מאפשרת למכשירים תומכים למדוד מרחק למכשירים תומכים אחרים: בין אם הם נקודות גישה (APs) או Wi-Fi Aware עמיתים (אם Wi-Fi Aware נתמך ב- התקן). תכונה זו, הבנויה על פרוטוקול IEEE 802.11mc, מאפשרת לאפליקציות להשתמש ברמת דיוק ומודעות משופרים של המיקום.

דוגמאות ומקור

כדי להשתמש בתכונה זו, יש ליישם את ממשק הספק HAL. באנדרואיד 14 ומעלה, ממשק הספק HAL מוגדר באמצעות AIDL. באנדרואיד 13 ומטה, ממשק הספק HAL מוגדר באמצעות HIDL. באנדרואיד 8.0, HIDL החליף את המבנה הקודם של Hardware Abstraction Layer (HAL) ששימש לייעל יישומים על ידי ציון סוגים וקריאות שיטות שנאספו לתוך ממשקים וחבילות.

עקוב אחר ממשק ה-Wi-Fi כדי להשתמש בתכונת Wi-Fi RTT. תלוי באיזה ממשק מיושם, זה:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 ואילך.

אתה יכול לעיין ב-Wi-Fi HAL מדור קודם כדי לראות כיצד הוא מתאם עם ממשקי AIDL ו-HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h .

יישום

כדי ליישם Wi-Fi RTT, עליך לספק גם מסגרת וגם תמיכה ב-HAL/קושחה:

  • מִסגֶרֶת:

    • קוד AOSP
    • אפשר Wi-Fi RTT: דורש דגל תכונה
  • תמיכה ב-Wi-Fi RTT (IEEE 802.11mc) 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 זה או עם APs אחרים.

מַתַן תוֹקֵף

קיימות בדיקות של Android Compatibility Test Suite (CTS) עבור תכונה זו. CTS מזהה מתי התכונה מופעלת וכוללת אוטומטית את הבדיקות המשויכות. ניתן לבדוק תכונה זו גם באמצעות ה- Vendor Test Suite (VTS) ו- acts/sl4a , חבילת בדיקה המבצעת בדיקות אינטגרציה מקיפות.

בדיקות יחידה

בדיקות חבילת Wi-Fi RTT מבוצעות באמצעות:

מבחני שירות:

atest com.android.server.wifi.rtt

מבחני מנהל:

atest android.net.wifi.rtt

מבחני אינטגרציה (ACTS).

חבילת הבדיקות acts/sl4a, המתוארת ב- /tools/test/connectivity/acts_tests/tests/google/wifi/rtt/README.md , מספקת מבחני פונקציונליות, ביצועים ומבחנים.

CTS

קיימות בדיקות של Android Compatibility Test Suite (CTS) עבור תכונה זו. CTS מזהה מתי התכונה מופעלת וכוללת אוטומטית את הבדיקות המשויכות. נקודת גישה התומכת ב-Wi-Fi RTT (IEEE 802.11mc) חייבת להיות בטווח של המכשיר הנבדק.

ניתן להפעיל את מבחני ה-CTS באמצעות:

atest WifiRttTest

כִּיוּל

כדי שה-Wi-Fi RTT יתפקד היטב, הטווחים המוחזרים בפרוטוקול 802.11mc מדויקים באופן אידיאלי במסגרת אינדיקטור הביצועים המפתח (KPI). עבור שגיאת ה-CDF של 90%, ברוחב הפס המפורטים, ה-KPI המומלץ להערכת טווח צפוי להיות בעל הסבולות הבאות:

  • 80 מגה-הרץ: 2 מטר
  • 40 מגה-הרץ: 4 מטרים
  • 20 מגה-הרץ: 8 מטרים

כדי להבטיח שהטמעת התכונה פועלת כהלכה, יש צורך בבדיקות כיול.

ניתן להשיג זאת על ידי השוואת טווח אמת קרקע מול טווח משוער RTT במרחקים הולכים וגדלים. להתאמה בסיסית, עליך לאמת את הפתרון שלך מול התקן הידוע כמכויל RTT. יש לבדוק את כיול הטווח בתנאים הבאים:

  1. מעבדה פתוחה גדולה, או מסדרון שאין בו הרבה חפצי מתכת שעלולים לגרום להתרחשויות גבוהות במיוחד של ריבוי נתיבים.
  2. לפחות מסלול/שביל קו ראייה (LOS) הנמשך לאורך 25 מטר.
  3. סמנים במרווחים של 0.5 מטר מקצה אחד של המסלול לקצה השני.
  4. מקום לאבטחת נקודת גישה בעלת יכולת RTT בקצה אחד של המסלול המותקן בגובה 20 ס"מ מעל הרצפה, ותושבת ניתנת להזזה לטלפון אנדרואיד (או מכשיר אנדרואיד נייד אחר בבדיקה) שניתן להזיז לאורך המסלול, וליישר אותו עם סמנים של 0.5 מ', גם בגובה 20 ס"מ מעל הרצפה. הערה: משימה חוזרת זו יכולה להתבצע על ידי רובוט קטן, אבל גם מפעיל אנושי בסדר.
  5. יש לרשום 50 תוצאות טווח בכל סמן, יחד עם המרחק מנקודת הגישה. יש לחשב סטטיסטיקה, כגון ממוצע טווח ושונות, עבור כל מיקום סמן.

מהתוצאות בשלב 5, ניתן לשרטט תרשים של אמת קרקע (ציר x) מול טווח משוער (ציר y) ולהעריך קו רגרסיה בהתאמה הטובה ביותר. כיול אידיאלי של המכשיר יביא לקו של שיפוע 1.0, עם היסט של 0.0 מ' על ציר ה-y. סטיות מערכים אלה קבילות אם הן בגדר ה-KPI עבור רוחב הפס המתאים. אם התוצאות הן מחוץ ל-KPI, יש לכייל מחדש את תכונת המכשיר כדי להביא את התוצאות למפרט KPI.