การรับรู้ถึง Wi-Fi ฟีเจอร์ที่เพิ่มเข้ามาใน Android 8.0 ช่วยให้อุปกรณ์ที่รองรับค้นพบ เชื่อมต่อ และช่วง (ที่เพิ่มเข้ามาใน Android 9) ให้กันโดยตรง ใช้โปรโตคอล Wi-Fi Aware โดยไม่ต้องเข้าถึงอินเทอร์เน็ตหรือเครือข่ายมือถือ ช่วงเวลานี้ ซึ่งสร้างขึ้นจาก Wi-Fi Alliance (WFA) ข้อกำหนดเกี่ยวกับ Wi-Fi Aware (เวอร์ชัน 2.0, 3.0, 3.1 และ 4.0) ทำให้สามารถแชร์ข้อมูลอัตราการส่งข้อมูลสูงได้ง่ายๆ ในกลุ่มอุปกรณ์และแอปที่เชื่อถือได้ที่อยู่นอกเครือข่าย
ตัวอย่างและแหล่งที่มา
ผู้ผลิตอุปกรณ์ควรติดตั้งใช้งาน HAL ของผู้ให้บริการ Wi-Fi เพื่อใช้ฟีเจอร์นี้ ใน Android 14 ขึ้นไป อินเทอร์เฟซ HAL ของผู้ให้บริการกำหนดโดยใช้ AIDL สำหรับ Android 13 และต่ำกว่า อินเทอร์เฟซ HAL ของผู้ให้บริการกำหนดโดยใช้ HIDL
ทำตามอินเทอร์เฟซ Wi-Fi เพื่อใช้ฟีเจอร์ Wi-Fi Aware ซึ่งอาจเป็นอย่างใดอย่างหนึ่งต่อไปนี้ โดยขึ้นอยู่กับอินเทอร์เฟซที่ใช้งาน
- AIDL:
hardware/interfaces/wifi/aidl
- HIDL:
hardware/interfaces/wifi/1.2
ขึ้นไป
คุณสามารถดู HAL ของ Wi-Fi เดิมเพื่อดูว่าสัมพันธ์กับ อินเทอร์เฟซ AIDL และ HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/wifi_nan.h
การใช้งาน
ผู้ผลิตอุปกรณ์จะต้องมีทั้งการสนับสนุนเฟรมเวิร์กและ HAL/เฟิร์มแวร์ ดังนี้
- เฟรมเวิร์ก:
- รหัส AOSP
- เปิดใช้ Aware: ต้องใช้ทั้งแฟล็กฟีเจอร์และแฟล็กบิลด์
- การรองรับ Wi-Fi Aware (NAN) HAL (ซึ่งหมายความว่ารองรับเฟิร์มแวร์)
ผู้ผลิตอุปกรณ์จะใช้ฟีเจอร์นี้เพื่อใช้ฟีเจอร์นี้ และเปิดใช้แฟล็กฟีเจอร์ 2 รายการ ได้แก่
ใน
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 นี้คือ แบบมีเงื่อนไขในอุปกรณ์ที่รองรับฟีเจอร์ RTT ของ Wi-Fi กล่าวคือ อุปกรณ์ให้รองรับทั้ง Wi-Fi Aware และ RTT ของ Wi-Fi ดูรายละเอียดเพิ่มเติมได้ที่ RTT ของ Wi-Fi
หรือไม่เช่นนั้น ที่จำเป็นทั้งหมดสำหรับฟีเจอร์นี้จะรวมอยู่ใน AOSP
ระบบจะไม่สนใจแฟล็ก WIFI_HIDL_FEATURE_AWARE
หาก
วันที่ WIFI_HAL_INTERFACE_COMBINATIONS
มีการระบุสถานะไว้ สำหรับข้อมูลเพิ่มเติม โปรดดู
การใช้งานหลายอินเทอร์เฟซผ่าน Wi-Fi พร้อมกัน
การสุ่ม MAC
Android ต้องใช้ที่อยู่ MAC ของการสำรวจ Wi-Fi Aware (NMI) และข้อมูล ของอินเทอร์เฟซ (NDP) ให้เป็นแบบสุ่มและไม่เหมือนกับที่อยู่ MAC จริง ของอุปกรณ์ ที่อยู่ MAC ต้องเป็นดังนี้
- สุ่มเมื่อใดก็ตามที่เปิดใช้หรือเปิดใช้ Wi-Fi Aware อีกครั้ง
เมื่อเปิดใช้การรับรู้ Wi-Fi ที่อยู่ MAC จะต้องแบบสุ่ม กำหนดค่าโดย พารามิเตอร์
NanConfigRequest.macAddressRandomizationIntervalSec
ช่วงเวลานี้ จะได้รับการกำหนดค่าโดยเฟรมเวิร์กโดยค่าเริ่มต้นเป็น 30 นาที
ระงับและกลับมาใช้งานอีกครั้ง
ใน Android 14 ขึ้นไป Wi-Fi Aware รองรับ ความสามารถของแอปที่ได้รับสิทธิ์ในการระงับและใช้งานเซสชันการค้นพบที่ใช้งานอยู่ต่อ (รวมถึงเส้นทางข้อมูลทั้งหมดที่เชื่อมโยงกับเซสชันเหล่านั้น) สนับสนุนสิ่งนี้ ความสามารถนี้ทำให้อุปกรณ์กลับไปใช้เซสชันการค้นพบได้เร็วขึ้นและใช้พลังงานน้อยลงเนื่องจาก ระงับเซสชันการค้นพบได้
หากอุปกรณ์รองรับความสามารถในการระงับและการกลับมาใช้งานต่อ เฟิร์มแวร์จะระงับ เซสชันการรับรู้ Wi-Fi เมื่อแอปที่ได้รับสิทธิ์ระงับเซสชันการสำรวจ เมื่อเซสชันการค้นหาอยู่ในสถานะถูกระงับ อุปกรณ์จะไม่ส่ง หรือได้รับเฟรมใดๆ สําหรับเซสชันนั้น รวมถึง NDP ที่ใช้งานอยู่ในนั้น เซสชัน หากเซสชันการค้นพบทั้งหมดถูกระงับ อุปกรณ์จะไม่ส่ง หรือได้รับเฟรม Wi-Fi Aware
เมื่อแอปที่ได้รับสิทธิ์กลับมาใช้เซสชันการค้นพบที่ถูกระงับ เฟรมเวิร์ก เปลี่ยนเซสชันกลับเป็นสถานะก่อนหน้า รวมถึง NDP ที่เกี่ยวข้องทั้งหมด เซสชัน การกลับมาใช้เซสชันการค้นพบที่ถูกระงับนั้นรวดเร็วกว่าการเรียกให้แสดง การรับรู้ถึง Wi-Fi และการสร้างเซสชันการค้นพบใหม่
เพื่อรองรับความสามารถในการระงับและดำเนินเซสชันการค้นพบต่อ อุปกรณ์
จะต้องให้การรองรับ HAL และเฟิร์มแวร์ โปรดดูรายละเอียดที่หัวข้อ
IWifiNanIface.java
ผู้ผลิตอุปกรณ์สามารถใช้การสื่อสารนอกย่านความถี่ (เช่น BLE) เพื่อ ซิงค์การระงับและกลับมาใช้งานต่อในอุปกรณ์หลายเครื่อง
การตรวจสอบความถูกต้อง
Android มีชุดการทดสอบ 1 หน่วย การทดสอบชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) และ CTS Verifier จะทดสอบเพื่อตรวจสอบ Wi-Fi ฟีเจอร์ Aware Wi-Fi Aware ยังทดสอบได้โดยใช้ Vendor Test Suite (VTS)
การทดสอบ 1 หน่วย
การทดสอบแพ็กเกจ Wi-Fi Aware จะดำเนินการโดยใช้สิ่งต่อไปนี้
การทดสอบบริการ:
atest com.android.server.wifi.aware
การทดสอบผู้จัดการ:
atest android.net.wifi.aware
การทดสอบชุดทดสอบความเข้ากันได้ (CTS)
ใช้การทดสอบ CTS เพื่อตรวจสอบฟีเจอร์ Wi-Fi Aware CTS จะตรวจจับเมื่อฟีเจอร์ และรวมการทดสอบที่เกี่ยวข้องโดยอัตโนมัติ
การทดสอบ CTS สามารถทริกเกอร์ได้โดยใช้สิ่งต่อไปนี้
atest SingleDeviceTest
การทดสอบ CTS Verifier
การทดสอบ CTS Verifier จะตรวจสอบลักษณะการทำงานของ Wi-Fi Aware โดยใช้อุปกรณ์ 2 เครื่อง ได้แก่ การทดสอบ และอุปกรณ์ที่เป็นที่รู้จัก หากต้องการทำการทดสอบ ให้เปิด CTS Verifier และ ให้ไปที่ส่วนชื่อ "การทดสอบการรับรู้ Wi-Fi"