一种基于蓝牙的定位方法及设备
技术领域
本发明涉及通信技术领域,特别涉及一种基于蓝牙的定位方法及设备。
背景技术
ibeacon定位技术基于蓝牙无线收发实现的,实质上是场景内部署了多个蓝牙信标,需要定位的设备例如终端设备上设置了蓝牙模块,蓝牙信标作为一个节点进行蓝牙广播,终端设备接收蓝牙信标的广播信号,从而根据接收的蓝牙信号强度的大小进而估算出终端设备与蓝牙信标之间的距离。当终端设备同时扫描出多个不同位置的节点,那么终端设备可以根据接收蓝牙信号强度的大小计算出与每个节点的距离,从而计算出终端设备所在位置。
虽然蓝牙信号的强度随着与蓝牙信标的距离的增加而逐渐减小,但是由于终端设备所在场景,例如可能存在障碍物,或者其他可能的干扰会影响蓝牙信号的强度,从而根据蓝牙信号的强度确定与蓝牙信标之间的距离的准确度较低,导致定位的准确度降低,可见,目前定位的准确度较低。
发明内容
本申请实施例提供一种基于蓝牙的定位方法及设备,用于提高定位的准确度。
第一方面,本申请实施例提供了一种基于蓝牙的定位方法,该定位方法包括:
确定定位策略,其中,所述定位策略用于指示每个蓝牙信标定位所采用的至少一个广播信道;
向至少三个蓝牙信标发送各自对应的所述定位策略;
接收来自所述每个蓝牙信标基于所述定位策略发送的定位信号;
根据接收的所述定位信号确定所述定位设备所在位置。
本申请在定位前确定定位策略,也就是蓝牙信标的三个广播信道中选择传输信号较为精确的至少一个广播信道,也就是对信号强度影响较小的至少一个广播信道,从而根据蓝牙信标基于较为精确的至少一个广播信道发送的定位信号的强度进行定位也较为准确,从而提高了定位的准确度。
可选的,在确定定位策略之前,还包括:
向至少三个所述蓝牙信标中的每一个蓝牙信标发送测试指令,所述测试指令用于指示所述每个蓝牙信标通过对应的广播信道发送广播消息;
接收来自所述每个蓝牙信标基于所述测试指令反馈的测试信号;其中,所述测试信号为所述每个蓝牙信标分别通过所述三个广播信道发送的;
针对所述每个蓝牙信标,分别获取来自所述三个广播信道的测试信号的信号强度,以及获取所述每个蓝牙信标与所述定位设备之间的距离,并确定每个广播信道的信号强度与距离的对应关系,获得三对对应关系;
基于所述三对对应关系确定所述蓝牙信标定位所用的至少两个广播信道,其中,所述至少两个广播信道包括所述定位策略指示的至少一个广播信道。
可选的,基于所述三对对应关系确定所述蓝牙信标定位所用的至少两个广播信道,包括:
向服务器发送三对对应关系,其中,每对对应关系用于指示每个蓝牙信标的每个广播信道的信号强度与距离的对应关系;
接收来自所述服务器基于所述三对对应关系确定所述至少两个广播信道。
本申请确定定位策略可以是由电子设备确定,以减轻对其他设备的依赖性。其次,本申请确定定位策略也可以是由服务器确定定位策略并告知电子设备,这样可以减轻电子设备的负担。
可选的,向至少三个蓝牙信标发送各自对应的所述定位策略,包括:
向所述至少三个蓝牙信标发送各自对应的所述定位策略指示的任意一个广播信道的标识信息;或,
向所述至少三个蓝牙信标发送各自对应的所述定位策略指示的至少两个广播信道各自的标识信息。
可选的,在向所述每个蓝牙信标发送测试指令之后,还包括:
获取所述蓝牙信标设置的至少两个MAC地址;
将所述至少两个MAC地址与所述蓝牙信标的位置信息的对应关系发送给所述服务器,以通过所述服务器根据所述两个MAC地址中的任一MAC地址获取所述蓝牙信标的位置。
可选的,根据接收的所述定位信号确定所述定位设备所在位置,包括:
获取所述至少三个蓝牙信标中的每个蓝牙信标的MAC地址,并基于所述MAC地址从所述服务器获取所述至少三个蓝牙信标各自的位置信息;
针对所述至少三个蓝牙信标中的每个蓝牙信标,基于所述每个蓝牙信标各自的位置信息、信号强度与距离的对应关系,以及所述定位信号的强度,确定所述定位设备所在位置。
可选的,获取所述至少三个蓝牙信标中的每个蓝牙信标的MAC地址,包括:
向所述每个蓝牙信标发送获取请求消息,其中,所述获取请求消息用于获取所述每个蓝牙信标的MAC地址;
接收来自所述每个蓝牙信标的MAC地址,其中,在预设时间段内的不同时刻所接收的蓝牙信标的MAC地址相同或不同,所述蓝牙信标的MAC地址在所述至少两个MAC地址之间随机切换。
上述三种可选的方式,描述了本申请中的蓝牙信标设置了至少两个MAC地址,且随机切换所设置的至少两个MAC地址,也就是蓝牙信标在定位过程中,某一时刻的MAC地址是所设置的其中的一个MAC地址,另一时刻的MAC地址可能是所设置的另外一个MAC地址,这样可以避免第三方使用本申请的蓝牙信标,以实现对蓝牙信标的保护,尽量防止被盗用。
第二方面,本申请实施例提供了一种定位设备,该定位设备包括:
第一确定单元,用于确定定位策略,其中,所述定位策略用于指示每个蓝牙信标定位所采用的至少一个广播信道;
发送单元,用于向至少三个蓝牙信标发送各自对应的所述定位策略;
接收单元,用于接收来自所述每个蓝牙信标基于所述定位策略发送的定位信号;
第二确定单元,用于根据接收的所述定位信号确定所述定位设备所在位置。
可选的,所述第一确定单元还用于:
向至少三个所述蓝牙信标中的每一个蓝牙信标发送测试指令,所述测试指令用于指示所述每个蓝牙信标通过对应的广播信道发送广播消息;
接收来自所述每个蓝牙信标基于所述测试指令反馈的测试信号;其中,所述测试信号为所述每个蓝牙信标分别通过所述三个广播信道发送的;
针对所述每个蓝牙信标,分别获取来自所述三个广播信道的测试信号的信号强度,以及获取所述每个蓝牙信标与所述定位设备之间的距离,并确定每个广播信道的信号强度与距离的对应关系,获得三对对应关系;
基于所述三对对应关系确定所述蓝牙信标定位所用的至少两个广播信道,其中,所述至少两个广播信道包括所述定位策略指示的至少一个广播信道。
可选的,所述第一确定单元具体用于:
向服务器发送三对对应关系,其中,每对对应关系用于指示每个蓝牙信标的每个广播信道的信号强度与距离的对应关系;
接收来自所述服务器基于所述三对对应关系确定所述至少两个广播信道。
可选的,所述发送单元具体用于:
向所述至少三个蓝牙信标发送各自对应的所述定位策略指示的任意一个广播信道的标识信息;或,
向所述至少三个蓝牙信标发送各自对应的所述定位策略指示的至少两个广播信道各自的标识信息。
可选的,所述发送单元还用于:
获取所述蓝牙信标设置的至少两个MAC地址;
将所述至少两个MAC地址与所述蓝牙信标的位置信息的对应关系发送给所述服务器,以通过所述服务器根据所述两个MAC地址中的任一MAC地址获取所述蓝牙信标的位置。
可选的,所述第二确定单元具体用于:
获取所述至少三个蓝牙信标中的每个蓝牙信标的MAC地址,并基于所述MAC地址从所述服务器获取所述至少三个蓝牙信标各自的位置信息;
针对所述至少三个蓝牙信标中的每个蓝牙信标,基于所述每个蓝牙信标各自的位置信息、信号强度与距离的对应关系,以及所述定位信号的强度,确定所述定位设备所在位置。
可选的,所述第二确定单元具体用于:
向所述每个蓝牙信标发送获取请求消息,其中,所述获取请求消息用于获取所述每个蓝牙信标的MAC地址;
接收来自所述每个蓝牙信标的MAC地址,其中,在预设时间段内的不同时刻所接收的蓝牙信标的MAC地址相同或不同,所述蓝牙信标的MAC地址在所述至少两个MAC地址之间随机切换。
第四方面,本申请实施例提供一种定位设备,该定位设备包括:
至少一个处理器,以及
与所述至少一个处理器连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面任一项所述的方法。
第四方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。
本申请在定位前确定定位策略,也就是蓝牙信标的三个广播信道中选择传输信号较为精确的至少一个广播信道,也就是对信号强度影响较小的至少一个广播信道,从而根据蓝牙信标基于较为精确的至少一个广播信道发送的定位信号的强度进行定位也较为准确,从而提高了定位的准确度。
附图说明
图1是本申请实施例提供的定位***的结构示意图;
图2为本申请实施例提供的定位方法的流程示意图;
图3为本申请实施例提供的定位设备的一种结构示意图;
图4为本申请实施例提供的定位设备的一种结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本申请实施例中,需要定位的定位设备中可以设置蓝牙模块等设备。蓝牙信标可以是位置已知的蓝牙模块,蓝牙信标可以有多个,可以固定在相应的区域内。请参见图1,介绍本发明实施例的一种停车场应用场景。图1中包括定位设备101、蓝牙信标102和服务器103,定位设备101和蓝牙信标102可以通过各自内置的蓝牙模块进行通信。定位设备101例如可以是终端设备例如手机等,蓝牙信标102可以固定在停车场中的任意位置,服务器103可以是停车场管理***提供的服务器,可以位于该停车场中,也可以位于该停车场所属的建筑的其他位置,图1以服务器位于该停车场中为例,定位设备101和蓝牙信标102均可以与服务器103通信。在停车场中可以设置多个蓝牙信标102,本发明实施例对蓝牙信标102的数量和位置不作限制,图1以其中一个蓝牙信标102为例,该蓝牙信标102固定在该停车场的其中一个车位上。
下面结合附图介绍本申请实施例提供的技术方案,在下面的描述中以图1所示的应用场景为例,当然本申请提供的定位方法也可以应用与其他应用场景,例如商场等。
请参见图2,本申请实施例提供一种定位方法,该方法的流程描述如下。
步骤S201、确定定位策略,其中,定位策略用于指示每个蓝牙信标定位所采用的至少一个广播信道。
在一种实施方式中,定位设备101设置了蓝牙模块,多个蓝牙信标102固定在停车场的不同位置处。定位设备101可以向停车场内的多个蓝牙信标102发送定位指令,每个蓝牙信标102基于定位设备101发送的定位信号向定位设备101反馈定位信号。定位设备101可以检测接收的定位信号的强度,而本申请事先可以获得每个蓝牙信标102的信号强度和距离之间的对应关系,从而定位设备101根据接收的定位信号的强度,以及对应关系可以确定定位设备101与每个蓝牙信标102之间的距离。另定位设备101可以获得每个蓝牙信标102的位置,从而基于一个蓝牙信标102的位置,以及与包括这个蓝牙信标102的三个蓝牙信标102的距离,确定从定位设备101所在位置,实现定位。
例如,定位设备101需要定位时,定位设备101可以发送广播信号,该广播信号为定位设备101的定位请求。停车场内的部分蓝牙信标102接收到广播信号可以与定位设备101建立通信连接,蓝牙信标102可以通过该通信连接接收定位设备101所发送的定位请求,在接收该定位请求后,蓝牙信标102可以发送定位信号给定位设备101,从而定位设备101可以根据该定位信号的强度,以及信号强度与距离的对应关系,确定定位设备101与蓝牙信标102之间的距离,加上获取蓝牙信标102的位置信息,从而确定定位设备101所在的位置。
蓝牙信标102具有三个广播信道,目前蓝牙信标102向定位设备101反馈定位信号是通过这三个广播信道都发定位信号,而目前默认这三个广播信道的信号强度与距离的对应关系是一致的。但是在实际场景中,蓝牙信标102由于场景内存在的干扰因素,或者蓝牙信标102由于生产工艺的因素,导致蓝牙信标102在不同的广播信道的发射功率可能不同。例如场景内可能存在干扰某个广播信道(例如第一广播信道)的因素,导致第一广播信道传输信号时信号的强度减弱,从而定位设备101通过该广播信道传输的定位信号的强度也减小了。但是对于该蓝牙信标102的另外两个广播信道(例如第二广播信道、第三广播信道)传输信号的影响较小,那么另外第二广播信道、第三广播信道传输的定位信号的强度之间的差值就较小,此时第一广播信道传输的定位信号的信号强度,与第二广播信道及第三广播信道传输的定位信号的信号强度差距较大,如果此时再通过第一广播信道的信号强度与距离的对应关系,确定定位设备101与蓝牙信标102之间的距离的准确度就较低。
鉴于此,本申请实施例中的定位设备101在进行定位前,可以确定定位策略,也就是指定蓝牙信标102定位时采用对传输信号干扰较小的至少一个广播信道发送定位信号,并基于该至少一个广播信道的信号强度与距离的对应关系确定定位设备101与蓝牙信标102之间的距离。
可能的实施方式中,定位设备101在确定定位策略之前,可以确定蓝牙信标102定位时采用的至少一个广播信道。具体地,定位设备101可以向停车场内布置的每个蓝牙信标102发送广播信号,请求与蓝牙信标102进行连接,当蓝牙信标102接收到广播信号后,与定位设备101建立连接。以其中的一个蓝牙信标102为例,定位设备101与蓝牙信标102进行连接后,可以执行:
步骤S2011、定位设备101向该蓝牙信标102发送测试指令,测试指令用于指示每个蓝牙信标通过自身的三个广播信道发送广播消息。蓝牙信标102接收到测试指令之后,分别在自身的三个广播信道,例如蓝牙4.2协议中的37、38、39信道,对应的频点分别是2402M、2426M、2480M,发送测试信号。
步骤S2012、定位设备101接收来自该蓝牙信标102基于测试指令反馈的测试信号;其中,测试信号为每个蓝牙信标102分别通过所述三个广播信道发送的。
步骤S2013、定位设备101分别获取来自三个广播信道的测试信号的信号强度,以及获取每个蓝牙信标与定位设备之间的距离,并确定每个广播信道的信号强度与距离的对应关系,获得三对对应关系。
具体地,本申请在部署了每个蓝牙信标102之后,可以测量每个蓝牙信标102与定位设备101之间的距离。定位设备101获取了每个广播信道的测试信号的信号强度后,可以获取事先存储的与蓝牙信标102之间的距离。或者,本申请测量了每个蓝牙信标102与定位设备101之间的距离后,将测量距离存储至服务器103,这种情况下,定位设备101可以从服务器103获取与蓝牙信标102之间的距离。
步骤S2014、基于三对对应关系确定蓝牙信标102定位所用的至少两个广播信道,其中,至少两个广播信道包括定位策略指示的至少一个广播信道。
定位设备101针对每个广播信道可以确定该广播信道传输的测试信号的信号强度与距离的对应关系,或者三对对应关系,从而基于三对对应关系确定蓝牙信标102定位所用的至少两个广播信道。例如,可能的实施方式中,定位设备101可以首先分别对三个广播信道通过曲线拟合的公式(1)分别做曲线拟合。
D=10^(RSSI-A)/(10*N) (1)
公式(1)中,D表示距离,RSSI表示测试信号的信号强度,A是蓝牙模块的一米接收强度,N环境衰减因子。
定位设备101确定了D和RSSI代入公式(1)中,求解N、A。定位设备101针对每个广播信道可以使用多组D和RSSI求解N、A,并求取A的平均值,从而获得每个广播信道的拟合曲线,标识信号强度和距离的对应关系。
定位设备101获得三对对应关系后,将三个广播信道的对应关系(公式(1))两两相减,在新得出的三个公式中,在一定信号强度的取值区间内测算距离,并计算距离变量的最大值,这个最大值就是两个广播信道间距离的最大误差。当最大值的数据小于定义的精度误差,那么就认为这两个广播信道是有效信道,也就是误差较小的广播信道,从而蓝牙信标102采用这两个广播信道进行定位,定位的准确度较高。本申请实施例中蓝牙信标102的距离和信号强度是通过实际测算拟合出来的而不是通过公式直接推导出来的,更加符合不同场景下的蓝牙覆盖情况。
当然,本申请实施例中,定位设备101也可以通过服务器103确定定位策略,只要定位设备101向服务器103发送每个广播信道的信号强度和距离的对应关系,服务器103可以基于每个广播信道的信号强度和距离的对应关系得出三对对应关系,并基于三对对应关系确定误差较小的至少两个广播信道。服务器103确定了至少两个广播信道后,可以告知定位设备101,这样可以减少定位101的计算量,从而减轻定位设备101的负担。
步骤S202、定位设备101向至少三个蓝牙信标102发送各自对应的定位策略。
定位设备101确定了误差较小的至少两个广播信道后,可以进一步确定定位策略,并向每个蓝牙信标102发送对应的定位策略。其中,根据定位策略包括的广播信道的数量的不同,定位设备101向每个蓝牙信标102发送定位策略包括但不限于以下几种方式。
第一种方式:定位策略指示的广播信道的数量是两个
如果定位策略指示的广播信道的数量是两个,那么定位设备101可以向每个蓝牙信标102发送定位策略指示的任意一个广播信道的标识信息,即告知蓝牙信标102定位用时通过这个广播信道发送定位信号。可能的实施方式中,定位设备101可以向每个蓝牙信标102发送定位策略指示的两个广播信道各自的标识信息,即告知蓝牙信标102定位用时通过这两个广播信道发送定位信号,这样的话发送定位信号的广播信道的数量较多,从而尽量保证定位设备101可以接收到定位信号。
第二种方式:定位策略指示的广播信道的数量是三个
如果定位策略指示的广播信道的数量是两个,那么定位设备101可以向每个蓝牙信标102发送定位策略指示的任意一个广播信道的标识信息,即告知蓝牙信标102定位用时通过这个广播信道发送定位信号。可能的实施方式中,定位设备101可以向每个蓝牙信标102发送定位策略指示的三个广播信道中任意两个各自的标识信息,即告知蓝牙信标102定位用时通过这两个广播信道发送定位信号,这样的话发送定位信号的广播信道的数量较多,从而尽量保证定位设备101可以接收到定位信号。或者,可能的实施方式中,定位设备101可以向每个蓝牙信标102发送定位策略指示的三个广播信道各自的标识信息,以尽量保证定位设备101可以接收到定位信号。
步骤S203、定位设备101接收来自至少三个蓝牙信标102中的每个蓝牙信标102基于定位策略发送的定位信号。
定位设备101在需要进行定位时,可以向场景内的至少三个蓝牙信标102发送定位请求消息。至少三个蓝牙信标102接收到定位请求消息之后,可以基于自身的定位策略向定位设备101反馈定位信号,即通过各自定位策略指示的广播信道向定位设备101发送定位信号,以使得定位设备101基于定位信号确定自身所在位置。
为了防止蓝牙信标102一直被占用,本申请实施例中,定位设备101和蓝牙信标102之间可以约定如果蓝牙信标102接收到测试指令之后,预设时间段内没有接收到定位请求,则蓝牙信标102可以主动断开与定位设备101之间的连接关系。可能的实施方式中,定位设备101可以跟蓝牙信标102之间协定通信协议,例如测试指令的格式,从而蓝牙信标102接收到测试指令之后,解析测试指令,识别出是测试指令之后,若在预设时间段内没有接收到定位请求,则蓝牙信标102可以主动断开与定位设备101之间的连接关系,以防止其他设备进行连接。
步骤S204、定位设备101根据接收的定位信号确定定位设备101所在位置。
定位设备101接收到定位信号后,可以检测定位信号的信号强度,根据该信号强度以及蓝牙信标102的信号强度与距离之间的关系确定出与蓝牙信标102之间的距离,从而确定了定位设备101确定了与三个蓝牙信标102之间的距离,以及其中任意一个蓝牙信标102的位置坐标,就可以确定出定位设备101所在位置。
可能的实施方式中,每个蓝牙信标102在场景内部署之后,定位设备101或者其他可能的设备可以将每个蓝牙信标102的MAC地址,以及位置信息发送给服务器103,从而可以通过服务器103根据MAC地址确定每个蓝牙信标102的位置信息。
本申请实施例中,每个蓝牙信标102可以对应设置至少两个媒体访问控制MAC地址,可能的实施方式中,每个蓝牙信标102可以在其外部或者内部的存储器中存储至少两个MAC地址。定位设备101在向每个蓝牙信标102发送测试指令之后,与每个蓝牙信标102建立连接成功后,定位设备101可以获取每个蓝牙信标102的至少两个MAC地址,并将至少两个MAC地址与每个蓝牙信标102的位置信息发送给服务器103,以供服务器103建立至少两个MAC地址与位置信息的对应关系。
而蓝牙信标102可以随机切换所使用的MAC地址,例如蓝牙信标102有两个MAC地址,定位设备101在第一时刻向蓝牙信标102发送获取MAC地址的请求时,蓝牙信标102可以向定位设备101反馈第一个MAC地址,而定位设备101如果在第二时刻向蓝牙信标102发送获取MAC地址,蓝牙信标102可以向定位设备101反馈第二个MAC地址。也就是蓝牙信标102在第一时刻使用第一MAC地址,在第二时刻使用第二MAC地址。
蓝牙信标102在初始化时读取至少两个MAC地址,并随机取其中的一个地址作为起始的MAC地址,并设置定位任务,例如在一段时间内随机一个时刻开始采用起始的MAC地址执行任务。例如当到了这个执行定位任务时,随机选取至少两个MAC地址中的其他一个MAC地址作为新的MAC地址,依次类推,至少两个MAC地址就会在随机的时间进随机的至少两个MAC地址切换。
本申请实施例中,蓝牙信标102可以事先设置切换MAC地址的规则,例如在预设时间段内随机切换MAC地址。这样如果其他用户要使用在场景内部署的蓝牙信标102时,因为定位设备101通常是移动的,在前一时刻定位设备101扫描场景内部署的蓝牙信标102,确定了第一蓝牙信标102的MAC地址,并通过该MAC地址从服务器103确定了第一蓝牙信标102的位置信息,但是在后一时刻,如果第一蓝牙信标102的MAC地址恰好切换了,那么其他用户就找不到前一刻所扫描的第一蓝牙信标102,从而导致定位失败,这样就防止了其他用户盗用本申请所部署的蓝牙信标102进行定位。
具体地,本申请实施例中,定位设备101根据接收的定位信号确定定位设备101所在位置时,定位设备101可以获取至少三个蓝牙信标102中的每个蓝牙信标102的MAC地址,并基于MAC地址从服务器103获取至少三个蓝牙信标102各自的位置信息,并基于每个蓝牙信标102各自的位置信息、信号强度与距离的对应关系,以及定位信号的强度,确定定位设备所在位置。
定位设备101在获取至少三个蓝牙信标102中的每个蓝牙信标102的MAC地址时,可以向每个蓝牙信标102发送获取请求消息,该获取请求消息用于获取每个蓝牙信标102的MAC地址。蓝牙信标102接收到获取请求消息后,将当前所使用的MAC地址发送给定位设备101,从而定位设备101将获取的MAC地址发送给服务器103,以请求获取蓝牙信标102的位置信息。尽管每个蓝牙信标102的MAC地址在变化,但是服务器103存储了针对每个蓝牙信标102的所以MAC地址与位置坐标的对应关系,所以不管定位设备101获取的是蓝牙信标102的哪个MAC地址,服务器103均可以获取拉远信标102的时间位置信息。
在实际中,由于蓝牙信标102的覆盖范围有限,为了更好地掌握定位设备101的位置情况,可以根据实际需要设置多个蓝牙信标102。例如,在平缓的直线车道上,蓝牙信标102可以每隔几米设置一个,在拐弯处,蓝牙信标102可以设置得更为密集些,比如可以在拐弯的地方每隔1到2米设置一个蓝牙信标102。本申请实施例对蓝牙信标102设置的位置和数量等不作限制,可以根据实际需求设置。
在设置蓝牙信标102后,由于蓝牙信标102的位置已知,且蓝牙信标102具有多个MAC地址,因此服务器103可以预先存储蓝牙信标102的多个MAC地址和蓝牙信标102的位置之间的对应关系。其中,服务器103可以是停车场管理***所提供的服务器,可以用于管理停车场。当定位设备101需要进行定位时,可以先向每个蓝牙信标102发送测试指令,以根据蓝牙信标102基于测试指令通过各自的是三个广播信道发送的广播消息确定每个蓝牙信标102的定位策略。定位设备101可以将确定的定位策略发送给对应的每个蓝牙信标102,以告知蓝牙信标102根据定位策略发送定位信号。当定位设备101进入停车场并在停车场中移动时,定位设备101上的蓝牙模块可以周期性地发送定位请求,当定位设备101与任意一个蓝牙信标102之间的距离满足近距离通信方式对距离的要求时,该蓝牙信标102可以接收到定位请求,蓝牙信标102可以根据该定位请求,根据定位策略将定位信号发送给定位设备101的蓝牙模块。同时定位设备101可以获取蓝牙信标102的MAC地址,并通过该MAC地址向服务器103获取蓝牙信标102的位置信息。服务器103根据MAC地址查询预先存储的对应关系,若查询到与该MAC地址对应的位置信息,则服务器103可以将查询的位置信息发送给定位设备101,从而只要定位设备101获取三个蓝牙信标102的定位信号的信号强度,以及信号强度与距离的对应关系,蓝牙信标102的位置信息就可以确定定位设备101所在位置。
综上,本申请在定位前确定定位策略,也就是蓝牙信标的三个广播信道中选择传输信号较为精确的至少一个广播信道,也就是对信号强度影响较小的至少一个广播信道,从而根据蓝牙信标基于较为精确的至少一个广播信道发送的定位信号的强度进行定位也较为准确,从而提高了定位的准确度。
本申请中的蓝牙信标在定位的时候可以进行MAC地址的切换,相比于不可切换MAC地址的部署方式,本申请可以有效的防止他人窃取蓝牙信标的部署方式。
下面结合说明书附图介绍本发明实施例提供的设备
请参见图3,基于同一发明构思,本发明一实施例提供一种定位设备,该定位设备可以是手机等终端设备,也可以是安装蓝牙模块的其他设备,该定位设备可以包括:第一确定单元301、发送单元302、接收单元303和第二确定单元304,其中,第一确定单元301用于确定定位策略,其中,定位策略用于指示每个蓝牙信标定位所采用的至少一个广播信道;发送单元302用于向至少三个蓝牙信标发送各自对应的定位策略;接收单元303用于接收来自每个蓝牙信标基于定位策略发送的定位信号;第二确定单元304用于根据接收的定位信号确定定位设备所在位置。
可选的,第一确定单元301还用于:
向至少三个蓝牙信标中的每一个蓝牙信标发送测试指令,测试指令用于指示每个蓝牙信标通过对应的广播信道发送广播消息;
接收来自每个蓝牙信标基于测试指令反馈的测试信号;其中,测试信号为每个蓝牙信标分别通过三个广播信道发送的;
针对每个蓝牙信标,分别获取来自三个广播信道的测试信号的信号强度,以及获取每个蓝牙信标与定位设备之间的距离,并确定每个广播信道的信号强度与距离的对应关系,获得三对对应关系;
基于三对对应关系确定蓝牙信标定位所用的至少两个广播信道,其中,至少两个广播信道包括定位策略指示的至少一个广播信道。
可选的,第一确定单元301具体用于:
向服务器发送三对对应关系,其中,每对对应关系用于指示每个蓝牙信标的每个广播信道的信号强度与距离的对应关系;
接收来自服务器基于三对对应关系确定至少两个广播信道。
可选的,发送单元302具体用于:
向至少三个蓝牙信标发送各自对应的定位策略指示的任意一个广播信道的标识信息;或,
向至少三个蓝牙信标发送各自对应的定位策略指示的至少两个广播信道各自的标识信息。
可选的,发送单元302还用于:
获取蓝牙信标设置的至少两个MAC地址;
将至少两个MAC地址与蓝牙信标的位置信息的对应关系发送给服务器,以通过服务器根据两个MAC地址中的任一MAC地址获取蓝牙信标的位置。
可选的,第二确定单元304具体用于:
获取至少三个蓝牙信标中的每个蓝牙信标的MAC地址,并基于MAC地址从服务器获取至少三个蓝牙信标各自的位置信息;
针对至少三个蓝牙信标中的每个蓝牙信标,基于每个蓝牙信标各自的位置信息、信号强度与距离的对应关系,以及定位信号的强度,确定定位设备所在位置。
可选的,第二确定单元304具体用于:
向每个蓝牙信标发送获取请求消息,其中,获取请求消息用于获取每个蓝牙信标的MAC地址;
接收来自每个蓝牙信标的MAC地址,其中,在预设时间段内的不同时刻所接收的蓝牙信标的MAC地址相同或不同,蓝牙信标的MAC地址在至少两个MAC地址之间随机切换。
请参见图4,基于同一发明构思,本发明一实施例提供一种定位设备,该定位设备可以是手机等终端设备,也可以是安装蓝牙模块的其他设备,该定位设备可以包括:至少一个处理器401,处理器401用于执行存储器中存储的计算机程序时实现本发明实施例提供的如图2所示的定位方法的步骤。
可选的,处理器401具体可以是中央处理器、特定应用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路。
可选的,该定位设备还包括与至少一个处理器连接的存储器402,存储器402可以包括只读存储器(英文:Read Only Memory,简称:ROM)、随机存取存储器(英文:RandomAccess Memory,简称:RAM)和磁盘存储器。存储器402用于存储处理器401运行时所需的数据,即存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器402存储的指令,执行如图2所示的方法。其中,存储器402的数量为一个或多个。其中,存储器402在图4中一并示出,但需要知道的是存储器402不是必选的功能模块,因此在图4中以虚线示出。
其中,第一确定单元301、发送单元302、接收单元303和第二确定单元304所对应的实体设备均可以是前述的处理器401。该定位设备可以用于执行图2所示的实施例所提供的方法。因此关于该设备中各功能模块所能够实现的功能,可参考图2所示的实施例中的相应描述,不多赘述。
本发明实施例还提供一种计算机存储介质,其中,计算机存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如图2所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:通用串行总线闪存盘(Universal Serial Busflash disk)、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。