定位方法、终端、蓝牙节点、电子设备和存储介质与流程

文档序号:13335666阅读:273来源:国知局
定位方法、终端、蓝牙节点、电子设备和存储介质与流程

本发明实施例涉及一种通信技术领域,特别是一种定位方法、终端、蓝牙节点、电子设备和存储介质。



背景技术:

日常生活中有越来越多的室内情况复杂的大型楼宇出现,如大型商场、图书馆、医院等、剧院等。室内定位一直是一个热门的研究问题,由于墙体对信号的遮挡,户外最常用、精度较高的gps(globalpositioningsystem,全球定位系统)的推广受限,因此主流的研究方向主要集中在wifi(wirelessfidelity,无线连接)室内定位,wifi定位大致分为信号强度计算位置以及信号指纹方法。但wifi定位需要大量的ap(accesspoint,无线接入点)才能保证定位准确,且ap的成本较高,因此推广定位的成本较高。

现有技术中提出基于ble(bluetoothlowenergytechnology,蓝牙低功耗技术)的定位设施,由于ble模块价格十分低廉,同时功耗很低,因此可以用于大规模部署来进行定位。

下面介绍现有技术中蓝牙定位的方案:

蓝牙发送模块具有广播的功能,定点布置蓝牙发送模块,使不断广播数据帧,该数据帧包含信号强度,搭载蓝牙接收模块的终端收到该数据帧,并解析数据帧得到的信号强度,终端测量得到接收该数据帧的接收信号强度,由数据帧的信号强度减去接收信号强度得到传播损耗,基于损耗与距离的对应关系,终端可测算出终端距离该蓝牙发送模块的距离。

图1为现有技术中蓝牙定位的示意图。

如图1所示,终端接收三个蓝牙发送模块的数据帧,可分别得到终端与每一蓝牙发送模块的距离,根据三个距离即可实现定位。

现有技术的蓝牙定位存在以下技术问题:

实现蓝牙定位需终端先解析数据帧得到蓝牙的信号强度,再对接收的蓝牙发送模块的数据帧进行测量,得出接收信号强度,进而测算传播损耗,从而确定终端距离该蓝牙发送模块的距离,在终端安装的应用比较多,已经占用本地大量内存的情况下,进行蓝牙定位的相关计算将加重终端的运行负荷。

目前,现有技术还没有相应的方法来解决上述问题。



技术实现要素:

针对现有技术的缺陷,本发明实施例提供一种定位方法、终端、蓝牙节点、电子设备和存储介质。

一方面,本发明实施例提供一种定位方法,所述方法包括:

终端接收蓝牙节点向空间广播的数据帧,所述数据帧包括所述蓝牙节点的标识和预设距离,所述预设距离是所述蓝牙节点预测的所述蓝牙节点与所述终端之间的距离,并用于指示终端将所述预测距离作为所述蓝牙节点与所述终端之间的实际距离;

所述终端向云端服务器发送定位请求,所述定位请求包括所述蓝牙节点的标识和所述预设距离,以使所述云端服务器根据所述蓝牙节点的标识和所述预设距离,确定所述终端的位置信息,并返回至所述终端。

另一方面,本发明实施例提供一种终端,所述终端包括:

接收模块,用于接收蓝牙节点向空间广播的数据帧,所述数据帧包括所述蓝牙节点的标识和预设距离,所述预设距离是所述蓝牙节点预测的所述蓝牙节点与所述终端之间的距离,并用于指示终端将所述预测距离作为所述蓝牙节点与所述终端之间的实际距离;

发送模块,用于向云端服务器发送定位请求,所述定位请求包括所述蓝牙节点的标识和所述预设距离,以使所述云端服务器根据所述蓝牙节点的标识和所述预设距离,确定所述终端的位置信息,并返回至所述终端。

另一方面,本发明实施例还提供一种电子设备,包括第一存储器、第一处理器、总线以及存储在第一存储器上并可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现以上的步骤。

另一方面,本发明实施例还提供一种存储介质,其上存储有计算机程序,所述程序被第一处理器执行时实现以上的步骤。

另一方面,本发明实施例提供一种定位方法,所述方法包括:

蓝牙节点向空间广播数据帧,以供终端接收并根据所述数据帧,确定所述终端的位置信息,所述数据帧包括所述蓝牙节点的标识和预设距离,所述预设距离是所述蓝牙节点预测的所述蓝牙节点与所述终端之间的距离,并用于指示所述终端将所述预测距离作为所述蓝牙节点与所述终端之间的实际距离。

另一方面,本发明实施例提供一种蓝牙节点,所述蓝牙节点包括:

