一种物联网平台接入设备的方法与流程

文档序号:14914799发布日期:2018-07-11 00:26阅读:283来源:国知局

本发明物联网技术领域,尤其涉及一种物联网平台接入设备的方法。



背景技术:

随着物联网技术的不断发展,物联网平台、大数据处理、云服务等已被广泛应用到各行各业。物联网平台作为物联网技术应用的核心组成部分,其性能的优劣在整个物联网服务中起着关键作用。现有的物联网平台技术虽然已经成功地应用在社会的各个方面,但在设备接入方面仍然存在以下缺点:

1.现有的物联网平台虽然提供设备接入互联网的能力,但接入成本高,不仅需要平台方提供的SDK软件包进行开发,而且开发、调试时间较长;

2.现有的物联网平台一般不提供本地化部署,数据都需要保存在平台方服务器,使用成本高,而且即使提供本地化部署,又需要较高的设备成本,并且一般硬件设备厂商没有专门的软件人员维护该系统,又导致设备维护成本高,使得现有的物联网平台灵活性差,数据落地困难;

3现有的物联网平台仅提供电脑端程序,并不提供移动端(如手机、平板电脑等)程序,管理设备必须通过电脑端的浏览器,对于厂商或者管理人员来说便捷性较差;

4.现有的物联网平台,没有提供可配置的自动化管理功能,接入方需要自己实现相应逻辑,开发成本较高。



技术实现要素:

针对现有技术中的问题,本发明提供一种物联网平台接入设备的方法,该方法整体上采用微服务架构,每个服务负责一个核心功能,同时服务通过Docker以虚拟容器化的方式运行,可通过配置实现高度可用、负载均衡、冗余备份的特性。

为实现以上技术目的,本发明的技术方案是:

一种物联网平台接入设备的方法,接入设备须为可运行MQTT客户端的设备且具有完整的TCP/IP协议栈,平台设备为支持MQTT协议的服务器,负责整个MQTT协议的接收和发送,平台系统提供设备接入服务、数据网关服务、自动化服务、数据报表服务和应用服务,设备接入服务、数据网关服务、自动化服务、数据报表服务和应用服务之间的通讯通过远程过程调用实现,平台系统采用微服务架构,通过Docker以虚拟容器化的方式运行,每个服务都是一个Docker容器,平台系统具有WEB页面端和移动APP客户端;

接入设备接入平台系统的具体方法为:

A.在设备接入服务中添加一个虚拟的新设备,该新设备对应于接入设备,配置新设备的账户信息并将账户信息存储在缓存数据库中,所述账户信息包括用户名、密码和设备属性,所述设备属性分为到设备、从设备;

B.在接入设备配置MQTT客户端,配置的登陆名和密码应与平台系统生成新设备的用户名、密码一致;

C.接入设备上电联网,平台的服务器网关监听到待接入设备的MQTT客户端的连接请求;

D.设备接入服务通过读取存储在缓存数据库的账户信息,对MQTT客户端进行认证与授权;

E.认证与授权成功后,当数据网关服务接收来自接入设备发送的数据时,将接收到的数据写入缓存数据库和大数据数据库,并重新将数据发送到消息队列中,当数据网关服务接收来自平台内部或用户设定的下发数据时,数据网关服务通过MQTT协议下发指定数据到接入设备;

F.自动化服务通过消息队列接收最新的数据,并进行规则匹配和动作触发;

G.数据报表服务通过大数据数据库获取一定时间间隔的数据,并根据用户配置的规则进行报表运算,生成可用于展示的数据;

H.应用服务提供Restful接口供WEB页面和移动APP调用,WEB页面和移动APP展示数据。

作为优选,设备接入服务能够将虚拟设备的设备属性转化为主题,接入设备则能够相应地订阅主题或者发布数据到主题。

作为优选,设备接入服务对接入设备的主题进行配置,数据网关服务则根据主题进行数据传输,设备属性转换为主题的具体方法为:当设备属性为到设备时,数据是从服务器端到接入设备端,因此配置一个到设备属性为property1,则对应的主题为/devices/设备ID/to/property1,相应地接入设备需要订阅该主题;当设备属性为从设备时,数据是由服务器端从接入设备端读取数据,配置一个从设备属性为property2,则对应的主题为/devices/设备ID/from/property2,相应地接入设备端需要发布数据到该主题。

作为改进,认证与授权成功后,所述设备接入服务同时记录接入设备的接入信息并将接入信息存储在Mysql数据库中,所述接入信息至少包括接入时间、接入设备名称、接入地点。

作为优选,所述自动化服务通过消息队列接收最新的数据并进行规则匹配和动作触发的具体方法为:自动化引擎通过消息队列接收接入设备的实时数据,根据用户配置的引擎规则,判断所接收到的数据是否满足条件,如果满足条件,则会根据用户的相应配置做出动作。

作为优选,所述缓存数据库采用Redis数据库。

