我正在开发一个使用iBeacons的应用程序。它的主要特征是检测最近的信标(距离无关紧要,我只需要最近的信标)并根据它提供一些内容。
在IOS上,它就像一个魅力,毫无疑问。
在Android上我有奇怪的经历。我知道,这取决于硬件,蓝牙芯片供应商等。但即使我尝试了很多东西(平均rssi,排队......),我也无法让它稳定下来。信标距离彼此约3-5米,在80平方米的房间内有8个。
我使用Android AltBeacon库。我无法以稳定的方式检测到最近的信标:有时距离设备5米远的信标比RSSI“更近”,而信标就在设备旁边,依此类推。 (信标使用相同的TX功率和广告间隔,altbeacon扫描周期为250毫秒)
我该怎么做才能让它稳定下来?什么,何时以及如何平均rssi?或者我应该这样做?还是...?
非常感谢!
答案 0 :(得分:1)
RSSI值取决于TX功率旁边的一些东西,其中包括:
我不能说为什么iOS应该比Android更好用,但可能是他们有一个运行良好的平均算法。从我的两点来看,这不是一件简单的事情。
要详细了解这些问题,我建议您在Getting Started with iBeacon中阅读部署iBeacon 和常见问题解答。