2016-07-28 92 views
1

我正在开发一个使用iBeacons的应用程序。它的主要特点是检测最近的信标(距离无关紧要,我只需要最近的一个),并根据它显示一些内容。找到最近的灯塔

在IOS上它像一个魅力,没有任何问题。

在Android上我有奇怪的经历。我知道,这取决于硬件,蓝牙芯片供应商等,但即使我尝试了很多事情(平均rssi,排队...),我也无法保持稳定。信标距离彼此约3-5米,在约80平方米的房间内有8个。

我使用Android AltBeacon库。我无法以稳定的方式检测到最近的灯塔:有时候距离设备5米远的一个信标灯距离RSSI“比较近”,而不是靠近设备的信标灯等等。 (信标使用相同的发射功率和广告间隔,altbeacon扫描周期为250毫秒)

我应该怎么做才能使其稳定?什么,何时以及如何平均rssi?或者我应该这样做?要么...?

非常感谢!

回答

1

RSSI值将取决于许多的TX功率旁边的东西,其中:

  • 多径反射:2.4GHz的将反映从墙壁,所以如果反射有助于远处灯塔和衰减靠近的灯塔,那么遥远的灯塔可以得到更强的RSSI。
  • 天线的位置:以正确的方式握住手机可以产生很大的不同。

我不能说为什么iOS应该比Android更好,但它可能是因为它们的平均算法运行良好。从我的两点来看,这并不是一件简单的事情。

要了解更多有关这些问题,我建议你阅读部署iBeacon显示常见问题及答案在Getting Started with iBeacon