คุณสมบัติ Wi-Fi Round Trip Time (RTT) ใน Android 9 ช่วยให้อุปกรณ์ที่รองรับสามารถวัดระยะทางไปยังอุปกรณ์ที่รองรับอื่นๆ ได้ ไม่ว่าจะเป็น Access Points (AP) หรือ Wi-Fi Aware เพียร์ (หากรองรับ Wi-Fi Aware บน อุปกรณ์). คุณลักษณะนี้สร้างขึ้นจากโปรโตคอล IEEE 802.11mc ช่วยให้แอปใช้ความแม่นยำของตำแหน่งและการรับรู้ที่ได้รับการปรับปรุง
ตัวอย่างและที่มา
หากต้องการใช้คุณลักษณะนี้ ให้ใช้ Wi-Fi Hardware Interface Design Language (HIDL) ที่มีให้ในโครงการ Android Open Source (AOSP) ใน Android 8.0 นั้น HIDL จะแทนที่โครงสร้าง Hardware Abstraction Layer (HAL) ก่อนหน้านี้ที่ใช้เพื่อปรับปรุงการใช้งานโดยการระบุประเภทและการเรียกเมธอดที่รวบรวมไว้ในอินเทอร์เฟซและแพ็คเกจ
ปฏิบัติตาม Wi-Fi HIDL เพื่อใช้คุณลักษณะ Wi-Fi RTT: hardware/interfaces/wifi/1.0
หรือใหม่กว่า
คุณสามารถอ้างถึง Wi-Fi HAL เดิมเพื่อดูว่ามีความสัมพันธ์กับอินเทอร์เฟซ HIDL ใหม่อย่างไร: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h
การดำเนินการ
หากต้องการใช้ Wi-Fi RTT คุณต้องจัดเตรียมทั้งเฟรมเวิร์กและการสนับสนุน HAL/เฟิร์มแวร์:
กรอบ:
- รหัส AOSP
- เปิดใช้งาน Wi-Fi RTT: ต้องมีการตั้งค่าสถานะคุณสมบัติ
Wi-Fi RTT (IEEE 802.11mc) รองรับ HAL (ซึ่งหมายถึงการรองรับเฟิร์มแวร์)
หากต้องการใช้ฟีเจอร์นี้ ให้ติดตั้ง Wi-Fi HIDL และเปิดใช้งานแฟล็กฟีเจอร์:
ใน
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 ที่ใช้ระหว่างการทำธุรกรรม Wi-Fi RTT จะต้องสุ่ม กล่าวคือ ต้องไม่ตรงกับที่อยู่ MAC ดั้งเดิมของอินเทอร์เฟซ Wi-Fi อย่างไรก็ตาม มีข้อยกเว้น เมื่ออุปกรณ์เชื่อมโยงกับ AP อุปกรณ์อาจใช้ที่อยู่ MAC ที่เชื่อมโยงกับธุรกรรม RTT กับ AP นั้นหรือกับ AP อื่น
การตรวจสอบ
มีการทดสอบ Android Compatibility Test Suite (CTS) สำหรับคุณลักษณะนี้ CTS ตรวจพบเมื่อเปิดใช้งานคุณสมบัติและรวมการทดสอบที่เกี่ยวข้องโดยอัตโนมัติ ฟีเจอร์นี้ยังสามารถทดสอบได้โดยใช้ Vendor Test Suite (VTS) และ acts/sl4a ซึ่งเป็นชุดทดสอบที่ดำเนินการทดสอบการรวมระบบอย่างครอบคลุม
การทดสอบหน่วย
การทดสอบแพ็คเกจ Wi-Fi RTT ดำเนินการโดยใช้:
การทดสอบบริการ:
atest com.android.server.wifi.rtt
การทดสอบผู้จัดการ:
atest android.net.wifi.rtt
การทดสอบการบูรณาการ (ACTS)
ชุดทดสอบacts/sl4a ซึ่งอธิบายไว้ใน /tools/test/connectivity/acts_tests/tests/google/wifi/rtt/README.md
ให้การทดสอบการทำงาน ประสิทธิภาพ และความเครียด
ซี.ที.เอส
มีการทดสอบ Android Compatibility Test Suite (CTS) สำหรับคุณลักษณะนี้ CTS ตรวจพบเมื่อเปิดใช้งานคุณสมบัติและรวมการทดสอบที่เกี่ยวข้องโดยอัตโนมัติ จุดเข้าใช้งานที่รองรับ Wi-Fi RTT (IEEE 802.11mc) จะต้องอยู่ภายในช่วงของอุปกรณ์ที่อยู่ระหว่างการทดสอบ
การทดสอบ CTS สามารถทำได้โดยใช้:
atest WifiRttTest
การสอบเทียบ
เพื่อให้ Wi-Fi RTT ทำงานได้ดี ช่วงที่ส่งคืนในโปรโตคอล 802.11mc นั้นแม่นยำอย่างยิ่งภายในตัวบ่งชี้ประสิทธิภาพหลัก (KPI) สำหรับข้อผิดพลาด CDF 90% ที่แบนด์วิดท์ที่แสดง KPI ที่แนะนำสำหรับการประเมินช่วงคาดว่าจะมีค่าความคลาดเคลื่อนต่อไปนี้:
- 80MHz: 2 เมตร
- 40MHz: 4 เมตร
- 20MHz: 8 เมตร
เพื่อให้แน่ใจว่าการใช้งานคุณสมบัติทำงานได้อย่างถูกต้อง จำเป็นต้องมีการทดสอบการปรับเทียบ
ซึ่งสามารถทำได้โดยการเปรียบเทียบช่วงความจริงพื้นดินกับช่วงโดยประมาณของ RTT ที่ระยะทางที่เพิ่มขึ้น เพื่อความสอดคล้องขั้นพื้นฐาน คุณควรตรวจสอบโซลูชันของคุณกับอุปกรณ์ที่ทราบว่าได้รับการปรับเทียบ RTT แล้ว ควรทำการทดสอบการปรับเทียบช่วงภายใต้เงื่อนไขต่อไปนี้:
- ห้องปฏิบัติการเปิดขนาดใหญ่หรือทางเดินที่มีวัตถุโลหะไม่มากนัก ซึ่งอาจส่งผลให้เกิดหลายเส้นทางสูงผิดปกติ
- แทร็ก/เส้นทาง Line-Of-Sight (LOS) อย่างน้อยยาว 25 ม.
- เครื่องหมายเพิ่มขึ้นทีละ 0.5 เมตรจากปลายด้านหนึ่งไปยังอีกด้านหนึ่ง
- ที่สำหรับยึดจุดเชื่อมต่อที่รองรับ RTT ที่ปลายด้านหนึ่งของแทร็กซึ่งติดตั้งสูงจากพื้น 20 ซม. และที่ยึดแบบเคลื่อนย้ายได้สำหรับโทรศัพท์ Android (หรืออุปกรณ์เคลื่อนที่ Android อื่น ๆ ที่อยู่ระหว่างการทดสอบ) ที่สามารถเคลื่อนย้ายไปตามแทร็กและจัดแนวกับ เครื่องหมาย 0.5 ม. และสูงจากพื้น 20 ซม. หมายเหตุ: งานซ้ำๆ นี้สามารถทำได้โดยหุ่นยนต์ขนาดเล็ก แต่ผู้ควบคุมที่เป็นมนุษย์ก็สามารถทำได้เช่นกัน
- ควรบันทึกผลลัพธ์ 50 รายการที่เครื่องหมายแต่ละอัน พร้อมกับระยะห่างจากจุดเชื่อมต่อ ควรคำนวณสถิติ เช่น ค่าเฉลี่ยช่วงและความแปรปรวนสำหรับตำแหน่งเครื่องหมายแต่ละตำแหน่ง
จากผลลัพธ์ในขั้นตอนที่ 5 สามารถวาดแผนภูมิสำหรับความจริงพื้น (แกน x) กับช่วงโดยประมาณ (แกน y) และประมาณเส้นการถดถอยที่พอดีที่สุด การปรับเทียบอุปกรณ์ในอุดมคติจะส่งผลให้มีเส้นไล่ระดับสี 1.0 โดยมีออฟเซ็ต 0.0 ม. บนแกน y การเบี่ยงเบนจากค่าเหล่านี้สามารถยอมรับได้หากอยู่ภายใน KPI สำหรับแบนด์วิธที่สอดคล้องกัน หากผลลัพธ์อยู่นอก KPI คุณลักษณะของอุปกรณ์ควรได้รับการปรับเทียบใหม่เพื่อให้ผลลัพธ์อยู่ในข้อกำหนดเฉพาะของ KPI
,คุณสมบัติ Wi-Fi Round Trip Time (RTT) ใน Android 9 ช่วยให้อุปกรณ์ที่รองรับสามารถวัดระยะทางไปยังอุปกรณ์ที่รองรับอื่นๆ ได้ ไม่ว่าจะเป็น Access Points (AP) หรือ Wi-Fi Aware เพียร์ (หากรองรับ Wi-Fi Aware บน อุปกรณ์). คุณลักษณะนี้สร้างขึ้นจากโปรโตคอล IEEE 802.11mc ช่วยให้แอปใช้ความแม่นยำของตำแหน่งและการรับรู้ที่ได้รับการปรับปรุง
ตัวอย่างและที่มา
หากต้องการใช้คุณลักษณะนี้ ให้ใช้ Wi-Fi Hardware Interface Design Language (HIDL) ที่มีให้ในโครงการ Android Open Source (AOSP) ใน Android 8.0 นั้น HIDL จะแทนที่โครงสร้าง Hardware Abstraction Layer (HAL) ก่อนหน้านี้ที่ใช้เพื่อปรับปรุงการใช้งานโดยการระบุประเภทและการเรียกเมธอดที่รวบรวมไว้ในอินเทอร์เฟซและแพ็คเกจ
ปฏิบัติตาม Wi-Fi HIDL เพื่อใช้คุณลักษณะ Wi-Fi RTT: hardware/interfaces/wifi/1.0
หรือใหม่กว่า
คุณสามารถอ้างถึง Wi-Fi HAL เดิมเพื่อดูว่ามีความสัมพันธ์กับอินเทอร์เฟซ HIDL ใหม่อย่างไร: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h
การดำเนินการ
หากต้องการใช้ Wi-Fi RTT คุณต้องจัดเตรียมทั้งเฟรมเวิร์กและการสนับสนุน HAL/เฟิร์มแวร์:
กรอบ:
- รหัส AOSP
- เปิดใช้งาน Wi-Fi RTT: ต้องมีการตั้งค่าสถานะคุณสมบัติ
Wi-Fi RTT (IEEE 802.11mc) รองรับ HAL (ซึ่งหมายถึงการรองรับเฟิร์มแวร์)
หากต้องการใช้ฟีเจอร์นี้ ให้ติดตั้ง Wi-Fi HIDL และเปิดใช้งานแฟล็กฟีเจอร์:
ใน
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 ที่ใช้ระหว่างการทำธุรกรรม Wi-Fi RTT จะต้องสุ่ม กล่าวคือ ต้องไม่ตรงกับที่อยู่ MAC ดั้งเดิมของอินเทอร์เฟซ Wi-Fi อย่างไรก็ตาม มีข้อยกเว้น เมื่ออุปกรณ์เชื่อมโยงกับ AP อุปกรณ์อาจใช้ที่อยู่ MAC ที่เชื่อมโยงกับธุรกรรม RTT กับ AP นั้นหรือกับ AP อื่น
การตรวจสอบ
มีการทดสอบ Android Compatibility Test Suite (CTS) สำหรับฟีเจอร์นี้ CTS ตรวจพบเมื่อเปิดใช้งานคุณสมบัติและรวมการทดสอบที่เกี่ยวข้องโดยอัตโนมัติ ฟีเจอร์นี้ยังสามารถทดสอบได้โดยใช้ Vendor Test Suite (VTS) และ acts/sl4a ซึ่งเป็นชุดทดสอบที่ดำเนินการทดสอบการรวมระบบอย่างครอบคลุม
การทดสอบหน่วย
การทดสอบแพ็คเกจ Wi-Fi RTT ดำเนินการโดยใช้:
การทดสอบบริการ:
atest com.android.server.wifi.rtt
การทดสอบผู้จัดการ:
atest android.net.wifi.rtt
การทดสอบการบูรณาการ (ACTS)
ชุดทดสอบacts/sl4a ซึ่งอธิบายไว้ใน /tools/test/connectivity/acts_tests/tests/google/wifi/rtt/README.md
ให้การทดสอบการทำงาน ประสิทธิภาพ และความเครียด
ซี.ที.เอส
มีการทดสอบ Android Compatibility Test Suite (CTS) สำหรับฟีเจอร์นี้ CTS ตรวจพบเมื่อเปิดใช้งานคุณสมบัติและรวมการทดสอบที่เกี่ยวข้องโดยอัตโนมัติ จุดเข้าใช้งานที่รองรับ Wi-Fi RTT (IEEE 802.11mc) จะต้องอยู่ภายในช่วงของอุปกรณ์ที่อยู่ระหว่างการทดสอบ
การทดสอบ CTS สามารถทำได้โดยใช้:
atest WifiRttTest
การสอบเทียบ
เพื่อให้ Wi-Fi RTT ทำงานได้ดี ช่วงที่ส่งคืนในโปรโตคอล 802.11mc นั้นแม่นยำอย่างยิ่งภายในตัวบ่งชี้ประสิทธิภาพหลัก (KPI) สำหรับข้อผิดพลาด CDF 90% ที่แบนด์วิดท์ที่แสดง KPI ที่แนะนำสำหรับการประเมินช่วงคาดว่าจะมีค่าความคลาดเคลื่อนต่อไปนี้:
- 80MHz: 2 เมตร
- 40MHz: 4 เมตร
- 20MHz: 8 เมตร
เพื่อให้แน่ใจว่าการใช้งานคุณสมบัติทำงานได้อย่างถูกต้อง จำเป็นต้องมีการทดสอบการปรับเทียบ
ซึ่งสามารถทำได้โดยการเปรียบเทียบช่วงความจริงพื้นดินกับช่วงโดยประมาณของ RTT ที่ระยะทางที่เพิ่มขึ้น เพื่อความสอดคล้องขั้นพื้นฐาน คุณควรตรวจสอบโซลูชันของคุณกับอุปกรณ์ที่ทราบว่าได้รับการปรับเทียบ RTT แล้ว ควรทำการทดสอบการปรับเทียบช่วงภายใต้เงื่อนไขต่อไปนี้:
- ห้องปฏิบัติการเปิดขนาดใหญ่หรือทางเดินที่มีวัตถุโลหะไม่มากนัก ซึ่งอาจส่งผลให้เกิดหลายเส้นทางสูงผิดปกติ
- แทร็ก/เส้นทาง Line-Of-Sight (LOS) อย่างน้อยยาว 25 ม.
- เครื่องหมายเพิ่มขึ้นทีละ 0.5 เมตรจากปลายด้านหนึ่งไปยังอีกด้านหนึ่ง
- สถานที่สำหรับยึดจุดเข้าใช้งาน RTT ที่ปลายด้านหนึ่งของแทร็กซึ่งติดตั้งสูงจากพื้น 20 ซม. และที่ยึดแบบเคลื่อนย้ายได้สำหรับโทรศัพท์ Android (หรืออุปกรณ์เคลื่อนที่ Android อื่น ๆ ที่อยู่ระหว่างการทดสอบ) ที่สามารถเคลื่อนย้ายไปตามแทร็กและจัดแนวกับ เครื่องหมาย 0.5 ม. และสูงจากพื้น 20 ซม. หมายเหตุ: งานซ้ำๆ นี้สามารถทำได้โดยหุ่นยนต์ขนาดเล็ก แต่ผู้ควบคุมที่เป็นมนุษย์ก็สามารถทำได้เช่นกัน
- ควรบันทึกผลลัพธ์ 50 รายการที่เครื่องหมายแต่ละอัน พร้อมกับระยะห่างจากจุดเชื่อมต่อ ควรคำนวณสถิติ เช่น ค่าเฉลี่ยช่วงและความแปรปรวน สำหรับตำแหน่งเครื่องหมายแต่ละตำแหน่ง
จากผลลัพธ์ในขั้นตอนที่ 5 สามารถวาดแผนภูมิสำหรับความจริงพื้น (แกน x) กับช่วงโดยประมาณ (แกน y) และประมาณเส้นการถดถอยที่พอดีที่สุด การปรับเทียบอุปกรณ์ในอุดมคติจะทำให้ได้เส้นไล่ระดับสี 1.0 โดยมีออฟเซ็ต 0.0 ม. บนแกน y การเบี่ยงเบนจากค่าเหล่านี้สามารถยอมรับได้หากอยู่ภายใน KPI สำหรับแบนด์วิธที่สอดคล้องกัน หากผลลัพธ์อยู่นอก KPI คุณลักษณะของอุปกรณ์ควรได้รับการปรับเทียบใหม่เพื่อให้ผลลัพธ์อยู่ในข้อกำหนดเฉพาะของ KPI