室内定位方法和装置、计算机设备和存储介质 |
|||||||
申请号 | CN201710571752.7 | 申请日 | 2017-07-13 | 公开(公告)号 | CN107295480A | 公开(公告)日 | 2017-10-24 |
申请人 | 湖南汇博电子科技股份有限公司; | 发明人 | 徐洪亮; | ||||
摘要 | 本 发明 涉及一种室内 定位 方法和装置、计算机设备和存储介质,该方法包括:向 服务器 发送搜索到的各蓝牙设备的识别标识;接收并展示所述服务器返回的与各所述蓝牙设备的识别标识关联的 建筑物 及楼层信息;获取用户选择的建筑物及楼层信息;获取搜索到的处于用户选择的楼层中的各蓝牙设备的坐标信息;确定与用户选择的建筑物及楼层中各所述蓝牙设备的距离;根据确定的距离、对应的蓝牙设备的坐标信息和所选择的建筑物及楼层信息定位当前 位置 。该方法能够精确到用户所处楼层,定位精确度高。 | ||||||
权利要求 | 1.一种室内定位方法,其特征在于,包括: |
||||||
说明书全文 | 室内定位方法和装置、计算机设备和存储介质技术领域[0001] 本发明涉及定位技术领域,特别是涉及一种室内定位方法和装置、计算机设备和存储介质。 背景技术[0003] 对于室内定位,人们提出了基于各种无线技术的室内定位技术,包括常用的室内无线定位技术主要有Wi-Fi、红外线、超宽带、RFID、ZigBee和超声波等。但室内环复杂多样,现在的无线定位系统大都存在精度不高的问题。 发明内容[0004] 基于此,有必要针对室内定位精确度不高的问题,提供一种室内定位方法和装置、计算机设备和存储介质。 [0005] 一种室内定位方法,包括: [0006] 向服务器发送搜索到的各蓝牙设备的识别标识; [0007] 接收并展示所述服务器返回的与各所述蓝牙设备的识别标识关联的建筑物及楼层信息; [0008] 获取用户选择的建筑物及楼层信息; [0009] 获取搜索到的处于用户选择的建筑物及楼层中的各蓝牙设备的坐标信息; [0010] 确定与用户选择的建筑物及楼层中各所述蓝牙设备的距离; [0011] 根据确定的距离、对应的蓝牙设备的坐标信息和所选择的建筑物及楼层信息定位当前位置。 [0012] 一种室内定位装置,包括:发送模块、接收模块、获取模块、距离确定模块和定位模块; [0013] 所述发送模块,用于向服务器发送搜索到的各蓝牙设备的识别标识; [0014] 所述接收模块,用于接收并展示所述服务器返回的与各所述蓝牙设备的识别标识关联的建筑物及楼层信息; [0015] 所述获取模块,用于获取用户选择的建筑物及楼层信息,还用于获取搜索到的处于用户选择的建筑物及楼层中的各蓝牙设备的坐标信息; [0016] 所述距离确定模块,用于确定与用户选择的建筑物及楼层中各所述蓝牙设备的距离; [0017] 所述定位模块,用于根据确定的距离、对应的蓝牙设备的坐标信息和所选择的建筑物及楼层信息定位当前位置。 [0019] 一种存储介质,其上存储有计算机程序,该程序被处理器执行时,实现上述的室内定位方法的步骤。 [0020] 上述的室内定位方法,通过向服务器发送搜到的蓝牙设备的识别标识,接收服务器根据识别标识返回的坐标信息和建筑物及楼层信息,能够供用户选择实际所处的建筑物及楼层信息,结合与用户选择的楼层中各蓝牙设备的距离,能够精确地得到包括用户所处楼层的位置信息。该方法能够精确到用户所处楼层,定位精确度高。附图说明 [0022] 图2为一个实施例的确定与用户选择的楼层中各所述蓝牙设备的距离的步骤的流程图; [0023] 图3为另一个实施例的室内定位方法的流程图; [0024] 图4为三边测量定位的应用原理图; [0025] 图5为三边测量定位的原理示意图; [0026] 图6为再一个实施例的室内定位方法的流程图; [0027] 图7为一个实施例的定内定位装置的结构框图; [0028] 图8为再一个实施例的室内定位装置的结构框图。 具体实施方式[0029] 图1为一个实施例的室内定位方法的流程图。如图1所示,该方法包括以下步骤: [0030] S102:向服务器发送搜索到的各蓝牙设备的识别标识。 [0031] 本实施例中的室内定位方法运行于室内人员的移动终端设备上。移动终端设备可以为智能手机、智能可穿戴设备和平板电脑等。蓝牙设备的识别标识是蓝牙设备的通用唯一识别码(UUID,Universally Unique Identifier),确保同一时空中所有的蓝牙设备的识别标识都是唯一的。本实施例中的蓝牙设备可以安装在室内的消防器件中,例如消防通道的消防指示灯中。采用本发明的室内定位方法,结合消防通道的消防指示灯,可用于消防疏散。本实施例中的服务器可以为消防疏散服务器。 [0032] 具体地,本实施例的室内定位方法可用于一种消防疏散程序中,该程序提供消防疏散指示功能,该程序运行在移动终端。当用户身处火灾现场时,打开移动终端的消防疏散程序,通过该程序打开移动终端的蓝牙开关,搜索其所处范围内的蓝牙设备。本实施例的室内定位方法还可以用于其它应用程序中,例如导航程序,当在移动终端打开对应的应用程序时,通过该程序打开移动终端的蓝牙开关,搜索其所处范围内的蓝牙设备。 [0033] S104:接收并展示服务器返回的与各蓝牙设备的识别标识关联的建筑物及楼层信息。 [0034] 本实施例中的建筑物及楼层信息包括建筑物信息和楼层信息。服务器是预先保存了蓝牙设备信息列表,列表中包括各蓝牙设备的识别标识,以及各识别标识对应的蓝牙设备名称、所处建筑物和所处楼层和坐标信息等。当接收到用户的移动终端上传的其搜索到的蓝牙设备的识别标识时,根据识别标识查询到所处建筑物、所处楼层和坐标信息,并反馈至用户的移动终端。一个实施例的蓝牙设备信息列表如表1所示。 [0035] 表1蓝牙设备信息列表 [0036]蓝牙设备 识别标识 所处建筑物 所处楼层 坐标信息 蓝牙设备1 E2C56 A商场 1楼 (X1,Y1) 蓝牙设备2 E2C57 A商场 2楼 (X2,Y2) 蓝牙设备3 E2C58 B商场 3楼 (X3,Y3) [0037] 应当理解的是,本实施例中的坐标信息为同一楼层空间的相对坐标。在安置蓝牙设备时,对于同一个楼层的所有蓝牙设备建立一个空间坐标系,根据各蓝牙设备的安装位置分别获取其坐标信息,并保存在服务器中。 [0038] 具体地,在用户的移动终端设备上搜索到的蓝牙设备对应的建筑物及楼层信息,即蓝牙设备所处的建筑物和所处的楼层。通过在移动终端设备上展示建筑物信息及楼层信息,用户可结合当前所处的位置选择对应的建筑物及楼层信息。 [0039] S106:获取用户选择的建筑物及楼层信息。 [0040] 一个实施例的服务器根据识别标识返回的与各蓝牙设备关联的建筑物及楼层信息如表2所示。 [0041] 表2服务器返回的建筑物及楼层信息 [0042] [0043] 通过交互操作,在移动设备的操作界面选择建筑物及楼层信息。在其它的实施方式中,移动设备还可以将用户选择的建筑物及楼层信息发送至消防疏散服务器。 [0044] S108:获取搜索到的处于用户选择的建筑物及楼层中的各蓝牙设备的坐标信息。 [0045] 具体地,蓝牙设备的坐标信息可存储于服务器中蓝牙设备信息列表,当移动终端上传其搜索到的蓝牙设备的识别标识时,服务器返回建筑物及楼层信息的同时,还返回处于用户选择的建筑物及楼层中的蓝牙设备的坐标信息。在其它的实施例中,也可以由蓝牙设备存储其坐标信息,当与蓝牙设备通信时,通过蓝牙设备获取处于用户选择的建筑物及楼层中的蓝牙设备的坐标信息。 [0046] S110:确定与用户选择的建筑物及楼层中各蓝牙设备的距离。 [0047] 具体地,利用蓝牙信标(Bluetooth Beacon)技术,根据RSSI(信号强度)、发射功率和广播功率,估算移动终端设备到蓝牙设备的距离。应当注意的是,由于本实施例的蓝牙设备的坐标信息为相对坐标,故本实施例中的距离的确定是确定移动终端设备与用户选择的建筑物及楼层中各蓝牙设备的距离。 [0048] 在一个实施例中,如图2所示,步骤S110具体包括步骤S1101和步骤S1102: [0049] S1101:根据搜索范围内各蓝牙设备的信号强度,选择用户选择的建筑物及楼层中预设数量的蓝牙设备。 [0050] RSSI是指接收的信号强度指示,用来判定与蓝牙设备的链接质量,以及是否增大广播发送强度。RSSI的大小,一般是通过程序读取,或者硬件自带。由于室内环境中,存在立体关系,为便于相对坐标的计算,本实施例中,应当选择用户选择的建筑物及楼层中预设数量的蓝牙设备。 [0051] S1102:计算与选择的各蓝牙设备的距离。 [0052] 具体地,根据信号强度计算与选择的各蓝牙设备的距离。公式为: [0053] d=10^((abs(RSSI)-A)/(10*n)) [0054] 其中,d表示距离,A代表距离一米时的信号强度,RSSI表示蓝牙设备的信号强度值,N表示环境对信号的衰减系数,视具体环境而定。 [0055] S112:根据确定的距离、对应的蓝牙设备的坐标信息和所选择的建筑物及楼层信息定位当前位置。 [0056] 具体地,利用用户选择的建筑物及楼层中的各蓝牙设备的坐标信息,根据移动终端设备与这些蓝牙设备的距离,通过多点信息定位当前位置,当前位置还包括所处的建筑物及楼层信息。 [0057] 在具体地应用中,尤其是消防疏散地应用下,用户的位置是实时变化的。例如,在消防疏散地应用下,系统根据消防情况指导用户从消防通道进行撤离,而在撤离过程中,涉及在不同楼层中的移动。故当根据当前位置检测到用户不在所选择的楼层时,返回向服务器发送搜索到的各蓝牙设备的识别标识的步骤,重新提供用户选择楼层进行定位,以便实时更新用户的当前位置。 [0058] 上述的室内定位方法,通过向服务器发送搜到的蓝牙设备的识别标识,接收服务器根据识别标识返回的坐标信息和建筑物及楼层信息,能够供用户选择实际所处的建筑物及楼层信息,结合与用户选择的楼层中各蓝牙设备的距离,能够精确地得到包括用户所处楼层的位置信息。该方法能够精确到用户所处楼层,定位精确度高。 [0060] S302:向服务器发送搜索到的各蓝牙设备的识别标识。 [0061] 蓝牙设备的识别标识是蓝牙设备的通用唯一识别码(UUID,Universally Unique Identifier),确保同一时空中所有的蓝牙设备的识别标识都是唯一的。采用本发明的室内定位方法,结合消防通道的消防指示灯,可用于消防疏散。本实施例中的服务器可以为消防疏散服务器。具体地,当用户使用消防疏散功能时,打开移动终端的蓝牙开关,搜索其所处范围内的蓝牙设备。 [0062] S304:接收并展示服务器返回的与各蓝牙设备的识别标识关联的、建筑物及楼层信息。 [0063] 本实施例中的建筑物及楼层信息包括建筑物信息和楼层信息。服务器是预先保存了蓝牙设备信息列表,列表中包括各蓝牙设备的识别标记、以及各识别标识对应的蓝牙设备名称、所处建筑物和所处楼层和坐标信息等。当接收到用户的移动终端上传的其搜索到的蓝牙设备的识别标识时,根据识别标识查询到所处建筑物、所处楼层和坐标信息。一个实施例的蓝牙设备信息列表如表1所示。 [0064] 具体地,在用户的移动终端设备上搜索到的蓝牙设备对应的建筑物及楼层信息,即蓝牙设备所处的建筑物和所处的楼层。通过在移动终端设备上展示建筑物信息及楼层信息,用户可结合当前所处的位置选择对应的建筑物及楼层信息。 [0065] S306:获取用户选择的建筑物及楼层信息。 [0066] S308:获取搜索的处于用户选择的建筑物及楼层中的各蓝牙设备的坐标信息。 [0067] S310:与搜索到的各蓝牙设备通信,获取各蓝牙设备的信号强度。 [0068] RSSI是指接收的信号强度指示,用来判定与蓝牙设备的链接质量,以及是否增大广播发送强度。RSSI的大小,一般是通过程序读取,或者硬件自带。 [0069] S312:根据各蓝牙设备的信号强度,选择用户选择的楼层中三个信号强度最强的三个蓝牙设备。 [0070] S314:确定与用户选择的建筑物及楼层中各蓝牙设备的距离。 [0071] 具体地,根据信号强度确定与选择的各蓝牙设备的距离。公式为: [0072] d=10^((abs(RSSI)-A)/(10*n)) [0073] 其中,d表示距离,A代表距离一米时的信号强度,RSSI表示蓝牙设备的信号强度值,N表示环境对信号的衰减系数,视具体环境而定。 [0074] S316:基于三边测量定位算法,分别根据三个蓝牙设备的坐标信息和与三个蓝牙设备的距离确定当前位置在对应的建筑物及楼层的坐标。 [0075] 三边测量定位的应用原理图如图4所示。已知三点坐置(x1,y1),(x2,y2),x3,y3),及未知点(x0,y0)到三点距离d1,d2,d3 [0076] 以d1,d2,d3为半径作三个圆,根据毕达哥拉斯定理,得出交点即未知点的位置计算公式: [0077] (x1-x0)2+(y1-y0)2=d12 [0078] (x2-x0)2+(y2-y0)2=d22 [0079] (x3-x0)2+(y3-y0)2=d32 [0080] 如图5所示,设未知点位置为(x,y),令其中的第一个球形P1的球心坐标为(0,0),P2处于相同纵坐标,球心坐标为(d,0),P3球心坐标为(i,j),三个球形半径分别为r1,r2,r3,z为三球形相交点与水平面高度。则有: [0081] r12=x2+y2+z2 (公式一) [0082] r22=(x-d)2+y2+z2 (公式二) [0083] r32=(x-i)2+(y-j)2+z2 (公式三) [0084] 当z=0时,即为三个圆在水平面上相交为一点,首先解出x: [0085] x=(r12-r22+d2)/2d [0086] 将公式二变形,将公式一的z2代入公式二,再代入公式三得到y的计算公式: [0087] y=(r12-r32-x2+(x-i)+j2/2j [0088] 本实施例中,通过三边测量定位方法,计算得到当前位置的坐标。 [0089] 本发明还提供又一个实施例的室内定位方法,该方法还获取用户选择的建筑物及楼层对应的楼层平面图,并在定位当前位置后,在楼层平面图中标注当前位置并显示。如图6示,包括以下步骤: [0090] S602:向服务器发送搜索到的各蓝牙设备的识别标识。 [0091] S604:接收并展示服务器返回的与各蓝牙设备的识别标识关联的建筑物及楼层信息。 [0092] S606:获取用户选择的建筑物及楼层信息。 [0093] S608:获取搜索到的处于用户选择的建筑物及楼层中的各蓝牙设备的坐标信息。 [0094] 上述的方法与前面实施例的对应方法类似,此处不再赘述。 [0095] S610:向服务器发送用户选择的建筑物及楼层信息。 [0096] S612:接收服务器根据用户选择的建筑物及楼层信息返回的楼层平面图。 [0097] 服务器预先存储每栋建筑物的每栋楼的楼层平面图,用户每选择一层就将对应的楼层平面图发送至用户的移动终端设备。 [0098] S614:确定与用户选择的建筑物及楼层中各蓝牙设备的距离。 [0099] S616:根据确定的距离、对应的蓝牙设备的坐标信息和所选择的建筑物及楼层信息定位当前位置。 [0100] S618:在楼层平面图中标注当前位置并展示。 [0101] 上述的室内定位方法,用户的定位实时展示在对应楼层的平面图上。在这一方法的基础上,可以应用在不同的场景中。例如,在消防疏散的场景中,结合用户的当前位置,制定出消防疏散路线并在对应的楼层平面图展示消防疏散路线,帮助用户快速脱离困境。 [0102] 一种室内定位装置,如图7所示,包括:发送模块701、接收模块702、获取模块703、距离确定模块704和定位模块705。 [0103] 发送模块701,用于向服务器发送搜索到的各蓝牙设备的识别标识。 [0104] 接收模块702,用于接收并展示服务器返回的与各蓝牙设备的识别标识关联的坐标信息、建筑物及楼层信息。 [0105] 获取模块703,用于获取用户选择的建筑物及楼层信息,还用于获取搜索到的处于用户选择的建筑物及楼层中的各蓝牙设备的坐标信息。 [0106] 距离确定模块704,用于确定与用户选择的建筑物及楼层中各蓝牙设备的距离。 [0107] 定位模块705,用于根据确定的距离、对应的蓝牙设备的坐标信息和所选择的建筑物及楼层信息定位当前位置。 [0108] 上述的室内定位装置,通过向服务器发送搜到的蓝牙设备的识别标识,接收服务器根据识别标识返回的坐标信息和建筑物及楼层信息,能够供用户选择实际所处的建筑物及楼层信息,结合与用户选择的楼层中各蓝牙设备的距离,能够精确地得到包括用户所处楼层的位置信息。该装置能够精确到用户所处楼层,定位精确度高。 [0109] 在另一个实施例中,如图8所示,距离确定模块704包括选择模块7041和距离计算模块7042。 [0110] 选择模块7041,用于根据搜索范围内各蓝牙设备的信号强度,选择用户选择的建筑物及楼层中预设数量的蓝牙设备。 [0111] 距离计算模块7042,用于计算与选择的各蓝牙设备的距离。 [0112] 在一个具体的实施例中,选择模块7041具体用于与搜索到的各蓝牙设备通信,获取各蓝牙设备的信号强度;根据各蓝牙设备的信号强度,选择用户选择的楼层中三个信号强度最强的三个蓝牙设备。 [0113] 在该实施例中,定位模块705,基于三边测量定位算法,分别根据三个蓝牙设备的坐标信息和与三个蓝牙设备的距离确定当前位置在对应的建筑物及楼层的坐标。 [0114] 在再一个实施例中,如图8所示,室内定位装置还包括展示模块706。 [0115] 发送模块701,还用于向服务器发送用户选择的建筑物及楼层信息; [0116] 接收模块702,还用于接收服务器根据用户选择的建筑物及楼层信息返回的楼层平面图。 [0117] 展示模块706,还用于在楼层平面图中标注当前位置并展示。 [0118] 上述的室内定位装置,用户的定位实时展示在对应楼层的平面图上。在这的基础上,可以应用在不同的场景中。例如,在消防疏散的场景中,结合用户的当前位置,制定了消防疏散路线并在对应的楼层平面图展示消防疏散路线,帮助用户快速脱离困境。 [0119] 基于上述的实施例,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时实实现上述的室内定位方法的步骤。 [0120] 基于上述的实施例,还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现上述的室内定位方法的步骤。 [0121] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。 |