广播模块,用于向空间广播数据帧,以供终端接收并根据所述数据帧,确定所述终端的位置信息,所述数据帧包括所述蓝牙节点的标识和预设距离,所述预设距离是所述蓝牙节点预测的所述蓝牙节点与所述终端之间的距离,并用于指示所述终端将所述预测距离作为所述蓝牙节点与所述终端之间的实际距离。

另一方面,本发明实施例还提供一种电子设备,包括第二存储器、第二处理器、第二总线以及存储在第二存储器上并可在第二处理器上运行的计算机程序,所述第二处理器执行所述计算机程序时实现以上的步骤。

另一方面,本发明实施例还提供一种存储介质,其上存储有计算机程序,所述程序被第二处理器执行时实现如上的步骤。

由上述技术方案可知,本发明实施例提供的定位方法、终端、蓝牙节点、电子设备和存储介质,所述方法通过蓝牙节点发送携带预设距离的数据帧,使得终端直接获取蓝牙节点与终端的预设距离,无需终端执行信号强度的计算得到实际距离的步骤,且终端将预设距离和蓝牙节点的标识发送至云端服务器,使云端服务器进行定位,从而减轻终端的运行负荷。

附图说明

图1为现有技术中蓝牙定位的示意图;

图2为本发明实施例提供的一种定位方法的流程示意图;

图3为本发明又一实施例提供的蓝牙节点广播的自定义的数据帧格式的示意图;

图4为本发明又一实施例提供的一种定位方法的流程示意图;

图5为本发明又一实施例提供的一种终端的结构示意图;

图6为本发明又一实施例提供的一种电子设备的结构示意图;

图7为本发明又一实施例提供的一种蓝牙节点的结构示意图;

图8为本发明又一实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明实施例一部分实施例,而不是全部的实施例。

图2示出了本发明实施例提供的一种定位方法的流程示意图。

如图2所示,本发明实施例提供的方法具体包括以下步骤:

步骤11、终端接收蓝牙节点向空间广播的数据帧,所述数据帧包括所述蓝牙节点的标识和预设距离,所述预设距离是所述蓝牙节点预测的所述蓝牙节点与所述终端之间的距离,并用于指示终端将所述预测距离作为所述蓝牙节点与所述终端之间的实际距离;

可选地,终端采用android4.0版本及以上,安装有蓝牙4.0应用,并支持ble协议。ble协议可以实现无连接式的扫描,使终端能够接收空间中的ble广播。

本发明实施例中蓝牙节点持续向空间广播数据帧。该数据帧采用本发明实施例自定义的帧格式,并遵循ble帧格式。

可选地,预先在所述数据帧的有效载荷数据位的空位设置所述蓝牙节点的标识和所述预设距离。

可选地,终端的蓝牙开启后,终端通过广播信道进行扫描,可根据扫描到的蓝牙节点的标识,来确定该蓝牙节点的类型。

可选地,蓝牙节点的类型可分为传输和定位。传输为两个支持蓝牙的设备进行适配,以传输文件、音乐等,需要终端主动进行配对操作,定位为终端被动地实现定位。

可选地,不同类型的蓝牙节点分别采用特定的命名方式,使得所述蓝牙节点的标识既可唯一识别所述蓝牙节点,同时可表示所述蓝牙节点的类型。

可选地,蓝牙节点的标识为uuid(universallyuniqueidentifier,通用唯一标识符)。

可选地,终端对所述数据帧进行解析,确定所述蓝牙节点的类型为定位的数据帧后,将所述数据帧暂存在本地列表。

可选地,终端对所述数据帧进行解析得到所述预设距离,所述预设距离是所述蓝牙节点预测得到的距离,表示所述终端当前与所述蓝牙节点之间的距离小于等于所述预设距离。

在本发明实施例中,蓝牙节点可预先设置无线信号的覆盖范围,覆盖范围可视为以蓝牙节点为圆心,以所述预设距离为半径的区域,对于终端来说,在打开蓝牙情况下,进入该覆盖范围的时候能被蓝牙节点感知到,也就是说,终端能够接收到该蓝牙节点的数据帧,表示终端在距离该蓝牙节点的预设距离之内。

可选地,所述预设距离可通过现有技术的测试方式得到,寻找一个预设距离,可较为准确的表示实际距离。

可选地,室内分别在多处设置蓝牙节点,每个蓝牙节点所处的空间不同,周围障碍物不同,测试得到的预设距离可相同,也可不同。

例如,预设距离为5米,表示终端在距离蓝牙节点5米以内时,终端直接将5米作为距离蓝牙节点的实际距离,不再进行实际距离的测算。

可以理解的是,预设距离可根据测试结果进行调整。在某种环境下,测试的蓝牙节点与测试终端的距离为1米时,测试的距离与实际的距离基本一致,而终端在蓝牙节点1米外,距离增大后误差变大,则预设距离为1米。

