ฟีเจอร์เวลาในการรับส่งข้อมูล (RTT) ของ Wi-Fi ใน Android 9 ช่วยให้อุปกรณ์ที่รองรับสามารถวัดระยะทางไปยังอุปกรณ์อื่นๆ ที่รองรับได้ ไม่ว่าจะเป็นจุดเข้าใช้งาน (AP) หรืออุปกรณ์ที่เปิดใช้ Wi-Fi Aware (หากอุปกรณ์รองรับ Wi-Fi Aware) ฟีเจอร์นี้สร้างขึ้นจากโปรโตคอล IEEE 802.11mc และ IEEE 802.11az (ใช้ได้ใน Android 15 ขึ้นไป) ซึ่งช่วยให้แอปใช้ความแม่นยำของตำแหน่งและการรับรู้ตำแหน่งที่ดีขึ้น
ตัวอย่างและแหล่งที่มา
หากต้องการใช้ฟีเจอร์นี้ ให้ติดตั้งใช้งานอินเทอร์เฟซ HAL ของผู้ให้บริการ ใน Android 14 ขึ้นไป ระบบจะกำหนดอินเทอร์เฟซ HAL ของผู้ให้บริการโดยใช้ AIDL ใน Android 13 และต่ำกว่า อินเทอร์เฟซ HAL ของผู้ให้บริการจะกำหนดโดยใช้ HIDL ใน Android 8.0 HIDL ได้เข้ามาแทนที่โครงสร้าง Hardware Abstraction Layer (HAL) เดิมที่ใช้เพื่อปรับปรุงการใช้งานให้มีประสิทธิภาพมากขึ้นด้วยการระบุประเภทและการเรียกใช้เมธอดที่รวบรวมไว้ในอินเทอร์เฟซและแพ็กเกจ
ทำตามอินเทอร์เฟซ Wi-Fi เพื่อใช้ฟีเจอร์ RTT ของ Wi-Fi ซึ่งจะเป็นดังนี้โดยขึ้นอยู่กับอินเทอร์เฟซที่ใช้งาน
- AIDL:
hardware/interfaces/wifi/aidl
- HIDL:
hardware/interfaces/wifi/1.0
ขึ้นไป
คุณสามารถดูความสัมพันธ์ระหว่าง HAL ของ Wi-Fi เดิมกับอินเทอร์เฟซ AIDL และ HIDL ได้ที่ hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h
การใช้งาน
หากต้องการใช้ Wi-Fi RTT คุณต้องให้การสนับสนุนทั้งเฟรมเวิร์กและ HAL/เฟิร์มแวร์ ดังนี้
เฟรมเวิร์ก
- รหัส AOSP
- เปิดใช้ RTT ของ Wi-Fi: ต้องใช้ Flag ฟีเจอร์
การรองรับ HAL ของ Wi-Fi RTT (IEEE 802.11mc หรือ IEEE 802.11az) (ซึ่งหมายถึงการรองรับเฟิร์มแวร์)
หากต้องการใช้ฟีเจอร์นี้ ให้ใช้อินเทอร์เฟซ Wi-Fi AIDL หรือ HIDL และเปิดใช้ Flag ฟีเจอร์ ดังนี้
ใน
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 ที่ใช้ในการทำธุรกรรม RTT ของ Wi-Fi ต้องเป็นแบบสุ่มเพื่อเพิ่มความเป็นส่วนตัว กล่าวคือ ต้องไม่ตรงกับที่อยู่ MAC เดิมของอินเทอร์เฟซ Wi-Fi อย่างไรก็ตาม อุปกรณ์อาจใช้ที่อยู่ MAC ที่เชื่อมโยงกับ AP นั้นสำหรับธุรกรรม RTT กับ AP หรือ AP อื่นๆ เป็นการยกเว้น
การตรวจสอบความถูกต้อง
ฟีเจอร์นี้มีชุดเครื่องมือทดสอบความเข้ากันได้ของ Android (CTS) CTS จะตรวจจับเมื่อเปิดใช้ฟีเจอร์และรวมการทดสอบที่เกี่ยวข้องโดยอัตโนมัติ นอกจากนี้ คุณยังทดสอบฟีเจอร์นี้โดยใช้ชุดทดสอบของผู้ให้บริการ (VTS) ได้ด้วย
การทดสอบ 1 หน่วย
การทดสอบแพ็กเก็ต RTT ของ Wi-Fi จะดำเนินการโดยใช้สิ่งต่อไปนี้
การทดสอบบริการ
atest com.android.server.wifi.rtt
การทดสอบผู้จัดการ
atest android.net.wifi.rtt
CTS
ฟีเจอร์นี้มีชุดเครื่องมือทดสอบความเข้ากันได้ของ Android (CTS) CTS จะตรวจจับเมื่อเปิดใช้ฟีเจอร์และรวมการทดสอบที่เกี่ยวข้องโดยอัตโนมัติ จุดเข้าใช้งานที่รองรับ Wi-Fi RTT (IEEE 802.11mc) ต้องอยู่ภายในระยะสัญญาณของอุปกรณ์ทดสอบ
คุณสามารถเรียกใช้การทดสอบ CTS โดยใช้สิ่งต่อไปนี้
atest WifiRttTest
การปรับเทียบ
เพื่อให้ RTT ของ Wi-Fi ทำงานได้ดี ช่วงที่แสดงผลในโปรโตคอล 802.11mc หรือ 802.11az ควรถูกต้องภายในตัวชี้วัดประสิทธิภาพ (KPI) ดังที่อธิบายในส่วนนี้
สำหรับโปรโตคอล 11mc ที่แบนด์วิดท์ที่ระบุไว้ (80 MHz, 40 MHz, 20 MHz) และขนาดการระเบิดที่ 8 คาดว่า KPI สำหรับช่วงโดยประมาณจะมีความแม่นยำที่เปอร์เซ็นไทล์ที่ 90 ของข้อผิดพลาด
- 80 MHz: 2 เมตร
- 40 MHz: 4 เมตร
- 20 MHz: 8 เมตร
สำหรับโปรโตคอล 11az การกำหนดค่าเสาอากาศ MIMO และการทำซ้ำสนามฝึกแบบยาว (LTF) ส่งผลต่อความแม่นยำ เมื่อใช้โทรศัพท์มือถือทั่วไป (ใช้เสาอากาศ 2 ตัว) และจุดเข้าใช้งาน (เสาอากาศ 4 ตัว) ระบบจะมีการกำหนดค่า MIMO 2x4 สําหรับการกําหนดค่าดังกล่าวโดยใช้ปัจจัยการซ้ำของ LTF เป็น 2 และที่ความถี่ที่ระบุไว้ (160 MHz, 80 MHz, 40 MHz, 20 MHz) คาดว่า KPI สําหรับการประมาณระยะสัญญาณจะมีความแม่นยําต่อไปนี้ที่เปอร์เซ็นต์ไทล์ 90 ของความผิดพลาด
- 160 MHz: 0.5 เมตร
- 80 MHz: 1 เมตร
- 40 MHz: 2 เมตร
- 20 MHz: 4 เมตร
คุณจำเป็นต้องทำการทดสอบการปรับเทียบเพื่อให้แน่ใจว่าการใช้งานฟีเจอร์ทำงานได้อย่างถูกต้อง
ซึ่งทำได้โดยการเปรียบเทียบช่วงของข้อมูลจากการสังเกตการณ์โดยตรงกับช่วงโดยประมาณของ RTT เมื่อระยะทางเพิ่มขึ้น สําหรับการปฏิบัติตามข้อกําหนดพื้นฐาน คุณควรตรวจสอบโซลูชันกับอุปกรณ์ที่ทราบว่าได้รับการปรับเทียบ RTT ควรทดสอบการปรับช่วงภายใต้เงื่อนไขต่อไปนี้
- ห้องทดลองแบบเปิดขนาดใหญ่หรือทางเดินที่ไม่มีวัตถุโลหะจำนวนมาก ซึ่งอาจส่งผลให้เกิดเส้นทางหลายเส้นทางสูงผิดปกติ
- เส้นทางหรือแทร็กที่เป็นเส้นทางการมองเห็น (LOS) อย่างน้อย 25 ม.
- เครื่องหมายที่เพิ่มขึ้น 0.5 เมตรจากปลายด้านหนึ่งของแทร็กไปยังอีกด้านหนึ่ง
สถานที่ยึดจุดเข้าใช้งานที่รองรับ RTT ที่ปลายด้านหนึ่งของแทร็กซึ่งติดตั้งไว้ที่ความสูง 20 ซม. จากพื้น และขายึดแบบเคลื่อนย้ายได้สำหรับโทรศัพท์ Android (หรืออุปกรณ์เคลื่อนที่ Android อื่นๆ ที่ใช้ทดสอบ) ซึ่งสามารถเคลื่อนไปตามแทร็ก และจัดแนวให้ตรงกับเครื่องหมาย 0.5 เมตรที่ความสูง 20 ซม. จากพื้น
ควรบันทึกผลการวัดระยะ 50 รายการที่เครื่องหมายแต่ละจุด พร้อมกับระยะทางจากจุดเข้าใช้งาน ควรคํานวณสถิติ เช่น ค่าเฉลี่ยและค่าความแปรปรวนของช่วง สำหรับตําแหน่งเครื่องหมายแต่ละตําแหน่ง
จากผลลัพธ์ในขั้นตอนที่ 5 คุณสามารถวาดแผนภูมิสำหรับข้อมูลจริง (แกน x) เทียบกับช่วงโดยประมาณ (แกน y) และเส้นถดถอยที่พอดีที่สุดโดยประมาณ การปรับเทียบอุปกรณ์ในอุดมคติจะส่งผลให้เส้นไล่ระดับสี 1.0 มีค่าออฟเซต 0.0 ม. บนแกน y ค่าที่เบี่ยงเบนไปจากค่าเหล่านี้จะยอมรับได้หากอยู่ภายใน KPI สำหรับแบนด์วิดท์ที่เกี่ยวข้อง หากผลลัพธ์อยู่นอก KPI ก็ควรปรับเทียบฟีเจอร์อุปกรณ์เพื่อให้ผลลัพธ์อยู่ภายในข้อกําหนดของ KPI