关注

iBeacon 定位实践

在 iOS7 中,Apple 向我们介绍了一种新的位置感知技术『iBeacon』。Apple 将它视为一种可以在 室内替代 GPS 的定位方案。本文将详细介绍 iBeacon 这项新的位置感知技术的工作原理及如何 完成定位。

首先什么是iBeacon?

它是一种基于 BLE (低功耗蓝牙) 的信号广播设备。每一个设备有一个唯一的 ID(UUID+Major+Miner)。iBeacon 利用这种特性,在一个区域内广播自己的信号,通过这种 方式它就完成了对一个特定的区域的标记。当用户拿着手机进入iBeacon的范围时,手机中的 App 将会被唤醒,这样手机就可以感知到用户的地理位置发生了变化,判断是否要触发一些事 件。目前 Apple 在其 iOS SDK 中提供了完整的支持来实现这些功能。

然后,我们讲下如何测距

iBeacon 的信号强度采用 RSSI 值表示。与其他无线信号一样,随着距离的远近, RSSI 值会产生 变化。我么可以通过 RSSI 值的变化来判断用户距离 iBeacon 设备的远近。而设备距离 iBeacon 的距离,在 iOS SDK 中可直接通过 iBeacon 对应的 Accuracy 值读出,单位为米。下图我们先对 一个iBeacon 设备进行的距离测试测试距离分别为 1 米和 4 米。

但由于信号的波动,以及物理空间复杂的环境因素。iBeacon 的距离测算并不是十分精准,所 以 Apple 定义了四种范围值:

  1. Immediate 很近,小于1米。
  2. Near 附近,约1⽶-3米。
  3. Far 较远。
  4. Unknown 未知,⼀般出现在启动阶段,或者因为某些原因⽆无法判断。

这里需要注意的是,当处于 Far 的状态并不一定距离 iBeacon 真的很远,很可能我们距离 iBeacon 很近(比如 1 米),但还没有足够的数据证明我们距 iBeacon 很近。所以 Far 只是表示了 一个大圈的范围,设备可能在范围内的任意一个点。

定位方案

传统的 GPS 定位精度在 10 米左右,而iBeacon的定位精度可从一米至几十米。从这一点来说,  iBeacon 的定位精度要优于 GPS 。 GPS 可以定位出一个误差较大范围,比如判断用户在某个楼 内。而利用 iBeacon 可以判断出用户是否在某个位置附近,以及大致的距离。 下面我们来探讨 下利用 iBeacon 进行定位的不同的解决方案。

方案一:单点定位

在识别设备位置时,如果有 Near 范围内的 iBeacon ,则取该 iBeacon 点的坐标。采用这种方式可 以通过密集部署 iBeacon 设备来达到比较高的精准定位,比如咖啡馆桌子定位。也可以实现精度要求比较低的室内定位,如商场地图识别现在的位置,可接受的精度应该在 5 米范围内。 这种方案对部署人员的要求最低。

方案二:两点定位

一条直线,部署两个点。用户在两点之间的某一点时,通过 RSSI 信号来计算距离比例,判断用户的位置。X/Y = n;用户的范围是一条双曲线,然后根据距离用户最近的 iBeacon 点的 Accuracy 值判断用户位置。这种方案需要一定的部署经验,适合走廊之类狭窄的区域。

方案三:多点定位

记录每一个点的坐标,然后根据测得的 RSSI 值进行复杂的计算,得出用户的坐标位置。 这种 方案对部署要求较高,需要较准确地标记设备的坐标,适合于较空旷的屋子。

小结

目前在实践过程中,单点定位被应用的最为广泛,实施难度小,定位精准程度可调。在咖啡
馆,博物馆可以轻松完成位置识别与互动交互,具有很重要的实际意义。而多点定位多被用于
宽敞的室内,可以用来时时定位用户的大致位置。多点定位算法难度较高,又由于信号可能被
室内其他物体遮挡,目前实际实施效果还不理想。目前阶段实施室内定位,采用单点定位方式
较为理想,采用布点密度来弥补定位精度问题,同时可以加入两点定位用于对精度要求不高的
位置。
 
iBeacon 的部署难点
  1. 安装难点。部署 iBeacon 需要记录该 iBeacon 的部署位置,在地图上的坐标。还要确保 设备的信号尽量不被遮挡。

  2. 开发难点。由于硬件设备在物理世界中信号收到或多或少的影响,多点定位难度较高。

  3. 维护难点。如何保证 iBeacon 设备的正常运转?巡检、防丢、维修,都是有待解决的问

    题。

总结
 
iBeacon 作为一种新型的位置感知技术,前景巨大。虽然目前还有很多问题需要解决,但随着这项技术的发展以及生态系统的完善,iBeacon 终将为世界带来颠覆性的改变。

评论

由 Zendesk 提供技术支持