步骤12、终端向云端服务器发送定位请求,所述定位请求包括所述蓝牙节点的标识和所述预设距离,以使所述云端服务器根据所述蓝牙节点的标识和所述预设距离,确定所述终端的位置信息,并返回至所述终端。

可选地,终端根据预设距离,向云端服务器发送定位请求,由云端服务器对终端进行定位。

可选地,云端服务器是可与终端进行交互,并具有云计算功能的服务器。

可选地,云端服务器端部署在虚拟化平台docker上,暴露出restfulapi(applicationprogramminginterface,应用程序编程接口)为终端提供服务,终端的蓝牙应用将扫描到的多个蓝牙节点的标识和预设距离,通过http(hypertexttransferprotocol,超文本传输协议)协议,上传至云端的服务器中。

可选地,云端服务器接收终端的定位请求,并判断所述终端是否具有权限使用定位业务。

可选地,云端服务器预先存储有数据表,数据表包括蓝牙节点的标识以及蓝牙节点对应的位置,云端服务器根据蓝牙节点的标识,可查找得到蓝牙节点的位置。

可选地,终端在短时间内扫描到多个蓝牙节点,获得多个蓝牙节点的数据帧,对应得到每一蓝牙节点的标识和预设距离。

可选地,终端将得到的多个蓝牙节点的标识和预设距离发送至云端服务器,如图1所示,云端服务器可采用现有技术的三角定位法。根据三个蓝牙节点的位置,以及三个预设距离,可实现终端定位。

可选地,云端服务器端将所述预设距离作为终端测算的实际距离,通过三角定位法,生成终端此时的位置信息,将当前终端的位置信息存储至数据库,并将位置信息返还至终端。

可选地,终端接收所述云端服务器发送的所述位置信息,实现室内定位。

本实施例提供的定位方法,通过蓝牙节点发送携带预设距离的数据帧,使得终端直接获取蓝牙节点与终端的预设距离,无需终端执行信号强度的计算得到实际距离的步骤,且终端将预设距离和蓝牙节点的标识发送至云端服务器,使云端服务器进行定位,从而减轻终端的运行负荷。

在上述实施例的基础上,本发明又一实施例提供的定位方法,所述步骤12之后,本发明实施例还可提供导航服务。

步骤13、所述终端接收所述位置信息,向所述云端服务器发送导航请求,所述导航请求包括目的地,以供所述云端服务器根据所述目的地,确定所述终端自所述位置信息至所述目的地的导航路径。

可选地,云端服务器生成终端的位置信息时,将当前终端的位置信息存储至数据库,并返回至终端。

可选地,云端服务器接收到终端发送的所述导航请求时,云端服务器查询数据库获取当前终端的位置信息。

可选地,云端服务器根据终端的位置信息,确定终端所在的楼层,以及室内路径拐点的拓扑图。

可选地,云端服务器在以用户当前位置为起点,目标位置为终点,利用带权重的dijkstra算法选出一条最近的导航路径,返回给终端。

可以理解的是,终端收到导航路径后,仍可能偏离路径,需实时扫描广播信道的蓝牙节点,重复执行步骤11至13,以使云端服务器重新规划路径。

本发明实施例的其他步骤与上述实施例的步骤相似,本发明实施例不再赘述。

本实施例提供的定位方法,通过终端向云端服务器发送导航请求,使云端服务器进行路径规划,使得终端按照路径进行导航以到达目的地。

在上述实施例的基础上,本发明又一实施例提供的定位方法,所述步骤11之前,本发明实施例确定所述预设距离的方式有多种,本发明实施例以其中一种方式为例进行说明。

所述预设距离可通过以下的测试步骤a1-a6得到:

步骤a1、确定所述蓝牙节点与测试终端的距离;

可选地,将蓝牙节点置于待安装的室内环境中,并配合测试终端进行预设距离的测试。

步骤a2、测试所述蓝牙节点广播的数据帧的发射信号强度,以及所述测试终端的接收信号强度;

步骤a3、根据所述发射信号强度和所述接收信号强度,得到所述蓝牙节点与测试终端的距离的测量值;

可选地,蓝牙广播的数据帧包含发射信号强度,终端收到该数据帧,测量得到接收该数据帧的接收信号强度,由发射信号强度减去接收信号强度得到传播损耗,基于损耗与距离的对应关系,可测算出终端距离该蓝牙节点的距离。

步骤a4、将所述距离与所述测量值进行比较,得到所述距离对应的误差;

例如,实际的距离为2m,测量值为2.4m,则对应的误差为0.4m。

步骤a5、以预设的步长,调整所述距离,分别确定距离对应的误差;

可选地,分别移动测试终端,使测试终端与蓝牙节点的距离产生变化,并对不同的距离重复执行步骤a2-a4。

步骤a6、将误差最小时对应的距离,作为所述预设距离。

