基于微芯科技BM70/1蓝牙模块iBeacon技术在定位系统的应用
作者/蔚湘绅 (贝能电子(福建)有限公司,辽宁 沈阳 110031)
本文引用地址:http://www.amcfsurvey.com/article/201901/397260.htm摘要:随着互联网和电子技术的发展,定位、导航类的应用日渐出现在人们身边,并给生活带来更多的便捷。传统定位技术多用于室外定位,基本实现方式都是依靠GPS,用于行车导航等应用。而室内定位这一新兴领域正开始慢慢走入人们的视野。不过,GPS并不适用于室内定位,而近年来刚开始流行的BLE Beacon技术,则有更多的优势。本文描述了一种基于BLE技术的室内定位系统,并简单介绍几种合适的应用。
1 基于iBeacon技术的定位系统原理简介
基于Beacon的定位技术,基本定位原理如图1。简而言之,基于iBeacon的定位系统是通过基站原理来定位的,系统中每一个iBeacon基站通过蓝牙广播自己的身份信息,当待定位设备进入覆盖区域后,通过检测周围iBeacon基站的信号强度,即可知道自己与每个基站间的距离。多个基站信息组合起来,就可以推算出自己的位置。
基于BLE的iBeacon,与经典蓝牙显著的区别是:①极低的功耗,对比经典蓝牙,BLE可降低90%以上的功耗。基站可以使用电池供电。②无需配对,通过广播的方式进行数据传输。③对于iOS系统,同样支持后台唤醒,保证客户良好的使用体验。
一个Beacon广播包通常包含如表1的信息。
表1的部分英文含义如下。
Proximity UUID:厂商识别号,区别不同厂商生产的Beacon标签。
Major:群组分类,区别不同场景间的Beacon标签。
Minor:区别同一场景下不同位置的Beacon标签。
Tx Power:用于测量设备与Beacon标签之间的距离。
显而易见,Tx Power是这场戏的主角。Tx Power越大,表示设备与标签间的距离越近,反之则距离越远。当设备检测到多个Beacon标签的Tx Power后,即可估算出自己的大概位置。
通常情况下,距离估算只定义了三个粗略的距离等级,即:
•非常近:10 cm内。
•近:1 m内。
•远:1 m外。
总之,基于iBeacon标签的室内定位技术是无法完成精确定位的,但是对于室内向导、引流等功能来说,精度是足够用的。
2 平台及方案
BM70/1系列蓝牙模组是美国微芯(Microchip)科技专门为蓝牙IoT应用推出的低功耗蓝牙(BLE)模组。模组使用自家基于8051内核的蓝牙芯片IS1870。具有低成本、低功耗、小尺寸及易于开发等特点,是非常适合基于Beacon的室内定位系统的一款蓝牙模组。
该系列模组支持BLE4.2标准。供电范围1.9 V~3.6 V。集成温度传感器、供电电压检测。同时提供有/无屏蔽罩及陶瓷天线的型号。最小尺寸仅为11.5 mm x 9 mm。仅需简单的几个外围器件即可工作。同时,该系列模组为透传模组,可以预配置设备名、密码等基本信息,只需简单的串口指令即可完成蓝牙的数据收发,可以最大程度地简化客户前期的研发工作。
在基于Beacon的定位系统中,可以使用具有最小尺寸的BM71蓝牙模组,以尽可能使Beacon节点具有更小的尺寸以便于安装布置。对于iBeacon应用,微芯科技提供了一套方便的UI配置界面帮助客户快速配置广播信息。
BM70/1内部存储空间分为2部分,分别为FLASH和EEPROM区。其中,Flash区用于存储产品级蓝牙固件,该固件以HEX形式提供,用户不需要2次修改即可直接使用。EEPROM区用于存储配置信息,客户可以提前配置好蓝牙模组的Device Name、Pin Code及UUID等各种信息并烧录到模组中。
同时,对于有特殊需求的用户,微芯科技还提供了一套完整的SDK及各类应用例程,可以对模组进行深度二次开发。
对于上述三部分,官方提供的软件分为别:IS1870_BM70_FlashUpdateTool;IS187x_102_BLEDK3_UI;IS187x MBIoT SDK。
3 Beacon标签的实现
以使用固件和UI配置的方式实现为例,用户可以通过如下几个简单步骤完成一个Beacon标签的配置。
①将TEST PIN置高进入调试模式。
②使用FlashUpdateTool将官方提供的固件写入BM70/1的FLASH中。
③使用BLEDK3_UI,按需要配置好蓝牙模组的基本信息后,写入BM70/1的EEPROM中。
④将TEST PIN置低进入运行模式并重新上电,此时,一个Beacon标签就配置好了。
4 定位算法的实现
已知三点位置为:A(X1,Y1),B(X2,Y2),C(X3,Y3),已知D点(X0,Y0)到三点的距离为d1,d2,d3,如图2。
此时,D点位置可以通过下列方程中的任意两个进行求解:
(X0-X1)2+(Y0-Y1)2=d12
(X0-X2)2+(Y0-Y2)2=d22
(X0-X3)2+(Y0-Y3)2=d32
5 结论
基于Beacon的定位系统非常适合室内定位应用。标签可以使用电池供电,布置非常方便,应用很多,例如智慧商场推送及引导,停车场反向定位,微信摇一摇找周边用户等,愿各位读者发挥想象,找到最适合自己的应用。
参考文献
[1]Microchip.BM70/1 datasheet.
[2]Microchip.BM70_EvaluationBoardUserGuide.
本文来源于科技期刊《电子产品世界》2019年第2期第19页,欢迎您写论文时引用,并注明出处
评论