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

Chiến lược phát hành đĩa đơn Thời gian trọn vòng (RTT) với 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: liệu chúng có phải là Điểm truy cập hay không (AP) hoặc các thiết bị ngang hàng Nhận biết Wi-Fi (nếu Nhận biết Wi-Fi được hỗ trợ trên thiết bị). Tính năng này được xây dựng dựa trên tiêu chuẩn IEEE 802.11mc và giao thức IEEE 802.11az (có sẵn từ Android 15), cho phép các ứng dụng sử dụng độ chính xác và mức độ nhận biết vị trí 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. Trong Android 14 trở lên, giao diện HAL của nhà cung cấp được xác định bằng AIDL. Trên 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 đây được dùng để đơn giản hoá việc triển khai bằng cách chỉ định 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 Giao diện AIDL và HIDL: hardware/libhardware_legacy/+/main/include/hardware_legacy/rtt.h.

Triển khai

Để triển khai tính năng Tin nhắn theo thời gian thực (RTT) của Wi-Fi, bạn phải cung cấp cả khung và HAL/phần mềm cơ sở hỗ trợ:

  • 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 cho Wi-Fi (IEEE 802.11mc hoặc IEEE 802.11az) (có nghĩa là hỗ trợ chương trình cơ sở)

Để 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 để bao gồm tính năng hỗ trợ Wi-Fi Tính năng RTT:

    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 Tin nhắn theo thời gian thực (RTT) của Wi-Fi phải 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 Wi-Fi . Tuy nhiên, là một trường hợp ngoại lệ, khi một thiết bị được liên kết với AP, thiết bị đó có thể sử dụng địa chỉ MAC được liên kết với bất kỳ giao dịch RTT nào bằng AP đó hoặc với những 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. Phát hiện CTS khi tính năng này được bật và tự động bao gồm các thử nghiệm liên quan. Bạn cũng có thể kiểm tra 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ác bài kiểm tra Bộ kiểm tra tính tương thích (CTS) với Android cho tính năng này. Phát hiện CTS khi tính năng này được bật và tự động bao gồm các thử nghiệm 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 thử nghiệm thiết bị dưới mức.

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

Để tính năng RTT của Wi-Fi hoạt động tốt, các phạm vi được trả về trong 802.11mc hoặc 802.11az giao thức phải chính xác trong các chỉ báo hiệu suất chính (KPI) vì được mô tả trong phần này.

Đối với giao thức 11mc, ở các băng thông được liệt kê (80 MHz, 40 MHz, 20 MHz) và kích thước gói là 8, KPI cho phạm vi ước tính dự kiến sẽ đạt được độ chính xác sau đây tại phân vị thứ 90.

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

Đối với giao thức 11az, cấu hình MIMO ăng-ten và chế độ huấn luyện dài sự lặp lại của trường (LTF) ảnh hưởng đến độ chính xác. Với một chiếc điện thoại di động thông thường (sử dụng 2 ăng-ten) và điểm truy cập (4 ăng-ten), hệ thống có 2x4 MIMO . Đối với cấu hình như vậy, hãy sử dụng hệ số lặp lại LTF là 2 và ở các băng thông được liệt kê (160 MHz, 80 MHz, 40 MHz, 20 MHz), thì KPI cho số liệu ước tính về phạm vi sẽ đạt được các mục sau chính xác tại phân vị thứ 90.

  • 160 MHz: 0,5 mét
  • 80 MHz: 1 mét
  • 40 MHz: 2 mét
  • 20 MHz: 4 mét

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

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 thời gian trọn vòng (RTT) ước tính phạm vi khi tăng dần khoảng cách. Để đảm bảo tuân thủ cơ bản, bạn nên xác thực cho một thiết bị được xác định là đã hiệu chỉnh RTT. Hiệu chuẩn phạm vi được kiểm tra trong các điều kiện sau:

  1. Phòng thí nghiệm lớn ngoài trời hoặc hành lang không có nhiều kim loại các đối tượng có thể dẫn đến số lần xuất hiện đa đường dẫn cao 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. Địa điểm để bảo mật một điểm truy cập có hỗ trợ RTT ở một đầu của kênh được gắn cách sàn nhà 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 trong quá trình thử nghiệm) có thể được di chuyển dọc theo theo dõi, và được căn chỉnh với các điểm đánh dấu 0,5 m, cũng ở cao hơn 20 cm sàn nhà.

  5. Nên ghi lại 50 kết quả trong phạm vi tại mỗi điểm đánh dấu, cùng với khoảng cách từ điểm truy cập đó. 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, có thể vẽ một biểu đồ để xác định giá trị thực tế (trục x) dựa vào phạm vi ước tính (trục y) và đường hồi quy phù hợp nhất ước tính. Bình thường hiệu chỉnh thiết bị sẽ dẫn đến một đường gradient 1.0, với độ lệch 0.0m bật 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 phạm vi KPI cho 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ị cần được hiệu chỉnh lại để mang lại kết quả đúng KPI đặc điểm kỹ thuật.