可选地,误差小,表示实际的距离与测量的距离基本一致,则蓝牙预测的预设距离准确,所述预设距离可以用来表示蓝牙节点与测试终端的实际距离。

可以理解的是,预设距离的选取对终端定位的准确性有直接影响。经过测试表明,当距离约为1米时,测量的距离与实际的距离基本一致,测试终端在蓝牙节点1米外,距离增大后误差变大。

图3为本发明又一实施例提供的蓝牙节点广播的自定义的数据帧格式的示意图。

如图3所示,在另一种实施方式中,所述数据帧包括所述蓝牙节点的标识和rssi(receivedsignalstrengthindication,信号强度指示)的参照值。

可选地,数据帧携带的measurepower字段是蓝牙节点与终端之间距离为1米时信号强度的参照值。

可选地,终端位于蓝牙节点1米处可接收所述数据帧,根据rssi,测量接收的信号强度,根据以下计算公式,确定蓝牙节点与终端的实际距离d:

d=10^((abs(rssi)-a)/(10xn))

其中:abs为求绝对值,rssi为负值,a为终端测量的相隔1米时的信号强度,n为环境衰减因子。

得到与蓝牙节点的距离后,并将距离和蓝牙节点的标识发送至云端服务器。

可选地,通过rssi计算得到蓝牙节点与终端的实际距离,可更准确的得到距离。

可选地,蓝牙使用的2.4gism频段本身易受干扰,加之多径传播的影响,使得接收到的rssi抖动比较大。为了解决这个问题,在时间上对接收到的rssi进行平滑处理。

可选地,采用了卡尔曼滤波算法对rssi进行处理,根据处理后的rssi计算得到距离。

本发明实施例的其他步骤与上述实施例的步骤相似,本发明实施例不再赘述。

本实施例提供的定位方法,通过对蓝牙节点进行测试,以得到合理的预设距离,为终端的准确定位提供数据支持。

图4示出了本发明实施例提供的一种定位方法的流程示意图。

如图4所示,本发明实施例提供的方法具体包括以下步骤:

步骤21、蓝牙节点向空间广播数据帧,以供终端接收并根据所述数据帧,确定所述终端的位置信息,所述数据帧包括所述蓝牙节点的标识和预设距离,所述预设距离是所述蓝牙节点预测的所述蓝牙节点与所述终端之间的距离,并用于指示所述终端将所述预测距离作为所述蓝牙节点与所述终端之间的实际距离。

本发明实施例蓝牙节点是在室内设置的蓝牙发送模块,采用搭载(texasinstruments,德州仪器)公司cc2540核心的蓝牙发送模块,内置有tible协议栈,物理层工作在2.4ghz的ism(industrialscientificmedical)频段中跳频识别,ll(linklayers,连接层)控制设备的状态。

其中,蓝牙节点4.0版本可以有五种状态:就绪(standby),广播(advertising),搜索(scanning),初始化(initiating)和连接(connected)。

本发明实施例中蓝牙节点工作在非连接的广播状态,用于持续向空间广播数据帧。该数据帧采用本发明实施例自定义的帧格式,并遵循ble帧格式。

可选地,预先在所述数据帧的有效载荷数据位的空位设置所述蓝牙节点的标识和所述预设距离。

可选地,所述蓝牙节点的标识是用于唯一识别蓝牙节点的识别码,并可使用特定的命名方式,表示蓝牙节点的类型为定位。

可选地,蓝牙节点的标识为uuid。

可选地,终端接收所述蓝牙节点的类型为定位的数据帧后,可被动地实现定位。

在本发明实施例中,蓝牙节点可预先设置无线信号的覆盖范围,覆盖范围可视为以蓝牙节点为圆心,以所述预设距离为半径的区域,对于终端来说,在打开蓝牙情况下,进入该覆盖范围的时候能被蓝牙节点感知到,也就是说,终端能够接收到该蓝牙节点的数据帧,表示终端在距离该蓝牙节点的预设距离之内。

可选地,所述预设距离可通过现有技术的测试方式得到,寻找一个预设距离,可较为准确的表示实际距离。

可选地,室内分别在多处设置蓝牙节点,每个蓝牙节点所处的空间不同,周围障碍物不同,测试得到的预设距离可相同,也可不同。

例如,预设距离为5米,表示终端在距离蓝牙节点5米以内时,测试的距离与实际的距离基本一致,终端直接将5米作为距离蓝牙节点的实际距离,不再进行实际距离的测算。

可以理解的是,预设距离可根据测试结果进行调整。在某种环境下,测试的蓝牙节点与测试终端的距离为1米时,测试的距离与实际的距离基本一致,而终端在蓝牙节点1米外,距离增大后误差变大,则预设距离为1米。

可选地,终端的蓝牙开启后,终端通过广播信道进行扫描,若判断获知数据帧包括的蓝牙节点的类型为定位,则将所述数据帧暂存在本地列表。

