4

部分是编码问题,部分是数学问题。

Q1。我有一个启用了指南针的 iOS 设备。如果它知道我正在通过 iBeacon 的场 - 或者 Beacon 正在通过我的检测范围 - 手机是否有可能通过一系列读数(大致)计算出该信标的相对方向/方位通过比较信号强度?有没有人尝试过这个?

Q2。是否可以定期(例如:每秒)更改信标的主要和次要值以传递小块信息 - 例如第二个用户的方位和航向?

4

3 回答 3

3

Q1。这可能是可能的,但您需要一个受控的环境。信标或电话都需要修理。您还需要处于没有障碍物或无线电干扰源的区域。

然后你需要使用信号强度(马虎并且变化相当大)作为一个输入,以及设备的航向信息(这也是非常不准确的)并对其进行一些琐碎的数学运算。

假设您可以计算出数学,输入读数中的倾斜可能会使结果太不确定而无法使用。(例如,您如何区分直接向信标移动与向一侧或另一侧移动 30 度?信号强度仍会增加,只是没有那么快。

而且您的算法必须处理边缘情况,例如沿着信标绕一圈移动。在这种情况下,信号强度不应改变。

我的直觉是,即使使用聪明的算法,输入数据也太不可靠,无法从中理解,除了“变暖”和“变冷”。

于 2013-11-24T02:33:48.670 回答
0

如上所述,您必须跟踪设备在现场的移动,包括覆盖的距离和方向,然后通过多次读取信号强度,理论上您可以在一定程度上准确计算与信标的相对方向。

于 2014-11-14T22:38:01.363 回答
0

至于您关于更改次要版本号的第二个问题,无论是来自信标制造商还是来自 Apple 的实施,我都没有看到任何允许这样做的信标 API。

但是,典型的信标是运行程序的 ARM 或其他带有 BLE 收发器的低功耗处理器。理论上,应该可以创建您自己的 iBeacon 发射器,该发射器更改其中一个参数以传输不断变化的信息。您必须使用仅指定 UUID 或 UUID 和主要 ID 的信标区域设置 iOS 设备(取决于您是只想更改次要 ID 还是同时更改主要和次要 ID 以传输更改的信息。)

还要注意,iBeacons 是 BLE 的一个特例,BLE 标准确实支持发送任意变化的数据。代替 iBeacons 或除 iBeacons 之外,您最好实施自己的 BLE 方案。

于 2016-06-03T13:50:32.963 回答