一种基于MQTT的室内定位系统技术方案

技术编号:29263293 阅读:21 留言:0更新日期:2021-07-13 17:38
一种基于MQTT的室内定位系统,包括标签、定位器、MQTT服务器、采样服务器、终端和数据库,数据库中存储着每个帐号的发布和订阅权限,发布和订阅权限包括账号ID,终端仅能发布和订阅包含对应账号ID的消息;标签位于待定位设备上,用于周期性的发射无线信号波;定位器用于发现并识别标签的信号波,获得基于对应标签信号波的采样数据;终端通过向MQTT服务器发布终端请求消息,订阅标签位置数据,得到标签位置信息;MQTT服务器用于消息传输和权限校验,采样服务器用于基于终端请求消息中的标签列表向MQTT服务器订阅对应的采集数据,计算出位置数据,并将位置数据发布到MQTT服务器,并由MQTT服务器将采样服务器发布的位置数据推送给终端,供对应的终端订阅接收。

【技术实现步骤摘要】
一种基于MQTT的室内定位系统
本专利技术涉及定位技术,具体涉及一种基于MQTT的室内定位系统。
技术介绍
MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输)是一种基于发布/订阅模式的轻量级通信协议,可以以极少的代码和有限的带宽,为远程设备提供实时可靠的服务。在物联网、移动互联网、车联网等领域得到广泛的应用。现有的定位技术,数据传输与定位分两套系统展开,即,设备需要有一路无线手段进行正常的通讯,传输和接收数据,如获得自己所在的位置,订阅地图信息;另一路专门进行定位,无论是主动搜寻卫星,还是基站,如蓝牙定位,被蓝牙基站搜索,GPS定位,搜索卫星,计算距离。通讯链路增多,势必会导致管理困难,需要每个设备单独建立通道,单独管理,占用较大通讯资源,给服务端/网络均带来较大并发压力,影响整个定位系统的成本和传输效率。然而由于在MQTT协议里,所有的消息都是广播。广播就意味着,不论定位数据是发给谁的,网内的所有MQTT客户端都可以收到此定位数据。不仅造成网络资源浪费,也缺乏安全。另外定位器启动后就不停的采样,如何更好的利用采样数据,防止资源浪费,也成为待解决的问题。
技术实现思路
鉴于现有技术中存在的技术缺陷和技术弊端,本专利技术实施例提供克服上述问题或者至少部分地解决上述问题的一种基于MQTT的室内定位系统,具体方案如下:一种基于MQTT的室内定位系统,其特征在于,所述系统包括标签、定位器、MQTT服务器、采样服务器、终端和数据库,所述数据库中存储着每个账户的发布和订阅权限,所述发布和订阅权限包括账号ID,所述终端仅能发布和订阅包含对应账号ID的消息;所述标签位于待定位设备上,用于周期性的发射无线信号波;所述定位器用于发现并识别标签的信号波,获得基于对应标签信号波的采样数据,并将采样数据发布到MQTT服务器;所述终端用于向MQTT服务器发布终端请求消息,所述终端请求消息包括订阅标签位置数据,订阅标签位置数据包括对应终端的账号ID和订阅的标签列表;所述MQTT服务器用于接收终端发布的终端请求消息,将终端请求消息推送给采样服务器,并将采样服务器发布的位置数据推送给终端,供对应的终端订阅接收;所述采样服务器用于在收到终端请求消息后,基于订阅的标签列表向MQTT服务器订阅对应标签的采集数据,基于采样数据计算出对应标签的位置数据,并将位置数据发布到MQTT服务器,其中,所述位置数据的消息主题中包括终端的账号ID,由于终端的订阅权限,所以仅对应账号ID的终端能接收到所述位置数据。进一步地,所述终端请求消息还包括取消标签位置数据订阅,取消标签位置数据订阅包括对应终端的账号ID和取消订阅的标签列表,所述采样服务器还用于在收到终端请求消息后,判断终端请求消息类型,若终端请求消息为订阅标签位置数据,则基于订阅的标签列表向MQTT服务器订阅对应标签的采集数据,基于采样数据计算出对应标签的位置数据,并将位置数据发布到MQTT服务器;若终端请求消息为取消标签位置数据订阅,则基于取消订阅的标签列表向MQTT服务器发布取消订阅对应标签的采集数据。进一步地,所述系统还包括帐号服务器,所述帐号服务器用于管理MQTT服务器的MQTT客户端的帐号,所述MQTT服务器还用于对MQTT客户端的帐号进行鉴权,其中,所述MQTT客户端包括连接到MQTT服务器的定位器、采样服务器和终端,其中,MQTT客户端通过安全传输层协议TLS与MQTT服务器连接。进一步地,所述帐号服务器管理MQTT服务器的MQTT客户端的帐号具体包括:接收MQTT客户端的注册请求,基于所述注册请求为对应的MQTT客户端注册MQTT帐号,将所述MQTT帐号写入数据库,并为每个MQTT帐号添加对应的权限,其中,所述MQTT帐号包括账号ID;其中,所述MQTT帐号包括普通MQTT帐号和超级MQTT帐号,若所述MQTT帐号为超级MQTT帐号,则对应的权限为可发布和订阅任何消息;若所述MQTT帐号为普通MQTT帐号,则对应的权限为仅能发布和订阅包含该普通MQTT帐号的帐号ID的消息,其中,所述定位器和终端注册的MQTT帐号为普通MQTT帐号,所述采样服务器的MQTT帐号为超级MQTT帐号。进一步地,所述MQTT服务器还用于,当MQTT客户端向MQTT服务器发起连接请求时,读取数据库中对应MQTT客户端的帐号ID和权限,基于帐号ID和权限对MQTT客户端进行鉴权,并在对应MQTT客户端发布和订阅消息时,校验对应MQTT客户端的发布和订阅权限。进一步地,所述定位器使用包含标签所属区域的主题向MQTT服务器发布采样数据,所述MQTT客户端采用包含选区范围的主题做为订阅主题,并通过所述订阅主题中的选区范围作为限定条件,只接收所述选区范围的标签的相应数据,所述数据包括采集数据和位置数据。进一步地,所述采集服务器发布对应标签的位置数据到MQTT服务器,其消息主题为固定主题,消息体包含对应标签的区域和三维坐标点(x,y,z),所述固定主题为权限设置中包含账户ID的主题。进一步地,所述采样服务器获取到采集数据后,基于室内定位算法计算出对应标签的位置数据。本专利技术具有以下有益效果:本专利技术提供的一种基于MQTT的室内定位系统,MQTT服务器广播的消息,仅发布订阅的终端或其他有权限的MQTT客户端能接收到,避免了网络资源浪费,同时也保证了消息的安全性。另外,所有标签对应的采样数据均存储于MQTT服务器中,仅在有MQTT客户端发出请求消息时,才会提取对应的采样数据,并将对应的位置数据进行推送,避免了资源浪费。附图说明图1为本专利技术实施例提供的一种基于MQTT的室内定位系统的结构图;图2为本专利技术实施例提供的标签与定位器的连接示意图;图3为本专利技术实施例提供的一种基于MQTT的室内定位流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。如图1-3所示,本专利技术提供的一种基于MQTT的室内定位系统,包括标签、定位器、MQTT服务器、采样服务器、终端、帐号服务器和数据库,所述数据库中存储着每个帐号的发布和订阅权限,所述发布和订阅权限包括账号ID,所述终端仅能发布和订阅包含对应账号ID的消息;所述标签位于待定位设备上,用于周期性的发射无线信号波;所述定位器用于发现并识别标签的信号波,获得基于对应标签信号波的采样数据,并将采样数据发布到MQTT服务器;所述终端通过向MQTT服务器发布终端请求消息,订阅标签位置数据,得到标签位置信息,所述终端请求消息包括订阅标签位置数据和取消标签位置数据订阅,订阅标签位置数据包括对应终端的账号ID和订阅的标签列表,取消标签位置数据本文档来自技高网...

