Wi-Fi Aware

תכונת Wi-Fi Aware שנוספה ב-Android 8.0 מאפשרת למכשירים תומכים לגלות, להתחבר ולטווח (הנוסף ב-Android 9) זה לזה ישירות באמצעות פרוטוקול Wi-Fi Aware ללא גישה לאינטרנט או לרשת סלולרית. תכונה זו, הבנויה על מפרט Wi-Fi Alliance (WFA) Wi-Fi Aware (גרסאות 2.0 ו-3.0), מאפשרת שיתוף קל של נתונים עם תפוקה גבוהה בין מכשירים ואפליקציות מהימנות שבאופן אחר נמצאות מחוץ לרשת.

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

כדי להשתמש בתכונה זו, יצרני מכשירים צריכים ליישם את שפת עיצוב ממשק חומרה של Wi-Fi (HIDL) הניתנת בפרויקט הקוד הפתוח של Android (AOSP). HIDL מחליף את המבנה הקודם של Hardware Abstraction Layer (HAL) ששימש לייעל יישומים על ידי ציון סוגים וקריאות שיטות שנאספו לתוך ממשקים וחבילות.

עקוב אחר Wi-Fi HIDL כדי להשתמש בתכונה Wi-Fi Aware: חומרה/ממשקים/wifi/1.2 ומעלה. משטח ה-Wi-Fi Aware HAL גדול מאוד; הקובץ hardware/interfaces/wifi/1.2/README-NAN.md מתאר את קבוצת המשנה שנמצאת כעת בשימוש על ידי המסגרת.

אתה יכול להתייחס ל-Wi-Fi HAL מדור קודם כדי לראות כיצד הוא מתאם עם ממשק HIDL החדש: hardware/libhardware_legacy/+/master/include/hardware_legacy/wifi_nan.h .

יישום

יצרני התקנים צריכים לספק גם מסגרת וגם תמיכת HAL/קושחה:

  • מִסגֶרֶת:
    • קוד AOSP
    • Enable Aware: דורש גם דגל תכונה וגם דגל HIDL build
  • תמיכה ב-Wi-Fi Aware (NAN) HAL (המרמזת על תמיכה בקושחה)

כדי ליישם תכונה זו, יצרני המכשירים מיישמים את Wi-Fi HIDL ומפעילים שני דגלים של תכונה:

  • ב- BoardConfig.mk או BoardConfig-common.mk הממוקם device/<oem>/<device> , הוסף את הדגל הבא:

    WIFI_HIDL_FEATURE_AWARE := true
    
  • ב- device.mk שנמצא device/<oem>/<device> , שנה את משתנה הסביבה PRODUCT_COPY_FILES כך שיכלול תמיכה בתכונת Wi-Fi Aware:

    PRODUCT_COPY_FILES +=
    frameworks/native/data/etc/android.hardware.wifi.aware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.aware.xml
    

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

אחרת, כל הנדרש עבור תכונה זו כלול ב-AOSP.

מתעלמים מדגל WIFI_HIDL_FEATURE_AWARE אם צוין דגל WIFI_HAL_INTERFACE_COMBINATIONS . למידע נוסף, ראה במקביליות Wi-Fi מרובה ממשקים .

רנדומיזציה של MAC

אנדרואיד דורשת שכתובת ה-MAC של גילוי ה-Wi-Fi Aware (NMI) וממשקי הנתונים (NDPs) יהיו אקראית ולא יהיו זהות לכתובת ה-MAC האמיתית של המכשיר. כתובות ה-MAC חייבות להיות:

  • מופעל באקראי בכל פעם ש-Wi-Fi Aware מופעל או מופעל מחדש.
  • כאשר Wi-Fi Aware מופעל, כתובת ה-MAC חייבת להיות אקראית במרווח קבוע המוגדר על ידי הפרמטר NanConfigRequest.macAddressRandomizationIntervalSec HIDL. זה מוגדר על ידי המסגרת כברירת מחדל ל-30 דקות.

מַתַן תוֹקֵף

אנדרואיד מספקת קבוצה של בדיקות יחידה, מבחני אינטגרציה (ACTS), מבחני חבילת תאימות (CTS) ובדיקות CTS Verifier כדי לאמת את התכונה Wi-Fi Aware. ניתן לבדוק את Wi-Fi Aware גם באמצעות ה- Vendor Test Suite (VTS) .

בדיקות יחידה

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

מבחני שירות:

atest com.android.server.wifi.aware

מבחני מנהל:

atest android.net.wifi.aware

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

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

בדיקות חבילת בדיקת תאימות (CTS).

השתמש בבדיקות CTS כדי לאמת את התכונה Wi-Fi Aware. CTS מזהה מתי התכונה מופעלת וכוללת אוטומטית את הבדיקות המשויכות.

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

atest SingleDeviceTest

בדיקות CTS Verifier

בדיקות CTS Verifier מאמתות התנהגות Wi-Fi Aware באמצעות שני מכשירים: מכשיר בדיקה ומכשיר ידוע כטוב . כדי להפעיל את הבדיקות, פתח את CTS Verifier ונווט אל הקטע שכותרתו Wi-Fi Aware Tests.