Table of Contents
- What is this App for?
- Detection of Access Points with Wi-Fi RTT
- Demo
- Setup Requirements
- Relevant links
Wi-Fi RTT was introduced in Android 9 (API level 28). (link)
- On devices running Android 9, you need to have access to pre-determined access point (AP) locations data in your app.
- On devices running Android 10 (API level 29) and higher, AP location data can be represented as
ResponderLocation
objects, which include latitude, longitude, and altitude. For Wi-Fi RTT APs that support Location Configuration Information/Location Civic Report (LCI/LCR data), the protocol will return aResponderLocation
object during the ranging process.
ResponderLocation
is both a Location Configuration Information (LCI) decoder and a Location Civic Report (LCR) decoder for information received from a Wi-Fi Access Point (AP) during Wi-Fi RTT ranging process. (link)
- This is based on the IEEE P802.11-REVmc/D8.0 spec section 9.4.2.22, under Measurement Report Element. Subelement location data-fields parsed from separate input LCI and LCR Information Elements are unified in this class.
- This feature allows apps to query APs to ask them for their position directly rather than needing to store this information ahead of time. So, your app can find APs and determine their positions even if the APs were not known before, such as when a user enters a new building.
However, as of Jan 2020 when we tried this with Google Nest Wi-Fi, no ResponderObject could be received by the app. So we opted for a different approach.
Physical Demo performed during GovTech's HackWeek 2020
- 1 Nest router
- 4 Nest access points
- 2 Google Pixel 3A'
Search Feature | Navigation Instructions |
---|---|
- A Phone Device: The smartphone has to support the ranging standard by hardware. e.g. a Qualcomm Snapdragon 820 CPU
- Android Version: Android P installed on the smartphone.
- Network Protocol Support: The access point has to support the IEEE 802.11mc FTM standard