תכונת Wi-Fi Aware שנוספה ב-Android 8.0 מאפשרת למכשירים תומכים לגלות, להתחבר ולטווח (הנוסף ב-Android 9) זה לזה ישירות באמצעות פרוטוקול Wi-Fi Aware ללא גישה לאינטרנט או לרשת סלולרית. תכונה זו, הבנויה על מפרט Wi-Fi Alliance (WFA) Wi-Fi Aware (גרסאות 2.0, 3.0 ו-3.1), מאפשרת שיתוף קל של נתונים עם תפוקה גבוהה בין מכשירים ואפליקציות מהימנות שבאופן אחר נמצאות מחוץ לרשת.
דוגמאות ומקור
כדי להשתמש בתכונה זו, יצרני מכשירים צריכים ליישם את שפת עיצוב ממשק חומרה של 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 מתאר את קבוצת המשנה שנמצאת כעת בשימוש על ידי המסגרת.
אתה יכול להפנות ל-HAL Wi-Fi מדור קודם כדי לראות כיצד הוא מתאם עם ממשק ה-HIDL החדש: hardware/libhardware_legacy/+/master/include/hardware_legacy/wifi_nan.h .
יישום
יצרני התקנים צריכים לספק גם מסגרת וגם תמיכת HAL/קושחה:
- מִסגֶרֶת:
- קוד AOSP
- Enable Aware: דורש גם דגל תכונה וגם דגל בנייה HIDL
- תמיכה ב-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.