【技术保护点】
1.一种基于MQTT的室内定位系统,其特征在于,所述系统包括标签、定位器、MQTT服务器、采样服务器、终端和数据库,所述数据库中存储着每个帐号的发布和订阅权限,所述发布和订阅权限包括账号ID,所述终端仅能发布和订阅包含对应账号ID的消息;/n所述标签位于待定位设备上,用于周期性的发射无线信号波;/n所述定位器用于发现并识别标签的信号波,获得基于对应标签信号波的采样数据,并将采样数据发布到MQTT服务器;/n所述终端用于向MQTT服务器发布终端请求消息,所述终端请求消息包括订阅标签位置数据,订阅标签位置数据包括对应终端的账号ID和订阅的标签列表;/n所述MQTT服务器用于接收终端发布的终端请求消息,将终端请求消息推送给采样服务器,并将采样服务器发布的位置数据推送给终端,供对应的终端订阅接收;/n所述采样服务器用于在收到终端请求消息后,基于订阅的标签列表向MQTT服务器订阅对应标签的采集数据,基于采样数据计算出对应标签的位置数据,并将位置数据发布到MQTT服务器,其中,所述位置数据中包括对应终端的账号ID。/n

【技术特征摘要】
1.一种基于MQTT的室内定位系统,其特征在于,所述系统包括标签、定位器、MQTT服务器、采样服务器、终端和数据库,所述数据库中存储着每个帐号的发布和订阅权限,所述发布和订阅权限包括账号ID,所述终端仅能发布和订阅包含对应账号ID的消息;
所述标签位于待定位设备上,用于周期性的发射无线信号波;
所述定位器用于发现并识别标签的信号波,获得基于对应标签信号波的采样数据,并将采样数据发布到MQTT服务器;
所述终端用于向MQTT服务器发布终端请求消息,所述终端请求消息包括订阅标签位置数据,订阅标签位置数据包括对应终端的账号ID和订阅的标签列表;
所述MQTT服务器用于接收终端发布的终端请求消息,将终端请求消息推送给采样服务器,并将采样服务器发布的位置数据推送给终端,供对应的终端订阅接收;
所述采样服务器用于在收到终端请求消息后,基于订阅的标签列表向MQTT服务器订阅对应标签的采集数据,基于采样数据计算出对应标签的位置数据,并将位置数据发布到MQTT服务器,其中,所述位置数据中包括对应终端的账号ID。


2.根据权利要求1所述的基于MQTT的室内定位系统,其特征在于,所述终端请求消息还包括取消标签位置数据订阅,取消标签位置数据订阅包括对应终端的账号ID和取消订阅的标签列表,所述采样服务器还用于在收到终端请求消息后,判断终端请求消息类型,若终端请求消息为订阅标签位置数据,则基于订阅的标签列表向MQTT服务器订阅对应标签的采集数据,基于采样数据计算出对应标签的位置数据,并将位置数据发布到MQTT服务器;若终端请求消息为取消标签位置数据订阅,则基于取消订阅的标签列表向MQTT服务器发布取消订阅对应标签的采集数据。


3.根据权利要求1所述的基于MQTT的室内定位系统,其特征在于,所述系统还包括帐号服务器,所述帐号服务器用于管理MQTT服务器的MQTT客户端的帐号,所述MQTT服务器还用于对MQTT客户端的帐号进行鉴权,其中,所述MQTT客户端包括连接到MQTT服务器的定位器、采样服务器和终端,其中,MQTT客户端通过安全传输层协议...

【专利技术属性】
技术研发人员:周晶张新访董逢华
申请(专利权)人:武汉天喻信息产业股份有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1