Tin nhắn theo thời gian thực (RTT) Wi-Fi (IEEE 802.11mc)

Tính năng Thời gian trọn vòng (RTT) của Wi-Fi trong Android 9 cho phép các thiết bị hỗ trợ đo khoảng cách đến các thiết bị hỗ trợ khác: cho dù đó là Điểm truy cập (AP) hay các thiết bị ngang hàng Nhận biết Wi-Fi (nếu thiết bị có hỗ trợ Nhận biết Wi-Fi). Tính năng này được xây dựng dựa trên giao thức IEEE 802.11mc, cho phép các ứng dụng sử dụng mức độ nhận biết và độ chính xác của vị trí được nâng cao.

Ví dụ và nguồn

Để sử dụng tính năng này, hãy triển khai giao diện HAL (Lớp trừu tượng phần cứng) của nhà cung cấp. Trên Android 14 trở lên, giao diện HAL của nhà cung cấp được xác định bằng AIDL. Trong Android 13 trở xuống, giao diện HAL của nhà cung cấp được xác định bằng HIDL. Trong Android 8.0, HIDL đã thay thế cấu trúc Lớp trừu tượng phần cứng (HAL) trước đó dùng để tinh giản hoạt động triển khai bằng cách chỉ định các loại và lệnh gọi phương thức được thu thập vào giao diện và gói.

Làm theo giao diện Wi-Fi để sử dụng tính năng Tin nhắn theo thời gian thực (RTT) của Wi-Fi. Tuỳ thuộc vào giao diện được triển khai, dưới đây là:

  • AIDL: hardware/interfaces/wifi/aidl
  • HIDL: hardware/interfaces/wifi/1.0 trở lên.

Bạn có thể tham khảo HAL Wi-Fi cũ để xem mối tương quan giữa mạng này với giao diện AIDL và HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h.

Triển khai

Để triển khai RTT Wi-Fi, bạn phải cung cấp cả khung và lớp HAL/phần mềm cơ sở:

  • Khung:

    • Mã AOSP (Dự án nguồn mở Android)
    • Bật Tin nhắn theo thời gian thực (RTT) của Wi-Fi: yêu cầu cờ tính năng
  • Hỗ trợ HAL (có nghĩa là hỗ trợ chương trình cơ sở) cho Wi-Fi RTT (IEEE 802.11mc)

Để triển khai tính năng này, hãy triển khai giao diện Wi-Fi AIDL hoặc HIDL và bật cờ tính năng:

  • Trong device.mk nằm ở device/<oem>/<device>, hãy sửa đổi biến môi trường PRODUCT_COPY_FILES để có thể hỗ trợ tính năng RTT Wi-Fi:

    PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.wifi.rtt.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.rtt.xml
    

Nếu không, mọi thứ cần thiết cho tính năng này sẽ được đưa vào AOSP.

Sắp xếp ngẫu nhiên MAC

Để tăng cường bảo vệ quyền riêng tư, địa chỉ MAC dùng trong các giao dịch Wi-Fi RTT phải được sắp xếp ngẫu nhiên, tức là địa chỉ này không được khớp với địa chỉ MAC gốc của giao diện Wi-Fi. Tuy nhiên, trong trường hợp ngoại lệ, khi một thiết bị liên kết với một AP, thiết bị đó có thể sử dụng địa chỉ MAC được liên kết với thiết bị đó trong mọi giao dịch qua RTT với AP đó hoặc với các AP khác.

Xác nhận kết quả

Các bài kiểm tra Bộ kiểm tra tính tương thích (CTS) với Android có sẵn cho tính năng này. CTS sẽ phát hiện khi tính năng này được bật và tự động đưa vào các bài kiểm thử liên quan. Bạn cũng có thể kiểm thử tính năng này bằng Bộ thử nghiệm dành cho nhà cung cấp (VTS).

Kiểm thử đơn vị

Các hoạt động kiểm thử gói RTT của Wi-Fi được thực thi bằng:

Kiểm thử dịch vụ:

atest com.android.server.wifi.rtt

Thử nghiệm dành cho người quản lý:

atest android.net.wifi.rtt

CTS (Bộ kiểm tra tính tương thích)

Các bài kiểm tra Bộ kiểm tra tính tương thích (CTS) với Android có sẵn cho tính năng này. CTS sẽ phát hiện khi tính năng này được bật và tự động đưa vào các bài kiểm thử liên quan. Một Điểm truy cập hỗ trợ Wi-Fi RTT (IEEE 802.11mc) phải nằm trong phạm vi của thiết bị dưới chế độ kiểm thử.

Bạn có thể kích hoạt chương trình kiểm thử CTS bằng cách sử dụng:

atest WifiRttTest

Hiệu chỉnh

Để RTT của Wi-Fi hoạt động hiệu quả, các phạm vi được trả về trong giao thức 802.11mc phải chính xác một cách lý tưởng trong Chỉ báo hiệu suất phím (KPI). Đối với lỗi CDF 90%, tại các băng thông được liệt kê, KPI được đề xuất cho số liệu ước tính phạm vi dự kiến sẽ có các dung sai sau:

  • 80 MHz: 2 mét
  • 40 MHz: 4 mét
  • 20 MHz: 8 mét

Để đảm bảo việc triển khai tính năng này hoạt động chính xác, bạn cần phải kiểm thử việc hiệu chỉnh.

Bạn có thể thực hiện việc này bằng cách so sánh phạm vi thực tế với phạm vi ước tính RTT với các khoảng cách tăng dần. Để tuân thủ cơ bản, bạn nên xác thực giải pháp của mình dựa trên một thiết bị được xác định là đã hiệu chỉnh RTT. Việc hiệu chuẩn phạm vi phải được kiểm tra trong các điều kiện sau:

  1. Một phòng thí nghiệm mở lớn hoặc một hành lang không có nhiều vật thể kim loại có thể dẫn đến số lượng nhiều đường dẫn một cách bất thường.
  2. Ít nhất là đường hoặc lối đi Tầm nhìn (LOS) kéo dài 25 m.
  3. Các điểm đánh dấu có mức tăng 0,5 mét từ đầu này đến đầu kia của đường đua.
  4. Một vị trí để cố định điểm truy cập hỗ trợ RTT ở một đầu của đường đi được gắn cách mặt sàn 20 cm và giá đỡ di động được dành cho điện thoại Android (hoặc thiết bị di động Android khác đang được thử nghiệm) có thể di chuyển dọc theo đường đua và được căn chỉnh với các điểm đánh dấu 0,5 m, cũng cách mặt sàn 20 cm.

  5. 50 kết quả trong phạm vi phải được ghi lại tại mỗi điểm đánh dấu, cùng với khoảng cách từ điểm truy cập. Các số liệu thống kê, chẳng hạn như giá trị trung bình và phương sai của phạm vi, phải được tính toán cho từng vị trí đánh dấu.

Từ kết quả ở bước 5, bạn có thể vẽ một biểu đồ dựa trên giá trị thực tế (trục x) với phạm vi ước tính (trục y) và đường hồi quy phù hợp nhất ước tính. Việc hiệu chỉnh thiết bị lý tưởng sẽ dẫn đến một đường có độ dốc 1.0, với độ lệch 0,0m trên trục y. Độ lệch từ các giá trị này có thể chấp nhận được nếu chúng nằm trong KPI đối với băng thông tương ứng. Nếu kết quả nằm ngoài KPI, tính năng của thiết bị phải được hiệu chỉnh lại để mang lại kết quả đúng với chỉ số KPI.