可选地,终端解析数据帧得到预设距离,根据预设距离和蓝牙节点的标识,可实现定位。

可选地,所述终端可在本地实现定位,或者终端向云端服务器发送定位请求,所述定位请求包括蓝牙节点的标识和预设距离,以使云端服务器根据蓝牙节点的标识和预设距离,对终端进行定位。

可选地,云端服务器是可与终端进行交互,并具有云计算功能的服务器。

可选地,云端服务器端部署在虚拟化平台docker上,暴露出restfulapi(applicationprogramminginterface,应用程序编程接口)为终端提供服务,终端的蓝牙应用将扫描到的多个蓝牙节点的标识和预设距离,通过http(hypertexttransferprotocol,超文本传输协议)协议,上传至云端的服务器中。

可选地,云端服务器接收终端的定位请求,并判断所述终端是否具有权限使用定位业务。

可选地,云端服务器预先存储有数据表,数据表包括蓝牙节点的标识,以及蓝牙节点对应的位置,云端服务器根据蓝牙节点的标识,可查找得到蓝牙节点的位置。

可选地,终端在短时间内扫描到多个蓝牙节点,获得多个蓝牙节点的数据帧,对应得到每一蓝牙节点的标识和预设距离。

可选地,终端将得到的多个蓝牙节点的标识和预设距离发送至云端服务器,如图1所示,云端服务器可采用现有技术的三角定位法。根据三个蓝牙节点的位置,以及三个预设距离,可实现终端定位。

可选地,云端服务器端通过三角定位法,生成终端此时的位置信息,将当前终端的位置信息存储至数据库,并将位置信息返还至终端。

终端接收所述云端服务器发送的所述位置信息,实现室内定位。

本实施例提供的定位方法,通过蓝牙节点直接发送与终端的预设距离,无需终端消耗内存进行定位计算得到实际距离,可减轻终端定位计算造成的运行负荷。

在上述实施例的基础上,本发明又一实施例提供的定位方法,所述步骤21之前,本发明实施例还需确定所述预设距离。

可选地,所述预设距离可通过以下测试步骤a1-a6得到:

步骤a1、确定所述蓝牙节点与测试终端的距离;

可选地,将蓝牙节点置于待安装的室内环境中,并配合测试终端进行预设距离的测试。

步骤a2、测试所述蓝牙节点广播数据帧的发射信号强度,以及所述测试终端的接收信号强度;

步骤a3、根据所述发射信号强度和所述接收信号强度,得到测量值,所述测量值为测量得到的距离;

可选地,蓝牙广播的数据帧包含发射信号强度,终端收到该数据帧,测量得到接收该数据帧的接收信号强度,由发射信号强度减去接收信号强度得到传播损耗,基于损耗与距离的对应关系,可测算出终端距离该蓝牙节点的距离。

步骤a4、将所述距离与所述测量值进行比较,得到所述距离对应的误差;

例如,实际的距离为2m,测量值为2.4m,则对应的误差为0.4m。

步骤a5、以预设的步长,调整所述距离,分别确定距离对应的误差;

可选地,分别移动测试终端,使测试终端与蓝牙节点的距离产生变化,并对不同的距离重复执行步骤a2-a4。

步骤a6、将误差最小时对应的距离,作为所述预设距离。

可选地,误差小,表示实际的距离与测量的距离基本一致,则蓝牙预测的预设距离准确,所述预设距离可以用来表示蓝牙节点与测试终端的实际距离。

可以理解的是,预设距离的选取对终端定位的准确性有直接影响。经过测试表明,当距离约为1米时,测量的距离与实际的距离基本一致,测试终端在蓝牙节点1米外,距离增大后误差变大。

本发明实施例的其他步骤与上述实施例的步骤相似,本发明实施例不再赘述。

本实施例提供的定位方法,通过对蓝牙节点进行测试,以得到合理的预设距离,为终端的准确定位提供数据支持。

图5示出了本发明又一实施例提供的一种终端的结构示意图。

参照图5,在上述实施例的基础上,本实施例提供的终端,所述终端包括接收模块51和发送模块52,其中:

接收模块51用于接收蓝牙节点向空间广播的数据帧,所述数据帧包括所述蓝牙节点的标识和预设距离,所述预设距离是所述蓝牙节点预测的所述蓝牙节点与所述终端之间的距离,并用于指示终端将所述预测距离作为所述蓝牙节点与所述终端之间的实际距离;发送模块52用于向云端服务器发送定位请求,所述定位请求包括所述蓝牙节点的标识和所述预设距离,以使所述云端服务器根据所述蓝牙节点的标识和所述预设距离,确定所述终端的位置信息,并返回至所述终端。

