基于蓝牙信标设备的室内定位方法及系统
技术领域
本发明涉及无线定位技术,尤其涉及一种基于蓝牙信标设备的室内定位方法及系统。
背景技术
随着人们对位置感知的兴趣和需求日益增加,定位系统便拥有了广泛的应用和巨大的市场价值。定位系统包括:室外定位系统和室内定位系统。其中,室内定位系统主要应用在室内导航与定位、特定区域人员流向及行为特征统计与分析、移动支付与验证等领域。近年来,由于室内定位系统得到了越来越多的关注,定位技术发展迅速且多样化。例如,基于红外线的定位技术、基于射频识别的定位技术、基于超宽带的定位技术等。
目前,一种主流的室内定位系统主要基于BLE(Bluetooth Low Energy,低功耗蓝牙)技术,包括:分布于室内空间(机场、车站停、车场、商场、写字楼等人员流动特征明显的场所)的多个信标设备、蜂窝手机,以及定位服务器。当蜂窝手机进入到信标设备的信号覆盖范围内,便可以接收到各信标设备发射的频率为1Hz的包含有该信标设备的UUID(Universally Unique Identifier,通用唯一标识符)的数据包,蜂窝手机将接收到数据包和接收该数据包时的RSSI(Received Signal Strength Indicator,接收信号强度指示)值发送给定位服务器。由定位服务器根据接收的内容进行数据定位,并将定位的结果返回给蜂窝手机。
然而,在实际应用中,本发明的发明人发现现有的室内定位系统往往存在定位速度慢的问题。
发明内容
本发明的目的在于提供了一种基于蓝牙信标设备的室内定位方法及系统,用以提高室内定位的速度。
根据本发明的实施例的一个方面,提供一种蓝牙信标设备,包括:逻辑控制模块和无线信号发射模块;其中,所述逻辑控制模块具体包括:
第一定时器单元,用于在每次定时时间到达时,输出定时到达信号;
第二定时器单元,用于接收到所述第一定时器单元输出的定时到达信号后,开始计时;在计时时间到达时,输出计时到达信号;
控制单元,用于接收到所述定时到达信号后,读取预先存储的功率值,并将读取的功率值和所述蓝牙信标设备的UUID封装到数据包发送至所述无线信号发射模块进行无线发送;以及在接收到所述计时到达信号后,将本蓝牙信标设备的UUID和位置信息封装到数据包发送至所述无线信号发射模块进行无线发送。
较佳地,所述控制单元具体包括:
功率值读取子单元,用于接收到所述定时到达信号后,读取预先存储的功率值输出;
第一数据包封装子单元,用于接收到所述功率值读取子单元输出的功率值后,将接收的功率值和所述蓝牙信标设备的UUID,以及基础数据包指示信息封装到数据包发送至所述无线信号发射模块进行无线发送;
第二数据包封装子单元,用于接收到所述计时到达信号后,将本蓝牙信标设备的UUID和位置信息,以及扩展数据包指示信息封装到数据包发送至所述无线信号发射模块进行无线发送。
较佳地,所述无线信号发射模块中的功率放大器的输出功率为可调的;以及所述控制单元还包括:功率值设置子单元;以及
所述功率值读取子单元具体用于接收到所述定时到达信号后,若判断n等于m,则读取第1个功率值,否则,读取第n+1个功率值;其中,n为上次读取的功率值的序号;m为预先存储的功率值的序号的总数;
所述功率值设置子单元用于根据所述功率值读取子单元读取的功率值设置所述无线信号发射模块的功率放大器的输出功率。
较佳地,所述第一定时器单元的定时时间为20ms~1s。
根据本发明的实施例的另一个方面,还提供了一种基于蓝牙无线技术的室内定位系统,包括:
分布于室内各处的多个蓝牙信标设备,用于以蓝牙无线方式交替发送基础数据包和扩展数据包;其中,所述基础数据包中携带有发送本数据包的蓝牙信标设备的UUID、功率值,以及基础数据包指示信息;所述扩展数据包中携带有发送本数据包的UUID、位置信息,以及扩展数据包指示信息;
智能终端,用于接收到蓝牙信标设备发送的数据包后,若从中解析出基础数据包指示信息,则将所述数据包中携带的内容,以及该数据包的接收信号强度对应所述数据包中的UUID作为基础信息存储;若从中解析出扩展数据包指示信息,则将所述数据包中携带的内容对应所述数据包中的UUID作为扩展信息存储;以及所述智能终端在确定对应所述蓝牙信标设备的UUID已存储有基础信息和扩展信息后,根据所述基础信息中的功率值和接收信号强度计算出距离值;根据计算出的距离值结合所述扩展信息中的位置信息确定定位结果。
较佳地,所述蓝牙信标设备,具体包括:包括:逻辑控制模块和无线信号发射模块;其中,所述逻辑控制模块具体包括:
第一定时器单元,用于在每次定时时间到达时,输出定时到达信号;
第二定时器单元,用于接收到所述第一定时器单元输出的定时到达信号后,开始计时;在计时时间到达时,输出计时到达信号;
控制单元,用于接收到所述定时到达信号后,读取预先存储的功率值,并将读取的功率值和所述蓝牙信标设备的UUID封装到数据包发送至所述无线信号发射模块进行无线发送;以及在接收到所述计时到达信号后,将本蓝牙信标设备的UUID和位置信息封装到数据包发送至所述无线信号发射模块进行无线发送。
较佳地,所述控制单元具体包括:
功率值读取子单元,用于接收到所述定时到达信号后,读取预先存储的功率值输出;
第一数据包封装子单元,用于接收到所述功率值读取子单元输出的功率值后,将接收的功率值和所述蓝牙信标设备的UUID,以及基础数据包指示信息封装到数据包发送至所述无线信号发射模块进行无线发送;
第二数据包封装子单元,用于接收到所述计时到达信号后,将本蓝牙信标设备的UUID和位置信息,以及扩展数据包指示信息封装到数据包发送至所述无线信号发射模块进行无线发送。
较佳地,所述第一定时器单元的定时时间为20ms~1s,所述无线信号发射模块中的功率放大器的输出功率为可调的;以及所述控制单元还包括:功率值设置子单元;以及
所述功率值读取子单元具体用于接收到所述定时到达信号后,若判断n等于m,则读取第1个功率值,否则,读取第n+1个功率值;其中,n为上次读取的功率值的序号;m为预先存储的功率值的序号的总数;
所述功率值设置子单元用于根据所述功率值读取子单元读取的功率值设置所述无线信号发射模块的功率放大器的输出功率。
根据本发明的实施例的另一个方面,还提供了一种基于蓝牙无线技术的室内定位方法,包括:
智能终端接收到蓝牙信标设备发送的数据包后,若从中解析出基础数据包指示信息,则将所述数据包中携带的内容,以及该数据包的接收信号强度对应所述数据包中的UUID作为基础信息存储;若从中解析出扩展数据包指示信息,则将所述数据包中携带的内容对应所述数据包中的UUID作为扩展信息存储;以及
所述智能终端在确定对应所述蓝牙信标设备的UUID已存储有基础信息和扩展信息后,根据所述基础信息中的功率值和接收信号强度计算出距离值;根据计算出的距离值结合所述扩展信息中的位置信息确定定位结果;
其中,所述蓝牙信标设备以蓝牙无线方式交替发送基础数据包和扩展数据包;其中,所述基础数据包中携带有发送本数据包的蓝牙信标设备的UUID、功率值,以及基础数据包指示信息;所述扩展数据包中携带有发送本数据包的UUID、位置信息,以及扩展数据包指示信息。
其中,所述根据所述基础信息中的功率值和接收信号强度计算出距离值;根据计算出的距离值结合所述扩展信息中的位置信息确定定位结果,具体包括:
所述智能终端根据所述基础信息中的功率值和接收信号强度计算出距离值后,将计算出的距离值与该功率值作为一对距离-功率值对后,也作为对应该蓝牙信标设备的UUID的基础信息进行存储;
若所述基础信息中有m对距离-功率值,则所述智能终端将m对距离-功率值中的距离值的均值与预先针对m个功率值分别设置的距离范围进行比较;根据比较结果选取m对距离-功率值中的一个距离值作为最终确定出的本智能终端与蓝牙信标设备之间的距离的值;并
根据最终确定出的距离的值结合所述扩展信息中的位置信息确定定位结果。
由上述技术方案可知,本发明实施例提供的基于蓝牙信标设备的室内定位方法及向系统,蓝牙信标设备除了发送一个基础数据包,还发送一个扩展数据包。基础数据包中包含有:本蓝牙信标设备的UUID、本蓝牙信标设备发送本数据包的功率值,以及基础数据包指示信息;扩展数据包中包含有:本蓝牙信标设备的UUID、本蓝牙信标设备的位置信息,以及扩展数据包指示信息。这样,两个数据包便包含了丰富的定位信息,智能终端便可以根据基础数据包中的内容计算出距离值,并结合扩展数据包中的位置信息,确定出定位结果。由于省去了服务器处理环节,从而提高了最终的定位速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,以下将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,还可以根据这些附图所示实施例得到其它的实施例及其附图。
图1为本发明实施例的基于蓝牙信标设备的室内定位系统的结构示意图;
图2为本发明实施例的蓝牙信标设备的结构示意图;
图3为本发明实施例的逻辑控制模块的结构示意图;
图4为本发明实施例的基于蓝牙信标设备的室内定位方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。
本发明的发明人发现,基于无线蓝牙技术的数据包的大小是固定的,现有的用于室内定位的无线蓝牙信标设备的数据包中通常包含有如下信息:该信标设备的UUID、信标设备的电量信息。若希望在数据包中再包含位置信息则会超出数据包的大小。因此,智能终端便不能根据内容有限的数据包进行数据定位,只能将其发送给服务器,由服务器完成定位后,将定位结果返回给智能终端。
基于上述原因,本发明的发明人考虑到将数据包进行了扩展:蓝牙信标设备在数据包发送时,除了发送一个基础数据包,还发送一个扩展数据包。在基础数据包中包含有:本蓝牙信标设备的UUID、本蓝牙信标设备发送本数据包的功率值,以及基础数据包指示信息;扩展数据包中包含有:本蓝牙信标设备的UUID、本蓝牙信标设备的位置信息,以及扩展数据包指示信息。这样,两个数据包便包含了丰富的定位信息,直接由智能终端便可以根据数据包的内容进行数据定位。由于省去了服务器处理环节,从而提高了最终的定位速度。
此外,本发明的发明人还发现,信标设备发送的数据包的频率越低,智能终端接收数据包的时间越延后;信标设备发送的数据包的频率越高,智能终端接收数据包的时间越提前。因此,考虑到通过调整定时器以提高信标设备发送数据包的频率,使智能终端接收数据包的时间提前。从而进一步提高最终的定位速度。
下面结合附图详细说明本发明实施例的技术方案。
本发明实施例提供的一种室内场所定位系统,其结构如图1所示。包括:分布于室内各处的多个蓝牙信标设备101、智能终端102;
其中,蓝牙信标设备101用于以蓝牙无线方式交替发送基础数据包和扩展数据包。其中,基础数据包中携带有发送本数据包的信标设备的UUID、功率值,以及基础数据包指示信息;扩展数据包中携带有发送本数据包的蓝牙信标设备的UUID、位置信息,以及扩展数据包指示信息。
智能终端102具体为支持Bluetooth(蓝牙)v4.0的智能手机或平板电脑,其具体功能描述,详见下述室内定位方法的流程。
具体地,蓝牙信标设备101的结构如图2所示,包括:逻辑控制模块201和无线信号发射模块202;
其中,逻辑控制模块201用于将该蓝牙信标设备的基础数据包和扩展数据包交替发送至无线信号发射模块202。
无线信号发射模块202用于将接收到的数据包基于无线蓝牙技术进行广播。本模块中的功率放大器的输出功率为可调的。
事实上,逻辑控制模块201和无线信号发射模块202可以集成于蓝牙信标设备101中的SoC(System on Chip,片上系统)芯片上。
其中,逻辑控制模块201的结构如图3所示,包括:第一定时器单元301、第二定时器单元302、控制单元303;
第一定时器单元301用于在每次定时时间到达时,输出定时到达信号。其中,定时时间具体可以为20ms~1s。
第二定时器单元302用于接收到第一定时器单元输出的定时到达信号后,开始计时;在计时时间到达时,输出计时到达信号。
控制单元303用于接收到定时到达信号后,读取预先存储的功率值,并将读取的功率值和信标设备的UUID封装到数据包发送至无线信号发射模块202进行无线发送;以及在接收到计时到达信号后,将本信标设备的UUID和位置信息封装到数据包发送至无线信号发射模块202进行无线发送。
事实上,蓝牙信标设备还可以预先存储有多个不同级别的功率值,并以循环方式按预先存储的多个级别的功率值进行数据包的发送,不同级别的功率进行数据包发送,以有助于智能终端102提高定位精度。因此,控制单元303具体包括:功率值读取子单元、第一数据包封装子单元、第二数据包封装子单元;
其中,功率值读取子单元用于接收到定时到达信号后,读取预先存储的功率值输出;具体地,功率值读取子单元用于接收到定时到达信号后,若判断n等于m,则读取第1个功率值,否则,读取第n+1个功率值;其中,m为预先存储的功率值的序号总数,n为上次读取的功率值的序号。
第一数据包封装子单元用于接收到功率值读取子单元输出的功率值后,将接收的功率值和信标设备的UUID,以及基础数据包指示信息封装到数据包发送至无线信号发射模块202进行无线发送。
第二数据包封装子单元用于接收到计时到达信号后,将本信标设备的UUID和位置信息,以及扩展数据包指示信息封装到数据包发送至无线信号发射模块202进行无线发送。
进一步,控制单元303还包括:功率值设置子单元;
功率值设置子单元用于根据功率值读取子单元读取的功率值设置无线信号发射模块202的功率放大器的输出功率。
本发明实施例提供的基于蓝牙信标设备的室内定位方法,流程如图2所示,具体包括如下方法步骤:
S401:智能终端102接收到蓝牙信标设备101发送的数据包后,从中解析出功率值和蓝牙信标设备的位置信息。
本步骤中,智能终端102接收到蓝牙信标设备101发送的数据包后,若从中解析出基础数据包指示信息,则将该数据包中携带的内容,以及该数据包的接收信号强度对应该数据包中的UUID作为基础信息存储;若从中解析出扩展数据包指示信息,则将该数据包中携带的内容对应该数据包中的UUID作为扩展信息存储。
S402:智能终端102在确定对应蓝牙信标设备的UUID已存储有基础信息和扩展信息后,根据基础信息中的功率值和该数据包的接收信号强度,计算出距离值;并将计算出的距离值与该功率值作为一对距离-功率值对,也作为对应该蓝牙信标设备的UUID的基础信息进行存储。
本步骤中,智能终端102在确定对应蓝牙信标设备的UUID已存储有基础信息和扩展信息后,根据基础信息中的功率值和接收信号强度,计算出距离值为本领域技术人员所熟知,例如,可以根据如下公式1计算得到距离值R:
P=Q-10*ylgR (公式1)
公式1中,P为基础信息中的接收信号强度(即接收该数据包时,该数据包的信号强度);Q为无线信号传输1米远时的接收功率,即基础信息中的功率值;y为传播因子,具体为常数值。
之后,将计算出的距离值与该功率值作为一对距离-功率值(即一对距离值和功率值)对后,也作为对应该蓝牙信标设备的UUID的基础信息进行存储。
S403:智能终端102根据计算出的距离值结合扩展信息中的位置信息确定定位结果。
本步骤中,在计算出距离值后,智能终端102可以结构扩展信息中的位置信息快速确定出定位结果。这样,智能终端结合过基础信息和扩展信息的内容便可以进行定位,省去了向服务器发送由服务器进行定位并返回的步骤,从而提高了最终的定位速度。
更优地,智能终端102在接收数据包过程中,有可能针对一个蓝牙信标设备,接收到该蓝牙信标设备发送的基于m个级别的功率值发送的数据包,从而在对应该蓝牙信标设备的UUID的基础信息中,有可能已存储有m对距离-功率值,可以根据基础信息中的m对距离-功率值可以更为精确地计算出智能终端102到该蓝牙信标设备的距离:智能终端102将m对距离-功率值中的距离值的均值与预先针对m个功率值分别设置的距离范围进行比较;根据比较结果选取m对距离-功率值中的一个距离值作为最终确定出的本智能终端与蓝牙信标设备之间的距离的值。
具体地,若该均值位于针对第i个功率值设置的距离范围内,则将第i对距离-功率值中的距离值作为最终确定出的智能终端102与该蓝牙信标设备之间的距离的值。其中,i为1~m的自然数,m为蓝牙信标设备101预先存储的功率值的总数。本领域技术人员可以根据经验预先针对每个功率值,为该功率值设置相应的距离范围,在该距离范围内,智能终端接收数据包的信号强度与智能终端到蓝牙信标设备的距离之间有较好的线性关系,通过接收数据包的信号强度可以较为精确地反映智能终端到蓝牙信标设备的距离。
根据最终确定出的智能终端102与该蓝牙信标设备之间的距离的值,再结合对应该蓝牙信标设备的UUID的扩展信息中的位置信息,可以得到更为精确的定位结果。
由上述可见,本发明实施例提供的基于蓝牙信标设备的室内定位系统,蓝牙信标设备通过调整定时器单元以提高发送数据包的频率,并且在数据包发送时,除了发送一个基础数据包,还发送一个扩展数据包。基础数据包中包含有:本蓝牙信标设备的UUID、本蓝牙信标设备发送本数据包的功率值,以及基础数据包指示信息;扩展数据包中包含有:本蓝牙信标设备的UUID、本蓝牙信标设备的位置信息,以及扩展数据包指示信息。这样,两个数据包便包含了丰富的定位信息,智能终端便可以根据基础数据包中的内容计算出距离值,并结合扩展数据包中的位置信息,确定出定位结果。由于省去了服务器处理环节,从而提高了最终的定位速度。
以上所述仅为本发明的较佳实施例,并非用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。