公开/公告号CN112738042A
专利类型发明专利
公开/公告日2021-04-30
原文格式PDF
申请/专利权人 上海上实龙创智能科技股份有限公司;
申请/专利号CN202011523726.5
申请日2020-12-22
分类号H04L29/06(20060101);H04L29/08(20060101);
代理机构31225 上海科盛知识产权代理有限公司;
代理人林君如
地址 200436 上海市静安区万荣路1198号5层
入库时间 2023-06-19 10:48:02
技术领域
本发明涉及物联网技术领域,尤其是涉及一种基于MQTT协议的物联网设备模型及其数据穿透方法。
背景技术
随着物联网行业的飞速发展,全球的物联网市场规模急剧增大,物联网设备呈现出爆发式增长。数量如此庞大的物联网设备的目的都是与其他设备和应用程序进行连接,并使用互联网传输协议来传递信息。
互联网的基础协议是TCP/IP,而MQTT是基于TCP/IP协议栈构建,相比其他协议更为简单,而且生态系统丰富,受到广大开发者的青睐,相比传统的HTTP协议,MQTT协议有如下优势:协议轻量级、带宽占用小;通过业务层设计能实现全双工通信;实时通信;灵活的订阅发布模式;协议简单。
由于MQTT本身的各项技术优势,现有物联网设备越来越倾向于选用MQTT作为物联网产品通讯的标准协议,MQTT虽然符合物联网对通信协议的要求,但在实际应用中仍存在通信不可靠的问题,特别是在项目实施过程中:
1)大量现有的和即将投入应用的物联网终端均不直接支持MQTT,物联网系统架构在接入海量物联网终端设备和采集终端的数据时,需要分布式汇聚和管理设备。
2)没有齐备的SDK(软件开发工具包),而不同的异构终端则必须有对应的与MQTT服务器通信的软件SDK包,比如MCU、Linux、Android、IOS、WEB等之间要实现互联互通必然需要不同的SDK包。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于MQTT协议的物联网设备模型及其数据穿透方法,以保证可靠的通信服务。
本发明的目的可以通过以下技术方案来实现:一种基于MQTT协议的物联网设备模型,包括应用端和终端,所述应用端与终端之间通过传输单元相互连接,所述传输单元包括相互连接的云平台以及MQTT边缘网关,所述云平台和应用端均支持MQTT协议,所述云平台与应用端连接,所述MQTT边缘网关与终端连接,所述应用端用于进行终端接入管理、数据管理和事件管理,通过传输单元与终端进行数据交互,以及用于对终端数据进行解析和展示;
所述终端用于采集数据,并通过传输单元将采集的数据传输给应用端,以及通过传输单元接收来自应用端的指令信息;
所述MQTT边缘网关用于对终端数据进行MQTT封装,并将封装后的MQTT数据透传至云平台;
所述云平台用于将封装后的MQTT数据转发至应用端。
进一步地,所述终端通过设备单元与MQTT边缘网关连接,所述设备单元支持多种通信协议,所述设备单元设置有SDK包,所述设备单元用于实现终端与MQTT边缘网关的通信连接。
进一步地,所述终端包括传感器、智能仪表、芯片、电子模块以及控制器中的一种或多种。
进一步地,所述MQTT边缘网关具体为边缘网关硬件设备。
进一步地,所述MQTT边缘网关具体为边缘服务器集群。
进一步地,所述MQTT边缘网关包括依次连接的MQTT客户端、边缘计算操作端以及MQTT协议转换器,所述MQTT客户端与云平台连接,所述MQTT协议转换器与终端连接,所述MQTT协议转换器用于将终端数据的通信协议转换为MQTT协议,对应得到封装后的MQTT数据;
所述边缘计算操作端用于对封装后的MQTT数据进行边缘计算,以将MQTT数据推送至MQTT客户端;
所述MQTT客户端用于将封装后的MQTT数据通过MQTT协议传输给云平台。
进一步地,所述MQTT边缘网关中设置有边缘应用模块和数据库,所述边缘应用模块用于提供终端数据的边缘应用功能;
所述数据库用于提供边缘存储功能。
进一步地,所述MQTT边缘网关中设置有安全认证模块以及SSL加密模块,所述安全认证模块用于对接入MQTT边缘网关的云平台以及终端进行身份认证;
所述SSL加密模块用于对封装后的MQTT数据进行加密处理。
一种基于MQTT协议的物联网设备模型的数据穿透方法,包括以下步骤:
S1、根据用户指令,应用端输出数据获取命令给云平台;
S2、云平台以MQTT协议通信方式,将数据获取命令传输给MQTT边缘网关;
S3、MQTT边缘网关将数据获取命令传输给终端;
S4、根据数据获取命令,终端对应采集数据,之后终端将采集的数据返回给MQTT边缘网关;
S5、终端采集的数据到达MQTT边缘网关后,由MQTT封装透传至云平台;
S6、云平台以MQTT协议通信方式,将封装后的MQTT数据转发至应用端;
S7、应用端对封装后的MQTT数据进行解析,并将解析得到的数据信息展示给用户。
进一步地,所述步骤S5具体包括以下步骤:
S51、MQTT边缘网关将终端的通信协议统一转换成MQTT协议;
S52、MQTT边缘网关对终端采集的数据进行MQTT封装,对应的得到封装好的MQTT数据;
S53、MQTT边缘网关将封装好的MQTT数据推送至云平台。
与现有技术相比,本发明具有以下优点:
一、本发明通过构建包含云平台以及MQTT边缘网关的传输单元,利用该传输单元实现物联网终端与应用端的数据透传,云平台和应用端均支持MQTT协议,其中,MQTT边缘网关中设置有MQTT协议转换器以及MQTT客户端,通过MQTT协议转换器能够将各种通信协议统一转换成MQTT协议实现数据透传,结合MQTT客户端能够将MQTT数据通过云平台转发至应用端,以此解决异构终端海量接入问题,为低带宽和不稳定网络环境中的物联网设备提供可靠的通信服务。
二、本发明利用支持多种通信协议以及设置有SDK包的设备单元,能够将不同终端同时接入MQTT边缘网关,不需要在终端设置齐备的SDK,即可基于MQTT协议实现终端与应用端之间的数据透传。
附图说明
图1为本发明的物联网设备模型结构示意图;
图2为本发明的物联网设备模型的数据穿透方法流程图;
图3为实施例中物联网设备模型的网络架构图;
图4为实施例中物联网设备模型的系统架构及MQTT协议架构图;
图5为实施例中MQTT边缘网关的结构示意图;
图中标记说明:1、应用端,2、终端,3、传输单元,30、云平台,31、MQTT边缘网关,310、MQTT客户端,311、边缘计算操作端,312、MQTT协议转换器,313、边缘应用模块,314、数据库,315、安全认证模块,316、SSL加密模块,4、设备单元。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图1所示,一种基于MQTT协议的物联网设备模型,包括应用端1和终端2,应用端1与终端2之间通过传输单元3相互连接,传输单元3包括相互连接的云平台30以及MQTT边缘网关31,应用端1用于进行终端2接入管理、数据管理和事件管理,通过传输单元3与终端2进行数据交互,以及用于对终端数据进行解析和展示;
终端2用于采集数据,并通过传输单元3将采集的数据传输给应用端1,以及通过传输单元3接收来自应用端1的指令信息;
MQTT边缘网关31用于对终端数据进行MQTT封装,并将封装后的MQTT数据透传至云平台30;
云平台30用于将封装后的MQTT数据转发至应用端1。
云平台30和应用端1均支持MQTT协议,云平台30与应用端1连接,MQTT边缘网关31通过设备单元4与终端2连接,MQTT边缘网关31包括依次连接的MQTT客户端310、边缘计算操作端311以及MQTT协议转换器312,MQTT客户端310与云平台30连接,MQTT协议转换器312与终端2连接,MQTT协议转换器312用于将终端数据的通信协议转换为MQTT协议,对应得到封装后的MQTT数据;边缘计算操作端311用于对封装后的MQTT数据进行边缘计算,以将MQTT数据推送至MQTT客户端310;MQTT客户端310用于将封装后的MQTT数据通过MQTT协议传输给云平台30。
此外,MQTT边缘网关31中还设置有边缘应用模块313、数据库314、安全认证模块315以及SSL加密模块316,边缘应用模块313用于提供终端数据的边缘应用功能;数据库314用于提供边缘存储功能;安全认证模块315用于对接入MQTT边缘网关的云平台30以及终端2进行身份认证;SSL加密模块316用于对封装后的MQTT数据进行加密处理。
在实际应用中,设备单元4能够支持多种通信协议,设备单元4还设置有SDK包,用于实现终端2与MQTT边缘网关31的通信连接。终端2可以是传感器、智能仪表、芯片、电子模块以及控制器中的一种或多种。根据业务场景的不同,MQTT边缘网关31可选用边缘网关硬件设备或边缘服务器集群。
将上述基于MQTT协议的物联网设备模型应用于实际,其具体的数据穿透过程如图2所示,包括以下步骤:
S1、根据用户指令,应用端1输出数据获取命令给云平台30;
S2、云平台30以MQTT协议通信方式,将数据获取命令传输给MQTT边缘网关31;
S3、MQTT边缘网关31将数据获取命令传输给终端2;
S4、根据数据获取命令,终端2对应采集数据,之后终端2将采集的数据返回给MQTT边缘网关31;
S5、终端2采集的数据到达MQTT边缘网关31后,由MQTT封装透传至云平台30,具体的:
MQTT边缘网关31首先将终端2的通信协议统一转换成MQTT协议,之后对终端2采集的数据进行MQTT封装,对应的得到封装好的MQTT数据;最后将封装好的MQTT数据推送至云平台30;
S6、云平台30以MQTT协议通信方式,将封装后的MQTT数据转发至应用端1;
S7、应用端1对封装后的MQTT数据进行解析,并将解析得到的数据信息展示给用户。
本发明通过构建基于MQTT协议的物联网设备模型,能够可靠地实现数据从终端到应用端的传输,本实施例构建如图3所示的物联网设备模型网络架构,其中,感知层是整个物联网系统的数据基础,它利用传感器获得被测量(物理量、化学量或生物量)的模拟信号,并负责把模拟信号量转换成数字,也包括从电子设备(如串口设备)中采集到的直接的数字,最终由传输层转发到应用层,感知层里也存在广泛的控制器,可以对从传输层转发来的数字信息进行响应。
感知层的开发内容包括了各种硬件设备例如智能仪表、传感器,芯片,模块等,各种控制器,以及以上各个部件的组合。目前此类设备种类繁多,实现的功能也多种多样,都处于物联网系统的终端的位置,感知层的功能开发也包括了运行在终端上的各种软件程序。
传输层是物联网的中间环节,主要用来实现物的连接。由于物联网要求的连接几乎是无所不在的,一些已有的通信技术在分别朝着高速率,低(微)功耗,复杂组网等方向发展,传输层的功能开发包括了通信方式的选择,通信方式实现的硬件设计和实现,协议的开发,通信网络的配置和管理等等。
物联网系统的应用层承载着用户业务和功能,由于云计算的发展,大部分的系统都在这一层实现数据存储和主要的计算。
应用层开发包含了非常多的内容,最基本的如接入管理,终端管理,数据管理和事件管理,这些都是解决终端连接到物联网所必须的功能,其他的信息化的功能,虚拟化的功能以及数字化功能的实现都建立在这些基本功能之上。
随着物联网连接的设备数量正在呈爆炸式速度递增,确保设备与云端之间可靠的进行双向的大规模数据传输以及确保数据传输的安全将变得尤为重要。当前限制物联网进一步发展的瓶颈在传输层,也就是说是通信中的问题。而在通信中,根据定义通信协议就是双方实体为完成通信或服务而必须遵循的规则和约定是实现通信的基础,因此如果要解决物联网中的通信问题就必须从通信协议入手。
本实施例进一步构建如图4所示的系统架构及对应的MQTT协议架构,使得整个物联网设备模型分为分为四层:即设备层、MQTT边缘网关层、物联网云平台层以及应用层,设备层用于实现各终端与边缘网关层的通信,物联网云平台层和应用层均支持MQTT协议。其中,MQTT边缘网关层是实现数据透传的基础,如图5所示,MQTT边缘网关层除了本地的物联设备的通信和管理功能外,还内置数据库和边缘计算操作系统,以此可以实现边缘存储功能以及开发边缘应用,从而提供更丰富的物联网服务。根据不同的用户的需要,可以灵活地定义物联网的边缘计算的功能主流的主要为两条路径:一种是微服务的升级模式,简单理解就是允许用户把部分云平台上的功能放在边缘计算平台运行;另一种是边缘层向云平台层的渗透,即利用边缘层的能力实现云平台的部分核心产品及服务,如在边缘层实现部分的数据库、存储、安全等功能或服务。
在某些物联网应用场景下,由于高可用、实时性、带宽限制、安全性等问题,用户需要在本地实现主要的应用计算,这就需要在边缘计算网关上提供本地化的物联设备接入和管理、消息收发即通信功能、本地计算、缓存及同步能力,因而本技术方案中的边缘网关在某些应用场景下可以发挥更为重要的作用。边缘网关层是整个模型中的重点,边缘网关层的所有软件服务可运行于物联网边缘网关的硬件设备中,也可以运行于物联网边缘服务器当中,边缘网关的CPU、内存配置通常低于边缘服务器的CPU和内存,可以支持并发的物联网设备数量也有所不同,可以根据不同的业务场景选择轻量级的边缘网关硬件设备,或者选择支持大规模的边缘服务器集群。
MQTT协议的快速数据穿透的物联网设备模型分为四层,通过MQTT协议实现数据透传,在MQTT协议架构中,应用层对应为MQTT消息订阅者,物联网云平台层对应为MQTT消息代理,边缘网关层对应为MQTT客户端以及协议转换器,设备层则对应为各类通信协议以及SDK包。
综上所述,本发明提出一种基于MQTT协议的物联网设备模型及其数据穿透方法,通过MQTT协议实现数据的透传,数据到达边缘网关层后,由MQTT封装透传到物联网平台层和应用层,平台层负责转发封装完的MQTT数据,应用层负责解析和展示数据。以此充分利用了MQTT可靠、轻巧、简单的特性,能够可靠解决异构终端海量接入问题,能够将各类协议统一转换成MQTT协议实现透传,为低带宽和不稳定的网络环境中的物联网设备提供可靠的通信服务。
机译: 物联网环境中基于MQTT MQTT协议的服务器系统
机译: 物联网环境中基于MQTT MQTT协议的服务器系统
机译: 基于MQTT的使用物联网网关的阳光传感器MQTT物联网阳光方法和使用该方法的设备