本发明实施例中蓝牙节点持续向空间广播数据帧。该数据帧采用本发明实施例自定义的帧格式,并遵循ble帧格式。

可选地,预先在所述数据帧的有效载荷数据位的空位设置所述蓝牙节点的标识和所述预设距离。

可选地,接收模块51的蓝牙开启后,通过广播信道进行扫描,可根据扫描到的蓝牙节点的标识,来确定该蓝牙节点的类型。

可选地,蓝牙节点的类型可分为传输和定位。传输为两个支持蓝牙的设备进行适配传输文件、音乐等,需要终端主动进行配对操作,定位为终端被动地实现定位。

可选地,不同类型的蓝牙节点分别采用特定的命名方式,使得所述蓝牙节点的标识既可唯一识别所述蓝牙节点,同时可表示所述蓝牙节点的类型。

可选地,蓝牙节点的标识为uuid(universallyuniqueidentifier,通用唯一标识符)。

可选地,接收模块51接收所述蓝牙节点的类型为定位的数据帧后,将所述数据帧暂存在本地列表。

可选地,接收模块51对所述数据帧进行解析,得到所述预设距离,所述预设距离是所述蓝牙节点预测得到的距离,表示所述终端当前与所述蓝牙节点之间的距离小于等于所述预设距离。

在本发明实施例中,蓝牙节点可预先设置无线信号的覆盖范围,覆盖范围可视为以蓝牙节点为圆心,以所述预设距离为半径的区域,对于终端来说,在打开蓝牙情况下,进入该覆盖范围的时候能被蓝牙节点感知到,也就是说,终端能够接收到该蓝牙节点的数据帧,表示终端在距离该蓝牙节点的预设距离之内。

可选地,所述预设距离可通过现有技术的测试方式得到,寻找一个预设距离,可较为准确的表示实际距离。

可选地,室内分别在多处设置蓝牙节点,每个蓝牙节点所处的空间不同,周围障碍物不同,测试得到的预设距离可相同,也可不同。

例如,蓝牙节点的预设距离为5米或10米,可根据测试结果进行调整。在某种环境下,当蓝牙节点与终端距离为1米时,预设距离与实际的距离基本一致,终端在蓝牙节点1米外,距离增大后误差变大。

可选地,发送模块52根据预设距离,向云端服务器发送定位请求,以使云端服务器根据蓝牙节点的标识和预设距离,对终端进行定位。

可选地,云端服务器是可与终端进行交互,并具有云计算功能的服务器。

可选地,云端服务器端部署在虚拟化平台docker上,暴露出restfulapi(applicationprogramminginterface,应用程序编程接口)为终端提供服务,终端的蓝牙应用将扫描到的多个蓝牙节点的标识和预设距离,通过http(hypertexttransferprotocol,超文本传输协议)协议,上传至云端的服务器中。

可选地,云端服务器接收发送模块52的定位请求,并判断所述终端是否具有权限使用定位业务。

可选地,云端服务器预先存储有数据表,数据表包括蓝牙节点的标识,以及蓝牙节点对应的位置,云端服务器根据蓝牙节点的标识,可查找得到蓝牙节点的位置。

可选地,终端在短时间内扫描到多个蓝牙节点,获得多个蓝牙节点的数据帧,对应得到每一蓝牙节点的标识和预设距离。

可选地,发送模块52将得到的多个蓝牙节点的标识和预设距离发送至云端服务器,如图1所示,云端服务器可采用现有技术的三角定位法。根据三个蓝牙节点的位置,以及三个预设距离,可实现终端定位。

可选地,云端服务器端将所述预设距离作为终端测算的实际距离,通过三角定位法,生成终端此时的位置信息,将当前终端的位置信息存储至数据库,并将位置信息返还至终端。

可选地,终端接收所述云端服务器发送的所述位置信息,实现室内定位。

本实施例提供的终端,可用于执行上述方法实施例的方法,本实施不再赘述。

本实施例提供的终端,通过接收模块直接获取蓝牙节点与终端的预设距离,无需终端执行信号强度的计算得到实际距离的步骤,且发送模块将预设距离和蓝牙节点的标识发送至云端服务器,使云端服务器进行定位,从而减轻终端的运行负荷。

图6示出了本发明又一实施例提供的一种电子设备的结构示意图。

参阅图6,本发明实施例提供的电子设备,所述电子设备包括第一存储器61、第一处理器62、总线63以及存储在第一存储器61上并可在第一处理器62上运行的计算机程序,所述第一处理器62执行所述计算机程序时实现以下的方法的步骤。其中,所述存储器61、处理器62通过所述总线63完成相互间的通信。

所述第一处理器62用于调用所述第一存储器61中的程序指令,以执行所述程序时实现如图2的方法。

在另一种实施方式中,所述处理器执行所述程序时实现如下方法:

