目前蓝牙 iBeacon 定位的方式主要有两种:基于 RSSI(接收信号强度指示)和基于定位指纹,或者两者结合。
基于距离最大的问题在于,室内环境复杂,而蓝牙作为2.4GHZ高频信号,会受到很大的干扰。加上室内的各种反射折射,手机所获取的 RSSI 值并没有太大的参考价值;而与此同时,为了提高定位精度,就不得不对 RSSI 值进行多次获取来平滑结果,这就意味着时延的增加。而基于定位指纹的最大问题在于,前期获取指纹数据的人力成本和时间成本非常高,数据库维护困难。而且如果商场增添了新的基站,或者进行了其他改造,原始的指纹数据可能就不再适用。所以,如何在定位精度、延时和成本之间进行权衡和取舍,就成了蓝牙定位的核心的问题。
市场上主流的蓝牙定位精度是70%的地段在2米以内,部分公司可以做到90%的地段在2米以内。目前市场上主流的蓝牙定位技术都是基于三角定位算法,通过手机获取周围蓝牙基站的信号强度,再通过其他的一些辅助方法比如加权平均算法,时间加权算法,惯性导航算法,卡尔曼滤波算法,高斯滤波算法等来计算出当前位置。