Wi-Fi Direct หรือที่เรียกว่า Wi-Fi P2P ช่วยให้อุปกรณ์ที่รองรับค้นพบและเชื่อมต่อได้ ให้กันและกันโดยตรง ใช้โปรโตคอล Wi-Fi Direct โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ตหรือเครือข่ายมือถือ ช่วงเวลานี้ ซึ่งสร้างขึ้นจาก Wi-Fi Alliance (WFA) ข้อกำหนดเฉพาะ Wi-Fi Direct ทำให้สามารถแชร์ข้อมูลอัตราการส่งข้อมูลสูงระหว่าง อุปกรณ์และแอปที่เชื่อถือได้ที่อยู่นอกเครือข่าย
ตัวอย่างและแหล่งที่มา
ผู้ผลิตอุปกรณ์ต้องใช้ Wi-Fi จึงจะใช้ฟีเจอร์นี้ได้ อินเทอร์เฟซ HAL ของผู้ให้บริการและผู้สมัคร
ใน Android 13 อินเทอร์เฟซ Susubscriptions จะใช้ AIDL สําหรับคําจํากัดความ HAL ใน Android 14 ขึ้นไป อินเทอร์เฟซ HAL ของผู้ให้บริการจะใช้ AIDL ใน Android 12 และต่ำกว่า ผู้สมัครและ อินเทอร์เฟซ HAL ของผู้ให้บริการกำหนดโดยใช้ HIDL
ต้องใช้แพลตฟอร์ม HAL ของ Wi-Fi ต่อไปนี้เพื่อใช้ Wi-Fi Direct ฟีเจอร์:
hardware/interfaces/wifi/aidl
หรือhardware/interfaces/wifi/1.3
ขึ้นไปhardware/interfaces/wifi/supplicant/aidl
หรือhardware/interfaces/wifi/supplicant/1.2
ขึ้นไป
การใช้งาน
ผู้ผลิตอุปกรณ์จะต้องมีทั้งการสนับสนุนเฟรมเวิร์กและ HAL/เฟิร์มแวร์ ดังนี้
- เฟรมเวิร์ก:
- รหัส AOSP
- เปิดใช้ Wi-Fi Direct: ต้องมีแฟล็กฟีเจอร์
- การรองรับ HAL ของ Wi-Fi Direct (P2P) (ซึ่งหมายความว่ารองรับเฟิร์มแวร์)
ผู้ผลิตอุปกรณ์ใช้ฟีเจอร์ Wi-Fi HIDL หรือ AIDL เพื่อใช้ฟีเจอร์นี้
อินเทอร์เฟซ และเปิดใช้ Flag ฟีเจอร์สำหรับ Wi-Fi Direct อยู่ใน device.mk
ใน device/<oem>/<device>
ให้แก้ไขตัวแปรสภาพแวดล้อม PRODUCT_COPY_FILES
เพื่อรวมการสนับสนุนสำหรับคุณลักษณะ Wi-Fi Direct:
```
PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml
```
ข้อกำหนดอื่นๆ ทั้งหมดสำหรับการสนับสนุน Wi-Fi Direct จะรวมอยู่ใน AOSP
การสุ่ม MAC
Android กำหนดให้ที่อยู่อุปกรณ์และอินเทอร์เฟซ Wi-Fi Direct ต้องใช้ ที่อยู่จะเป็นแบบสุ่ม โดยต้องแตกต่างจากที่อยู่ MAC ที่แท้จริงของ อุปกรณ์และต้องมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้
- ที่อยู่อุปกรณ์ Wi-Fi Direct ต้องสุ่มขณะสร้างอินเทอร์เฟซ หากมี ไม่ได้บันทึกกลุ่มถาวร มิฉะนั้น ที่อยู่ของอุปกรณ์ต้องใช้ ที่อยู่ MAC ที่สร้างขึ้น
- ที่อยู่ของอินเทอร์เฟซ Wi-Fi Direct หรือที่เรียกว่าที่อยู่กลุ่ม จะต้องสุ่มเลือกทุกครั้งที่มีการเชื่อมต่อ
ใช้การสุ่ม MAC สำหรับ Wi-Fi Direct ใน "wpa_supplicant" แล้ว และควบคุม
ด้วยการกำหนดค่า 2 รายการคือ p2p_device_random_mac_addr
และ
p2p_interface_random_mac_addr
หากต้องการเปิดใช้ฟีเจอร์นี้ ผู้ผลิตอุปกรณ์จะต้องมีคุณสมบัติดังนี้
- ใช้ API ผู้สมัคร
ISupplicantP2pIface::setMacRandomization
สำหรับ Wi-Fi ซึ่งจะอยู่ในเงื่อนไขต่อไปนี้ โดยขึ้นอยู่กับอินเทอร์เฟซที่ใช้งานhardware/interface/wifi/supplicant/1.2
สำหรับ HIDLhardware/interface/wifi/supplicant/aidl
สำหรับ AIDL
- ตั้งค่า
config_wifi_p2p_mac_randomization_supported
เป็น "จริง" ในอุปกรณ์ที่กำหนดเอง ซ้อนทับ
การตรวจสอบความถูกต้อง
Android มีชุดการทดสอบ 1 หน่วย การทดสอบชุดเครื่องมือทดสอบความเข้ากันได้ (CTS) และ CTS Verifier จะทดสอบเพื่อตรวจสอบ Wi-Fi ฟีเจอร์โดยตรง คุณยังสามารถทดสอบ Wi-Fi Direct ได้ด้วย Vendor Test Suite (VTS)
การทดสอบ 1 หน่วย
ยืนยันแพ็กเกจ Wi-Fi Direct โดยใช้การทดสอบต่อไปนี้
การทดสอบบริการ:
atest com.android.server.wifi.p2p
การทดสอบผู้จัดการ:
atest android.net.wifi.p2p
การทดสอบชุดทดสอบความเข้ากันได้ (CTS)
ใช้การทดสอบ CTS เพื่อตรวจสอบความถูกต้องของฟีเจอร์ Wi-Fi Direct CTS จะตรวจจับเมื่อฟีเจอร์ และรวมการทดสอบที่เกี่ยวข้องโดยอัตโนมัติ
หากต้องการทริกเกอร์การทดสอบ CTS ให้เรียกใช้คำสั่งต่อไปนี้
% atest android.net.wifi.p2p.cts
การทดสอบ CTS Verifier
การทดสอบ CTS Verifier ตรวจสอบลักษณะการทำงานของ Wi-Fi Direct โดยใช้อุปกรณ์ 2 เครื่อง ได้แก่ การทดสอบ และอุปกรณ์ที่เป็นที่รู้จัก หากต้องการทำการทดสอบ ให้เปิด CTS Verifier และ ไปยังส่วนที่ชื่อว่า "การทดสอบ Wi-Fi Direct"