所述终端接收所述位置信息,向所述云端服务器发送导航请求,所述导航请求包括目的地,以供所述云端服务器根据所述目的地,确定所述终端自所述位置信息至所述目的地的导航路径。

本实施例提供的电子设备,可用于执行上述方法实施例的方法对应的程序,本实施不再赘述。

本实施例提供的电子设备,执行上述方法实现蓝牙节点发送携带预设距离的数据帧,使得终端直接获取蓝牙节点与终端的预设距离,无需终端执行信号强度的计算得到实际距离的步骤,且终端将预设距离和蓝牙节点的标识发送至云端服务器,使云端服务器进行定位,从而减轻终端的运行负荷。

本发明又一实施例提供的一种第一存储介质,所述第一存储介质上存储有计算机程序,所述计算机程序被第一处理器执行时实现如图2的步骤。

在另一种实施方式中,所述程序被第一处理器执行时实现如下方法:

所述终端接收所述位置信息,向所述云端服务器发送导航请求,所述导航请求包括目的地,以供所述云端服务器根据所述目的地,确定所述终端自所述位置信息至所述目的地的导航路径。

本实施例提供的存储介质,所述程序被处理器执行时实现上述方法实施例的方法,本实施不再赘述。

本实施例提供的存储介质,执行上述方法实现蓝牙节点发送携带预设距离的数据帧,使得终端直接获取蓝牙节点与终端的预设距离,无需终端执行信号强度的计算得到实际距离的步骤,且终端将预设距离和蓝牙节点的标识发送至云端服务器,使云端服务器进行定位,从而减轻终端的运行负荷。

本发明又一实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:

终端接收蓝牙节点向空间广播的数据帧,所述数据帧包括所述蓝牙节点的标识和预设距离,所述预设距离是所述蓝牙节点预测的所述蓝牙节点与所述终端之间的距离,并用于指示终端将所述预测距离作为所述蓝牙节点与所述终端之间的实际距离;

终端向云端服务器发送定位请求,所述定位请求包括所述蓝牙节点的标识和所述预设距离,以使所述云端服务器根据所述蓝牙节点的标识和所述预设距离,确定所述终端的位置信息,并返回至所述终端。

图7示出了本发明又一实施例提供的一种蓝牙节点的结构示意图。

参照图7,在上述实施例的基础上,本实施例提供的蓝牙节点,所述蓝牙节点包括广播模块71,其中:

广播模块71用于向空间广播数据帧,以供终端接收并根据所述数据帧,确定所述终端的位置信息,所述数据帧包括所述蓝牙节点的标识和预设距离,所述预设距离是所述蓝牙节点预测的所述蓝牙节点与所述终端之间的距离,并用于指示所述终端将所述预测距离作为所述蓝牙节点与所述终端之间的实际距离。

本发明实施例蓝牙节点是在室内设置的蓝牙发送模块,采用搭载(texasinstruments,德州仪器)公司cc2540核心的蓝牙发送模块,内置有tible协议栈,物理层工作在2.4ghz的ism(industrialscientificmedical)频段中跳频识别,ll(linklayers,连接层)控制设备的状态。

其中,蓝牙节点4.0版本可以有五种状态:就绪(standby),广播(advertising),搜索(scanning),初始化(initiating)和连接(connected)。

本发明实施例中蓝牙节点工作在非连接的广播状态,广播模块71用于持续向空间广播数据帧。该数据帧采用本发明实施例自定义的帧格式,并遵循ble帧格式。

可选地,预先在所述数据帧的有效载荷数据位的空位设置所述蓝牙节点的标识和所述预设距离。

可选地,所述蓝牙节点的标识是用于唯一识别蓝牙节点的识别码,并可使用特定的命名方式,表示蓝牙节点的类型为定位。

可选地,蓝牙节点的标识为uuid。

可选地,终端接收所述蓝牙节点的类型为定位的数据帧后,可被动地实现定位。

在本发明实施例中,蓝牙节点可预先设置无线信号的覆盖范围,覆盖范围可视为以蓝牙节点为圆心,以所述预设距离为半径的区域,对于终端来说,在打开蓝牙情况下,进入该覆盖范围的时候能被蓝牙节点感知到,也就是说,终端能够接收到该蓝牙节点的数据帧,表示终端在距离该蓝牙节点的预设距离之内。

可选地,所述预设距离可通过现有技术的测试方式得到,寻找一个预设距离,可较为准确的表示实际距离。

可选地,室内分别在多处设置蓝牙节点,每个蓝牙节点所处的空间不同,周围障碍物不同,测试得到的预设距离可相同,也可不同。

例如,蓝牙节点的预设距离为5米或10米,可根据测试结果进行调整。在某种环境下,当蓝牙节点与终端距离为1米时,预设距离与实际的距离基本一致,终端在蓝牙节点1米外,距离增大后误差变大。

