我发现了一些与我即将摆出的问题类似的问题,但是我在这个领域过多地使用了这个问题来解答我的特定问题。
我的面积约为40,000平方英尺,由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 :(得分:0)
您可以尝试在驱动程序级别修改设备,或install iw并使用它来进行更精细的扫描。
但是,扫描时间不到150毫秒会导致跳过信标帧,导致您的方法不准确。此外,目前大多数消费者路由器都配置为检测其信道上的信标传输冲突,并退回或切换到另一个信道