本文主要是介绍IEEE802.11mc与wlan rtt,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、WfFi Rtt
1.基础知识
IEEE802.11mcWi-Fi协议(即Wi-FiRound-Trip-Time,RTT),利用此项技术及可以进行室内定位,因此为了使用此项技术,只有在硬件支持的设备上,应用才可以使用最新的RTT API以测量附近具有RTT功能的Wi-FiAP。
https://www.cnblogs.com/huangguanyuan/p/9990828.html
rtt测试用例如下:
https://blog.csdn.net/yi_master/article/details/80083365
2.实际调试
2.1.支持11mc的ap信息如下
SSID: AndroidAP_9959, BSSID: 00:0b:a0:bc:7d:a6, capabilities: [WPA2-PSK-CCMP][ESS], level: -24, frequency: 5240, timestamp: 3004394630,
distance: ?(cm), distanceSd: ?(cm), passpoint: no, ChannelBandwidth: 2, centerFreq0: 5210, centerFreq1: 0,
80211mcResponder: is supported, Carrier AP: no, Carrier AP EAP Type: -1, Carrier name: null,Radio Chain Infos: [RadioChainInfo: id=0, level=-26, RadioChainInfo: id=1, level=-27
2.2. 通过rtt协议交互后的信息如下
status=0, mac=00:0b:a0:bc:7d:a6, peerHandle=<null>, distanceMm=-751, distanceStdDevMm=150, rssi=-38,
numAttemptedMeasurements=8, numSuccessfulMeasurements=7, lci=[B@dfc4f86, lcr=[B@c4ce047, timestamp=3005199
设备未进行rtt校准;返回state为1,即失败:
status=1, mac=00:0b:a0:bc:7d:a6, peerHandle=<null>, distanceMm=0, distanceStdDevMm=0, rssi=-48, numAttemptedMeasurements=8, numSuccessfulMeasurements=0, lci=[B@5d5250, lcr=[B@b09c49, timestamp=101132]
3.Android调用逻辑
首先,调用WifiManager的startScan接口并获取扫描列表getScanResults
其次,判断其中AP的ScanResult是否支持80211mc:scanResult.is80211mcResponder
最后,最关键的接口是WifiRttManager.startRanging(其中带有该AP作为参数)
这篇关于IEEE802.11mc与wlan rtt的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!