可选地,终端的蓝牙开启后,终端通过广播信道进行扫描,若判断获知数据帧包括的蓝牙节点的类型为定位,则将所述数据帧暂存在本地列表。

可选地,终端解析数据帧得到预设距离,根据预设距离和蓝牙节点的标识,可实现定位。

可选地,所述终端向云端服务器发送定位请求,所述定位请求包括蓝牙节点的标识和预设距离,以使云端服务器根据蓝牙节点的标识和预设距离,对终端进行定位。

可选地,云端服务器是可与终端进行交互,并具有云计算功能的服务器。

可选地,云端服务器端部署在虚拟化平台docker上,暴露出restfulapi(applicationprogramminginterface,应用程序编程接口)为终端提供服务,终端的蓝牙应用将扫描到的多个蓝牙节点的标识和预设距离,通过http(hypertexttransferprotocol,超文本传输协议)协议,上传至云端的服务器中。

可选地,云端服务器接收终端的定位请求,并判断所述终端是否具有权限使用定位业务。

可选地,云端服务器预先存储有数据表,数据表包括蓝牙节点的标识,以及蓝牙节点对应的位置,云端服务器根据蓝牙节点的标识,可查找得到蓝牙节点的位置。

可选地,终端在短时间内扫描到多个蓝牙节点,获得多个蓝牙节点的数据帧,对应得到每一蓝牙节点的标识和预设距离。

可选地,终端将得到的多个蓝牙节点的标识和预设距离发送至云端服务器,如图1所示,云端服务器可采用现有技术的三角定位法。根据三个蓝牙节点的位置,以及三个预设距离,可实现终端定位。

可选地,云端服务器端通过三角定位法,生成终端此时的位置信息,将当前终端的位置信息存储至数据库,并将位置信息返还至终端。

终端接收所述云端服务器发送的所述位置信息,实现室内定位。

本实施例提供的蓝牙节点,可用于执行上述方法实施例的方法,本实施不再赘述。

本实施例提供的蓝牙节点,通过蓝牙节点直接发送与终端的预设距离,无需终端消耗内存进行定位计算得到实际距离,可减轻终端定位计算造成的运行负荷。

图8示出了本发明又一实施例提供的一种电子设备的结构示意图。

参阅图8,本发明实施例提供的电子设备,所述电子设备包括第二存储器81、第二处理器82、总线83以及存储在第二存储器81上并可在第二处理器82上运行的计算机程序,所述第二处理器82执行所述计算机程序时实现以下的方法的步骤。其中,所述第二存储器81、第二处理器82通过总线83完成相互间的通信。

所述第二处理器82用于调用所述第二存储器81中的程序指令,以执行所述程序时实现如图4的方法。

在另一种实施方式中,所述处理器执行所述程序时实现如下方法:

所述蓝牙节点向空间广播数据帧的步骤之前,所述方法还包括:

确定所述蓝牙节点与测试终端的距离;

测试所述蓝牙节点的广播的数据帧的发射信号强度,以及所述测试终端的接收信号强度;

根据所述发射信号强度和所述接收信号强度,得到所述蓝牙节点与测试终端的距离的测量值;

将所述距离与所述测量值进行比较,得到所述距离对应的误差;

以预设的步长,调整所述距离,分别确定距离对应的误差;

将误差最小时对应的距离,作为所述预设距离。

本实施例提供的电子设备,可用于执行上述方法实施例的方法对应的程序,本实施不再赘述。

本实施例提供的电子设备,执行上述方法实现蓝牙节点直接发送与终端的预设距离,无需终端消耗内存进行定位计算得到实际距离,可减轻终端定位计算造成的运行负荷。

本发明又一实施例提供的一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被第二处理器执行时实现如图4的步骤。

在另一种实施方式中,所述程序被第二处理器执行时实现如下方法:

所述蓝牙节点向空间广播数据帧的步骤之前,所述方法还包括:

确定所述蓝牙节点与测试终端的距离;

测试所述蓝牙节点的广播的数据帧的发射信号强度,以及所述测试终端的接收信号强度;

根据所述发射信号强度和所述接收信号强度,得到所述蓝牙节点与测试终端的距离的测量值;

将所述距离与所述测量值进行比较,得到所述距离对应的误差;

以预设的步长,调整所述距离,分别确定距离对应的误差;

将误差最小时对应的距离,作为所述预设距离。

本实施例提供的存储介质,所述程序被第二处理器执行时实现上述方法实施例的方法,本实施不再赘述。

本实施例提供的存储介质,执行上述方法实现蓝牙节点直接发送与终端的预设距离,无需终端消耗内存进行定位计算得到实际距离,可减轻终端定位计算造成的运行负荷。

本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。

本领域技术人员可以理解,实施例中的各步骤可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1