作为优选,所述大数据数据库对存入的数据进行永久存储。

作为优选,所述大数据数据库采用Cassandra数据库。

作为优选,所述应用服务包括三层架构,分别为:仓库层、控制器层和服务层,所述仓库层负责应用数据的持久化和接口认证缓存,所述控制器层提供Restful风格接口供页面和移动端调用,所述服务层提供应用服务的通用方法,同时提供Web Hook供第三方调用。

从以上描述可以看出,本发明具备以下优点:

1.物联网平台只需三步即可将设备接入互联网,大大降低了接入成本;

2.物联网平台操作简单,大部分需要开发的功能均提供了可视化界面,可以直接通过配置的方式来实现基本的业务逻辑;

3.物联网平台通过Web hook可以很方便地进行拓展开发;

4.物联网平台能够实现快速本地化部署,资源占用率低,运维成本低;

5.物联网平台具备高稳定性,容错、容灾能力强,特别适合在工业和农业领域应用。

附图说明

图1是本发明的系统架构图;

图2是本发明设备接入服务的系统架构图;

图3是本发明数据网关服务的系统架构图;

图4是本发明自动化服务的系统架构图;

图5是本发明应用服务的系统架构图。

具体实施方式

结合图1至图5,详细说明本发明的一个具体实施例,但不对本发明的权利要求做任何限定。

如图1所示,一种物联网平台接入设备的方法,接入设备须为可运行MQTT客户端的设备且具有完整的TCP/IP协议栈,平台设备为支持MQTT协议的服务器,负责整个MQTT协议的接收和发送,平台系统提供设备接入服务、数据网关服务、自动化服务、数据报表服务和应用服务,设备接入服务、数据网关服务、自动化服务、数据报表服务和应用服务之间的通讯通过远程过程调用实现,平台系统采用微服务架构,通过Docker以虚拟容器化的方式运行,每个服务都是一个Docker容器,平台系统具有WEB页面端和移动APP客户端;

接入设备接入平台系统的具体方法为:

A.在设备接入服务中添加一个虚拟的新设备,该新设备对应于接入设备,配置新设备的账户信息并将账户信息存储在缓存数据库中,所述账户信息包括用户名、密码和设备属性,所述设备属性分为到设备、从设备;

B.在接入设备配置MQTT客户端,配置的登陆名和密码应与平台系统生成新设备的用户名、密码一致;

C.接入设备上电联网,平台的服务器网关监听到待接入设备的MQTT客户端的连接请求;

D.设备接入服务通过读取存储在缓存数据库的账户信息,对MQTT客户端进行认证与授权;

E.认证与授权成功后,当数据网关服务接收来自接入设备发送的数据时,将接收到的数据写入缓存数据库和大数据数据库,并重新将数据发送到消息队列中,当数据网关服务接收来自平台内部或用户设定的下发数据时,数据网关服务通过MQTT协议下发指定数据到接入设备;

F.自动化服务通过消息队列接收最新的数据,并进行规则匹配和动作触发;

G.数据报表服务通过大数据数据库获取一定时间间隔的数据,并根据用户配置的规则进行报表运算,生成可用于展示的数据;

H.应用服务提供Restful接口供WEB页面和移动APP调用,WEB页面和移动APP展示数据,展示的数据即包含大数据数据库存储的数据,又包含步骤G中生成的用于展示的数据。

对上述方法中涉及的接入设备、设备接入服务、数据网关服务、自动化服务、数据报表服务、应用服务、WEB页面端和移动APP客户端进行进一步地详细说明,具体如下:

1.接入设备

接入设备须为任何可以运行嵌入式MQTT客户端或其他MQTT客户端的物理设备,包括但不限于单片机、微型电脑、手持终端等,同时要求设备有完整的TCP/IP协议栈,相对于SDK的开发模式不需要过多的了解接口细节,简化了设备端开发。根据MQTT协议规范,MQTT客户端通过发布(publish)数据到指定主题(topic)和订阅(subscribe)指定主题(topic)来进行数据的传输,其中主题可以通过设备接入服务进行配置。为了对接入设备进行认证,接入设备需要在MQTT客户端登录时,使用由设备接入服务生成的用户名、密码。

2.设备接入服务

设备接入服务负责设备接入的认证、授权以及对MQTT协议的解析,具体功能包括:

(1)MQTT服务器提供对MQTT协议的解析和认证,并监听指定端口,等待客户端的连接。

(2)该服务器通过读取储存在Redis数据库中的账户信息进行客户端的认证与授权。

(3)如果没有通过认证,接入服务会拒绝接入设备的连接。如果没有通过授权,接入服务会拒绝接入设备发布或订阅指定主题。

(4)设备接入服务提供相应接口,可通过配置的方式管理接入设备的帐号、权限、主题。

(5)如果接入设备成功连接MQTT服务器,则会在Mysql数据库中记录设备的接入历史,包括时间、名称、地点等。

