【发布时间】:2014-12-03 12:46:33
【问题描述】:
我想知道是否有人知道使用 ibeacon 发送到手机的数据的方法,而不是使用它来计算其经度和纬度。事实上,我使用核心位置(ios,objc)知道手机的经度和纬度,我认为必须有一种方法可以通过距离信号数据来计算信标的经度和纬度。有什么想法吗?
我正在使用 estimote iBeacons 及其 SDK。
【问题讨论】:
标签: ios geolocation core-location ibeacon estimote
我想知道是否有人知道使用 ibeacon 发送到手机的数据的方法,而不是使用它来计算其经度和纬度。事实上,我使用核心位置(ios,objc)知道手机的经度和纬度,我认为必须有一种方法可以通过距离信号数据来计算信标的经度和纬度。有什么想法吗?
我正在使用 estimote iBeacons 及其 SDK。
【问题讨论】:
标签: ios geolocation core-location ibeacon estimote
蓝牙低功耗 (BLE) 设备不报告其位置;他们所做的只是广播一个元组:(UUID,Major,Minor)。 BLE 设备的测距是根据接收到的信号强度估算的,因此对其应用的任何距离测量都不会 100% 准确。
因此,您将无法准确检测特定 iBeacon 的纬度/经度。您所知道的是,它距离您手机的当前位置不远。你甚至没有方向 - 信号强度是一个一维值,它甚至与距离没有线性关系。它可以通过铅墙、信号干扰、信号增强和许多其他因素进行修改。
简而言之,iBeacon 本质上不会报告其纬度/经度,并且尚无法以足够的准确度检测您与特定 iBeacon 的距离。你能做的最好的就是说“我检测到一个 iBeacon,我当前的位置是(纬度/经度)。iBeacon 可能在 x 米内。”其中 x 是基于信号强度的,并且需要注意的是它是一个模糊的近似值。
编辑:
另一种方法是记录您希望放置 iBeacon 的纬度/经度位置,然后在某处设置服务器(或者如果您不担心必须将其直接编码到构建中,则可以直接将其编码到构建中)即时更新),这将使用您创建的数据库查找将主要/次要对转换为纬度/经度。
【讨论】:
ESTLocationBuilder 定义信标在您的空间中的位置。使用信号强度到距离估计和三角测量的组合,他们可以使用信标的已知物理位置将您定位在空间内。我不确定他们如何评估方向,但它可能是上述定位与设备加速度计的组合;首先计算基线,然后从那里使用加速度计保持方向同步。