iBeacons:检测向后走?

时间:2016-10-12 14:37:10

标签: ibeacon ibeacon-android beacon android-ibeacon

我一直在研究和阅读一些关于iBeacons和信标相关应用程序能够做什么的不同文章。但是,当我正在阅读其中一个时,我无法找到任何问题的答案。那些文章。

单个信标是否可以同时发送不同的信号,以便应用可以检测到该人是向前还是向后移动?

或者,你们可以提出一个想法,然后我可以用它来检测一个人是否会回来或者他们是否正确地前进?

非常感谢

1 个答案:

答案 0 :(得分:0)

这个问题有两种基本方法,但两者的可靠性都有限:

  1. 完整的室内导航解决方案,使用信标作为较大系统的小型构建块,随着时间的推移估算用户的位置。使用这样的系统,您可以通过了解用户当前位置和目的地位置来确定用户是否走错路,并查看到目的地的估计距离是否随着时间的推移而变大或变小。 构建和使用这样的系统比使用信标编程应用程序要复杂得多,所以虽然值得一提,但它确实超出了像StackOverflow.com这样的论坛的范围。

    < / LI>
  2. 使用两个或多个信标的简单解决方案,其中一个位于目的地。系统将通过使用两者之间的距离估计来确定用户是否正朝着目的地行走。用户和离目的地最近的信标。如果使用Android Beacon Library,大约1 Hz的测距更新将使用beacon.getDistance()估算与信标的距离(以米为单位)。通过查看此数字在多个回调之间是上升还是下降,您可以确定用户是越来越远。

  3. 这两种解决方案都有一些注意事项,尤其是第二种解决方案:

    • 信标距离估计基于蓝牙信号强度,因此精度受到无线电噪声和多径的限制。即使您站着不动,个人估计也常常表明您的距离越来越近。

    • 为了克服上述噪声影响,beacon SDK使用多个信号强度样本来帮助平滑估算。默认情况下,Android Beacon Library(和iOS CoreLocation)使用大约20秒的平均值来帮助平滑。但会在距离估算中引入延迟,告诉您用户现在不在哪里,但在过去的20秒内用户平均 。在Android上,您可以将此平均间隔调整为更小,但会增加估算的错误率。

    构建您自己的系统因此意味着在时间滞后,错误率和时间间隔之间做出许多妥协,在此时间间隔内可以足够精确地确定更接近/进一步的确定。 您是否可以使此解决方案适用于您的用例,这取决于您要完成的具体内容。您最好的选择可能是试用一个简单的应用程序,看看你是否可以使它适用于您的用例。