基于iBeacon的蓝牙室内定位算法研究
2019-11-12周晓晨
周晓晨
摘要:现代社会中,GPS定位被应用广泛,已经融入生活。但是GPS定位系统主要为室外定位提供服务,若是在室内的话,它的定位精确度将成为它的劣势。这里我们报告了一个提高准确性的策略——一种基于iBeacon基站的蓝牙4.0室内定位技术。该技术能够在室内精确定位,以弥补GPS室内定位的不足性。并且通过改良版三环定位算法以及根据特定室内场景编写补偿算法,能够实现定位的准确性,并且一颗纽扣电池可以蓝牙基站维持使用数年,真正达到低功耗。
关键词: iBeacon;蓝牙4.0;三环定位算法;补偿算法;低功耗
中图分类号:TN925 文献标识码:A
文章编号:1009-3044(2019)25-0258-02
Abstract:In modern society, GPS positioning is widely used and has been integrated into life. But GPS positioning system mainly provides services for outdoor positioning, if indoor, its positioning accuracy will become its disadvantage. Here we report a strategy to improve accuracy - a Bluetooth 4.0 indoor positioning technology based on iBeacon base station. This technology can accurately locate indoors to make up for the deficiency of GPS indoor positioning. And through the improved version of three-loop location algorithm and compensation algorithm based on specific indoor scenes, the accuracy of location can be achieved, and a button battery can maintain Bluetooth base station for several years, and really achieve low power consumption.
Key words:iBeacon; Bluetooth 4.0; three-loop location algorithm; compensation algorithm; low power consumption
1 引言
近幾年,随着手机的使用越来越普及,物联网应用的低功耗协议有了更多的选择,让产品连接手机成了可能,当前技术下的室内定位技术有很多种,包括Wi-Fi定位、ZigBee定位,蓝牙低功耗技术具有精度高、低功耗、易集成的优点,因此成为物联网领域室内定位“最后一米”的普适解决方案。
2 蓝牙定位算法设计
整个蓝牙定位研究的核心就是其算法的设计与改进,算法设计的好坏直接影响到定位的精度,目前国内外已设计出有很多蓝牙室内定位算法,如本算法使用到的基于RSSI的三环定位算法,已知三个点的坐标和未知点到这三个点的RSSI的信号值,求解未知点的坐标。 通过RSSI值和室内电磁波传播损耗模型计算出两蓝牙设备间的距离。该方法简单易行,但缺点是蓝牙信号RSSI值受环境的影响比较大,有波动。因此,本项目在建立模型之前首先研究了影响RSSI值的环境因素,包括空气湿度、蓝牙节点发射功率、其他电磁波的干扰等,然后分析了电磁波的传输机理,最后建立最符合实际场景的室内蓝牙信号传播损耗模型。
2.1 算法①
首先将移动终端获取的MAC地址以及RSSI数据放入数组中。将MAC地址发送至服务器与所有已录入数据库的蓝牙基站MAC地址数据进行比对,删去不存在数据库中的地址数据(非定制蓝牙终端信号),将数据发送到移动终端上,移动终端将数据按RSSI值从大到小使用直接插入排序算法进行排序,选出数值最大的三个数据。以MAC1为圆心,以MAC1的距离为半径画极坐标轴下的圆,将其他两个MAC地址以相同方式画圆,此时根据已知蓝牙终端求移动终端具体位置。
移动终端与服务器数据库通讯后获取MAC1、MAC2、MAC3在极坐标轴中的极坐标点以及信号强度,将信号强度转换成距离后便可知三个蓝牙基站的坐标以及半径。假设MAC1、MAC2、MAC3的坐标分别为(ρ1 ,θ1,r1)、(ρ2,θ2,r2)、(ρ3 ,θ3,r3) (与坐标原点距离长度ρ,极角θ,圆半径r),然后根据以下式(1)及式(2)求出两圆在极坐标下的交点坐标A(ρ4 ,θ4)、B(ρ5,θ5)。
由式(1)可得两交点坐标的极角,由式(2)可得两交点坐标距离长度ρ,由此可知两交点坐标A和B的位置。然后通过式(3)计算MAC3坐标点C分别与所得点A、B的距离,比较|AC|与|BC|和终端与第三个蓝牙基站距离大小,选择数值小的点A或B作为待测终端的具体位置,至此,通过算法①完成对待测终端位置的计算,后须由补偿算法②进行辅助矫正。
2.2 算法②
此为误差补偿算法。对于每个已经确定的终端位置,都将其存入到服务器数据库中,并设置一个默认为1的信号量flag,当已知终端个数大于等于6个时,调用补偿算法。当前待矫正终端在通过算法①计算出自己的坐标位置后,获取周围MAC地址以及信号强度,与服务器数据库对比后获取信号强度最强的1个蓝牙以及另外5台终端设备,从5台设备中优先选取flag为1的信号最强的3台终端。由终端Ⅰ与蓝牙Ⅰ计算后得出具体位置为1、2两点,根据待矫正终端位置与1、2点进行取较短者后,假定确认其点为2,则求出待矫正终端与2点的中点A。类似地获取终端2、3与蓝牙Ⅰ计算后与终端2、3的中点B、C,求出A、B、C三点中距离最近的两点,将第三点作为误差舍去,求其两点中点,将该点置为待测终端的真实位置,并将信号量flag置为1,当该点移动时,将flag设置为0。
3 结论
从理论上此次基于IBeacon的蓝牙室内定位算法研究已经完成基本的室内定位精度,但仍有亟需改进的地方:改良版三环定位算法和补偿算法的设计必须“因地制宜”,换了场景就需要重新测量数据,算法也存在精度的进一步改进。
蓝牙室内定位技术的发展与应用是物联网发展的必然趋势,已逐步从研究领域走向市场级、工业级的应用领域,随着算法不断创新和改进,工厂生产的蓝牙基站设备越来越小巧,发出的信号强度越来越稳定,在不久的将来,一定会有大量精确的室内定位软件涌现,满足人们日益增长的生活需求,为生活带来方便与快捷。
参考文献:
[1] 曹世华.室内定位技术和系统的研究进展[J].计算机系统应用,2013,22(9):1-5.
[2] 程煜.WiFi+iBeacon融合室内定位对图书馆读者服务的研究[J].河南图书馆学刊,2017(7): 120-122.
[3] BHAGWAT P.Bluetooth:technology for short-range wireless apps[J].IEEE Internet Computing, 2001(3):96-103.
[4] ANASTASI G, BANDELLONI R, CONTI M, et al.Experimenting an indoor bluetooth-based positioning service[C].Distributed Computing Systems Workshops, 2003.Proceedings.23rd International Conference on.IEEE, 2003:480-483.
[5] 王健兴.基于IBeacon的室内定位系统[J].通讯世界,2017(24):3-5.
[6] 车龙,胡达科,林立峰.一种基于iBeacon技术在室内定位上的应用[J].信息通信,2017(6):9-10.
【通联编辑:代影】