(6)新设备接入前,需要在该服务中配置虚拟设备,以便生成设备接入所需要的账号。同时配置该设备所对应的属性,该服务会自动把这些属性转换为主题,这样设备接入时,可以订阅或发布数据到这些主题。

(7)设备属性与主题转换规则:设备属性按数据流向,可以分为到设备、从设备。到设备意味着数据从服务器端到设备端,从设备意味着服务器端从设备端读取数据。如果配置一个到设备属性为property1,则对应的主题为/devices/设备ID/to/property1,设备端需要订阅该主题,即可接收从服务器发来的数据。类似如果配置一个从设备属性为property2,则对应的主题为/devices/设备ID/from/property2,设备只要发布数据到该主题,服务器端就可以收到该数据。

设备接入服务的基本架构如图2所示。

3.数据网关服务

数据网关服务负责数据的接收、储存以及下发,具体功能包括:

(1)该服务能够通过MQTT服务器订阅所有设备的所有主题,当接入设备发送数据到指定主题后,该服务会接收到该数据,并写入Cassandra数据库中,Cassandra数据库对数据进行永久存储,同时会把最新的数据写入缓存数据库Redis,以便其他服务调用。

(2)该服务能够提供RPC接口供其他服务调用,其他服务可以通过该RPC接口发送下发数据,数据网关服务会找到指定主题,并发布下发数据到指定主题,接入设备即可接收到下发数据。

(3)该服务会把预处理的数据发送到Kafka消息队列中,以便后续服务使用。

数据网关服务的基本架构如图3所示。

4.自动化服务

自动化引擎通过Kafka消息队列接收接入设备的实时数据,根据用户配置的引擎规则,判断所接收到的数据是否满足条件,如果满足条件,则会根据用户的相应配置定时、定频触发特定动作,特定动作包括但不限于邮件提醒、短信提醒、下发数据等,同时通过相应接口提供高度可配置的界面。

自动化服务的基本架构如图4所示。

5.数据报表服务

数据报表服务通过读取储存在Cassandra数据库中的数据,提供特定数据结构、报表类型的展示,同时提供高度可配置的界面,可以基于特定的条件生成报表。

6.应用服务

应用服务提供Restful接口供WEB页面和移动APP调用。应用服务本身可以分为三层:仓库层、控制器层和服务层。仓库层负责应用数据的持久化和接口认证缓存;控制器层提供Restful风格接口供页面和移动端调用;服务层提供应用服务的通用方法,同时提供Web Hook供第三方调用。

应用服务的基本架构如图5所示。

7.WEB页面端

WEB页面端的WEB页面可以使用React开发,响应式布局,可以自动适配不同浏览器尺寸。

8.移动APP客户端

移动APP客户端可以使用Cordova HTML5跨平台技术开发,可以同时运行在Android和IOS系统中,降低了平台的开发、接入成本。

从上述描述中可以看出,本发明所述的方法具有以下优良性能:

1.本发明所述平台只需三步(即配置虚拟设备、配置设备属性、接入设备端发布、订阅指定主题,并设置账号))即可将设备接入互联网,从而能够显著降低接入成本;

2.本发明所述平台操作简单,设备接入服务、数据网关服务、自动化服务、数据报表服务均提供了可配置界面,均提供了可视化界面,可以直接通过配置的方式来实现基本的业务逻辑;

3.应用服务提供了Web Hook,方便第三方开发人员通过回调获取实时数据,以方便地进行拓展开发;

4.本发明所述平台所有服务均基于Docker容器化技术开发,可以通过Docker镜像的方式快速部署,并且实现自动化运维,从而平台能够实现快速本地化部署,资源占用率低,运维成本低;

5.本发明所述平台采用微服务的架构,单一服务的出错不会影响到整体平台的稳定性,同时服务与服务之间均采用RPC的方式进行通讯,拥有很高的稳定性,可以通过配置的方式快速进行负载均衡,使得平台稳定性高,容错、容灾能力强,特别适合工业、农业等大量设备接入的应用场景。

综上所述,本发明具有以下优点:

1.物联网平台只需三步即可将设备接入互联网,大大降低了接入成本;

2.物联网平台操作简单,大部分需要开发的功能均提供了可视化界面,可以直接通过配置的方式来实现基本的业务逻辑;

3.物联网平台通过Web hook可以很方便地进行拓展开发;

4.物联网平台能够实现快速本地化部署,资源占用率低,运维成本低;

5.物联网平台具备高稳定性,容错、容灾能力强,特别适合在工业和农业领域应用。

可以理解的是,以上关于本发明的具体描述,仅用于说明本发明而并非受限于本发明实施例所描述的技术方案。本领域的普通技术人员应当理解,仍然可以对本发明进行修改或等同替换,以达到相同的技术效果;只要满足使用需要,都在本发明的保护范围之内。

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