iBeacons:指向信标的方向?

4

这部分涉及编码和数学问题。

问题1:如果我使用带有指南针的iOS设备,并且它知道我正在iBeacon的范围内移动,或者iBeacon正在我检测范围内移动,通过比较信号强度的一系列读数,能否粗略地计算出该信标的相对方向/方位角?是否有人尝试过这个方法?

问题2:是否可以定期更改信标的Major和Minor值(例如:每秒钟)以传递小的信息片段,例如第二个用户的方位和航向?


即使距离度量是完美的(它并不是),似乎手机的方向头并没有太大用处来推断信标位置,相反,您需要知道手机对应于每个信号强度读数的本地位置。如果您试图建模BLE天线方向性,则方向只会真正有所帮助,但如果不包括用户的手和身体,这可能很困难。 - Chris Stratton
3个回答

3

问题1:这可能是有可能的,但需要一个受控环境。信标或手机中的一个需要被固定,而且你还需要处于没有障碍物或无线电干扰源的区域。

然后,你需要使用信号强度(不太准确且变化较大)作为一个输入,以及设备的方向信息(也非常不准确),并对其进行一些复杂的数学计算。

假设你能解决数学问题,输入读数的不准确性可能会导致结果过于模糊,无法发挥实际用途。(例如,你如何区分直接朝向信标与向左或向右30度移动的区别?信号强度仍会增加,只是增长速度不同。)

而且你的算法还必须处理像围绕信标移动的圆等边缘情况。在这种情况下,信号强度不应该改变。

我的直觉是,即使有聪明的算法,输入数据也过于不可靠,除了“越来越暖”和“越来越冷”之外,很难从中获得任何有意义的信息。


0
如上所述,您需要跟踪设备在场地内的移动情况,包括覆盖的距离和方向,然后通过多次信号强度读数,您可以理论上计算出相对于信标的方向,并达到一定的准确度。

0
关于您的第二个问题,关于更改小版本号,我没有看到任何信标API允许这样做,无论是来自信标制造商还是来自苹果的实现。
然而,一个典型的信标是一个ARM或其他低功耗处理器,带有BLE收发器,运行程序。理论上,应该可以创建自己的iBeacon发射器,以更改其中一个参数以传输变化的信息。您必须使用信标区域设置iOS设备,仅指定UUID或UUID和Major ID(取决于您是想仅更改Minor还是更改Major和Minor ID以传输变化的信息)。
此外,请注意,iBeacons是BLE的特殊情况,BLE标准确实支持发送任意的、可变的数据。您最好实现自己的BLE方案,而不是或者除了iBeacons。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接