2017-02-14 64 views
0

我发现到一个我要提几个类似的问题,但我是个太过这一领域的小白给的答案适用于我的特定问题。增加的WiFi RSSI扫描速率为室内导航

我有大约40000平方英尺的面积。由22个AP的哪个主机6 WiFi信道的一块覆盖。我正在使用WiFi RSSI信息来估计用户在这个40,000平方英尺内的位置。我目前正在与之战斗的一个问题是RSSI扫描刷新率...它需要花费将近4秒或更长的时间来刷新RSSI信息。这对我的应用程序来说是不可接受的,因为用户可以在这段时间内显着移动。

我与Android设备工作,并希望能有一个解决方案,这将是通用于所有Android用户。我能做些什么来提高扫描速度?

我读过,它需要4+秒的原因是因为它真的只是需要那么久......不过,我的应用程序,我的手机能够轻松地处理此4-第二个窗口之间,其他的事情。例如,按钮上的点击计数器可能被滥发,然后随机全部刷新扫描结果。

下面的代码是用来获取RSSI扫描:

Context context = getApplicationContext(); 
    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 
    wifiManager.startScan(); 
    List<ScanResult> scan = wifiManager.getScanResults(); 

谢谢

回答

0

你既可以尝试在驱动程序级别修改设备,或者install iw并用它来进行更精细的扫描。

然而,扫描小于150毫秒会导致可能跳过信标帧,使你的方法不准确的。此外,大多数消费者的路由器,这些天被配置成检测在其频道信标传输碰撞和任一回退,或切换到另一个信道

+0

所以,实际地说,每一个AP设备需要150毫秒〜每次扫描。 22个设备(不包括范围内的所有额外设备)* 150ms = 3300 + ms用于扫描。你能推荐任何文献,以便更好地理解这个过程吗? – user2539859