使用有限状态机控制智能网关的方法及系统、智能设备控制系统与流程

文档序号:11548487阅读:360来源:国知局
使用有限状态机控制智能网关的方法及系统、智能设备控制系统与流程

本发明涉及智能设备控制领域,尤其涉及一种使用有限状态机控制智能网关的方法及系统、智能设备控制系统。



背景技术:

在智能家居环境中,一般通过手机上的应用程序控制智能家居。为了统一管理各种智能家居,在硬件层使用智能网关设备进行统一管理。为了控制一个智能设备,通过手机给智能网关后台管理程序发送命令,后台管理程序需要对指令进行识别和处理,并根据智能家居设备当前的状态,执行相应的一系统指令,把这些指令发送给智能网关从而实现用户用智能家居的操作。

如申请号为cn201510265376.x的专利文献提供的“一种基于运营服务的智能家居管理系统”,该发明公开了一种基于运营服务的智能家居管理系统,包括智能家居运营平台、客户终端、智能网关和受控设备。智能家居运营平台通过以太网与智能网关进行通信,无需固定ip地址用户即可通过运营平台对家庭中的设备进行远程操作。通过运营平台对用户开户注册、使用、注销、设备更改、系统设置等功能进行管理。提供完整稳定的智能家居远程控制解决方案。客户终端,通过internet网访问智能家居运营平台的服务端,获取智能家居远程操作服务。智能网关,负责本地组网管理与网络启动,通过运营平台对家庭中的设备进行远程操作。

又如申请号为cn201610087803.4的专利文献公开的“一种移动终端与后台管理系统任务关联的方法”,该发明涉及一种移动终端与后台管理系统任务关联的方法,包括如下步骤:s1、移动终端接受后台管理系统发来的工作指令,该工作指令是由后台管理系统接收到内外部工作任务请求或既定工作计划后生成的,并且将该工作指令和后台管理系统生成的文件夹进行了关联;s2、移动终端自动生成一个同样与工作指令相关联的文件包;s3、移动终端产生需要上传到后台管理系统的信息后,将欲上传的信息一并打包并自动存储于文件包内,然后上传。

现有技术的缺点是在智能网关后台管理程序里,与智能家居相关的指令时需要考虑到智能家居当前的工作状态,为了完成这一目的需要在指令代码里编写大量的判断语句,这些判断语句极大的增加了系统代码的复杂度,不利于问题的排查和以后的升级,影响了系统的稳定性和执行效率。



技术实现要素:

针对上述现有技术的现状,本发明所要解决的技术问题在于提供一种效率更高的使用有限状态机控制智能网关的方法及系统,以及一种智能设备控制系统。

本发明解决上述技术问题所采用的技术方案为:

一种使用有限状态机控制智能网关的方法,包括:

s1.接收智能网关发送的网络控制器在线指令,通过akka框架建立网络控制器有限状态机,所述网络控制器有限状态机包括:状态、状态数据、事件;

s2.接收用户控制指令,并根据所述网络控制器有限状态机的状态信息判断所述控制指令是否为可执行指令;

s3.若所述控制指令为可执行指令,根据所述控制指令发送控制命令至智能网关。

进一步地,所述网络控制器有限状态机中:

所述状态包括:等待状态、绑定状态、搜索设备状态;

所述状态数据包括:智能网关后台管理系统与智能网关的tcp连接通道;

所述事件包括:绑定事件、绑定完成事件、搜索设备事件、搜索设备完成事件。

进一步地,还包括:

监测所述网络控制器有限状态机的状态改变时间,若所述状态改变时间大于预定时间,则判断指令执行失败,所述网络控制器有限状态机返回等待状态。

进一步地,步骤s2中,当智能网关后台管理系统根据用户控制指令生成绑定网络控制器指令时,若所述网络控制器有限状态机为等待状态,则所述绑定网络控制器指令为可执行指令,发送所述绑定网络控制器指令至智能网关。

进一步地,步骤s2中,当智能网关后台管理系统接收到智能网关与网络控制器绑定成功消息时,智能网关后台管理系统根据用户控制指令生成搜索设备指令,若所述网络控制器有限状态机为绑定状态,则发送搜索设备指令至智能网关。

一种使用有限状态机控制智能网关的系统,包括:

接收模块,用于接收智能网关发送的网络控制器在线指令;

建立模块,用于通过akka框架建立网络控制器有限状态机;

判断模块,用于根据所述网络控制器有限状态机的状态信息判断所述控制指令是否为可执行指令;

发送模块,用于当所述控制指令为可执行指令时,根据所述控制指令发送控制命令至智能网关。

进一步地,所述接收模块还用于接收用户控制指令。

进一步地,还包括:

监测模块,用于监测所述网络控制器有限状态机的状态改变时间,若所述状态改变时间大于预定时间,则判断指令执行失败,所述网络控制器有限状态机返回等待状态。

一种智能设备控制系统,包括:

智能网关后台管理系统、智能网关、网络控制器、智能设备;

所述智能网关后台管理系统包括:

接收模块,用于接收智能网关发送的网络控制器在线指令,所述接收模块还用于接收用户控制指令;

建立模块,用于通过akka框架建立网络控制器有限状态机;

判断模块,用于根据所述网络控制器有限状态机的状态信息判断所述控制指令是否为可执行指令;

发送模块,用于当所述控制指令为可执行指令时,根据所述控制指令发送控制命令至智能网关;

所述智能网关用于通过tcp连接通道与智能网关后台管理系统进行指令交互,并将智能网关后台管理系统发送的控制指令发送至网络控制器;

所述网络控制器用于根据智能网关发送的控制指令控制智能设备,所述网络控制器还用于通过智能网关向智能网关后台管理系统发送所述智能设备的指令执行情况信息。

进一步地,所述智能网关后台管理系统还包括:

监测模块,用于监测所述网络控制器有限状态机的状态改变时间,若所述状态改变时间大于预定时间,则判断指令执行失败,所述网络控制器有限状态机返回等待状态。

与现有技术方案相比,本发明的优点在于:

1)通过有限状态机的方式,判断智能家居指令是否在当前工作状态下可以执行,有效减少代码的复杂性;

2)通过状态和事件,可以自动的执行一系列的动作指令,完成最终操作,减少人工干预过程;

3)通过监控状态改变的时间长度,判断指令是否正确执行。如果发生异常,执行时间超时,把智能设备转换到初始化状态。

附图说明

图1为本发明实施例一中一种使用有限状态机控制智能网关的方法流程图;

图2为本发明实施例一中一种使用有限状态机控制智能网关的系统结构图;

图3为本发明实施例一中一种智能设备控制系统结构图;

图4为本发明实施例二中一种使用有限状态机控制智能网关的方法流程图;

图5为本发明实施例二中一种使用有限状态机控制智能网关的系统结构图;

图6为本发明实施例三中智能灯控制系统工作流程图。

具体实施方式

以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。

由于智能家居设备有很多的工作状态,这些工作状态状态是有限的集合,同时智能家居设备也有很多的指令来控制它的状态,在特定的环境(工作状态)下,只有某些指令才可以被执行,智能家居的有限工作状态集和工作指令集可以有效的组成了一个有限状态机。

本发明中,智能网关后台管理程序通过tcp连接智能网关,在执行指令时,根据有限状态机的条件对指令进行预处理,可以过滤掉不符合条件的操作命令,提高系统的稳定性,减少后台管理程序和智能网关的网络流量,提高系统的处理能力。

以下为本发明具体实施例。

实施例一

如图1所示为本实施例中一种使用有限状态机控制智能网关的方法流程图,该方法包括:

s1.接收智能网关发送的网络控制器在线指令,通过akka框架建立网络控制器有限状态机,所述网络控制器有限状态机包括:状态、状态数据、事件;

本实施例使用akka,实现有限状态机驱动模型,akka是一个用scala编写的库,用于简化编写容错的、高可伸缩性的java和scala角色模型应用。它指定了状态机的组成结构,屏蔽了内部的复杂性,指定状态机由状态、指令、数据组成,自动进行状态和指令的匹配和执行,提供状态执行超时检查。akka的主要目的是编写应用程序,使它们能更简单的部署在云上或运行在分布式环境中,并能有效的利用全部计算机资源进行业务处理。

使用akka有限状态机进行编码时,有限状态机由三个属性组成:状态,状态数据,事件。

本步骤之前,在智能网关检测到网络控制器为在线状态时,向智能网关后台管理系统发送网络控制器在线指令。

本步骤中,智能网关后台管理系统接收智能网关发送的网络控制器在线指令,通过akka框架建立网络控制器有限状态机。

本实施例中,网络控制器(hub)有限状态机构成包括:

1.状态

包括:

1)等待状态

等待状态为网络控制器(hub)有限状态机初始状态;

2)绑定状态

当智能网关与网络控制器完成绑定后,网络控制器有限状态机切换至绑定状态;

3)搜索设备状态

当网络控制器有限状态机处于搜索设备状态时,说明网络控制器已开始自动搜索智能设备。

2.状态数据

包括:智能网关后台管理系统与智能网关的tcp连接通道。

智能网关后台管理系统使用该通道与智能网关进行指令交互。

3.事件

包括:

1)绑定事件:绑定hub指令;

2)绑定完成事件:智能网关返回绑定成功指令;

3)搜索设备事件:给hub发出搜索设备指令;

4)搜索设备完成事件:智能网关返回搜索设备指令接收成功消息。

s2.接收用户控制指令,并根据所述网络控制器有限状态机的状态信息判断所述控制指令是否为可执行指令;

本步骤中,用户通过手机或者其他控制端向智能网关后台管理系统发送控制指令。

智能网关后台管理系统在接收到该用户控制指令后,根据所述网络控制器有限状态机的状态信息判断所述控制指令是否为可执行指令。

s3.若所述控制指令为可执行指令,根据所述控制指令发送控制命令至智能网关。

本步骤中,若根据所述网络控制器有限状态机的状态信息判断所述控制指令为可执行指令,则智能网关后台管理系统根据用户想要完成的操作,自动的给智能网关发送一系列执行命令,最终完成对智能设备的控制。

如图2所示为本实施例中一种使用有限状态机控制智能网关的系统结构图,该系统包括:

接收模块110,用于接收智能网关发送的网络控制器在线指令;接收模块110还用于接收用户控制指令;

建立模块120,用于通过akka框架建立网络控制器有限状态机;

判断模块130,用于根据所述网络控制器有限状态机的状态信息判断所述控制指令是否为可执行指令;

发送模块140,用于当所述控制指令为可执行指令时,根据所述控制指令发送控制命令至智能网关。

如图3所示为本实施例中一种智能设备控制系统结构图,该系统包括:

智能网关后台管理系统100、智能网关200、网络控制器300、智能设备400;

所述智能网关后台管理系统100包括:

接收模块110,用于接收智能网关发送的网络控制器在线指令,所述接收模块还用于接收用户控制指令;

建立模块120,用于通过akka框架建立网络控制器有限状态机;

判断模块130,用于根据所述网络控制器有限状态机的状态信息判断所述控制指令是否为可执行指令;

发送模块140,用于当所述控制指令为可执行指令时,根据所述控制指令发送控制命令至智能网关;

所述智能网关200用于通过tcp连接通道与智能网关后台管理系统100进行指令交互,并将智能网关后台管理系统100发送的控制指令发送至网络控制器300;

所述网络控制器300用于根据智能网关200发送的控制指令控制智能设备400,所述网络控制器还用于通过智能网关向智能网关后台管理系统发送所述智能设备的指令执行情况信息。

本实施例优点在于:

①通过有限状态机的方式,判断智能家居指令是否在当前工作状态下可以执行,有效减少代码的复杂性。

②通过状态和事件,可以自动的执行一系列的动作指令,完成最终操作,减少人工干预过程。

实施例二

本实施例与之前的实施例不同之处在于,本实施例中还包括对控制命令执行情况的监测。

如图4所示为本实施例中一种使用有限状态机控制智能网关的方法流程图,本实施例中该方法还包括:

s4.监测所述网络控制器有限状态机的状态改变时间,若所述状态改变时间大于预定时间,则判断指令执行失败,所述网络控制器有限状态机返回等待状态。

在控制智能家居时,需要一种方法对控制命令的执行结果进行监测,如果设备出现问题,可以把智能家居设备转换到可以继续操作的状态。

本实施例使用状态改变超时监测机制,在某一个状态下,执行一条指令,如果在指定的时间内,没有返回执行结果,系统认为执行失败,并把智能家居转到指定的初始化状态,等候新的指令。

如图5所示为本实施例中一种使用有限状态机控制智能网关的系统结构图,本实施例中该系统还包括:

监测模块150,用于监测所述网络控制器有限状态机的状态改变时间,若所述状态改变时间大于预定时间,则判断指令执行失败,所述网络控制器有限状态机返回等待状态。

本实施例中,一种智能设备控制系统中智能网关后台管理系统100还包括:

监测模块150,用于监测所述网络控制器有限状态机的状态改变时间,若所述状态改变时间大于预定时间,则判断指令执行失败,所述网络控制器有限状态机返回等待状态。

本实施例优点在于,通过监控状态改变的时间长度,判断指令是否正确执行。如果发生异常,执行时间超时,把智能家居转换到初始化状态。

实施例三

本实施例使用智能网关控制飞利浦智能灯为例说明有限状态机在智能网关后台管理管理系统中的使用。

智能灯控制系统由手机(或其他控制端)、智能网关后台管理系统、智能网关、网络控制器(hub)、智能灯组成。

如图6所示为智能灯控制系统工作流程图,用户在手机程序中发出控制灯指令,智能网关后台管理系统收到指令后完成以下动作,具体步骤如下:

1)给智能网关发出绑定网络控制器指令;

2)网络控制器通过智能网关返回绑定成功指令;

3)给智能网关发出搜索灯指令;

4)网络控制器通过智能网关返回指令获取成功命令;

5)网络控制器开始搜索智能灯,并把搜索到的智能灯通过智能网关上报到智能网关后台管理系统;

6)通过手机程序给智能网关后台程序发送控制灯指令(开/关,亮度,色温)。

本实施例中,在智能网关发现网络控制器(hub)在线后,给智能网关后台管理程序发送hub在线指令,后台管理程序收到指令后,生成hub有限状态机对象,有限状态机进入开始状态,并把tcp连接通道设置为状态数据:startwith(等待状态,状态数据:tcp连接通道);

用户通过手机发送搜索灯指令,后台管理程序给智能网关发送以下命令:

1)绑定网络控制器指令,如果hub在等待状态,那么可以执行绑定指令,在智能网关和hub之间建立连接

when(等待状态,matchevent(绑定事件,(event,data)->{

给智能网关发出绑定hub指令,状态机进入绑定状态,设置绑定执行时间最长为2秒

returngoto(绑定状态).formax(2秒钟);

}));

2)后台管理程序接收绑定成功消息后,如果hub在绑定状态,hub执行搜索灯指令

when(绑定状态,matchevent(绑定完成事件,(event,data)->{

给智能网关发出搜索灯指令,状态机进入搜索灯状态,设置执行时间为2秒

returngoto(搜索灯状态).formax(2秒钟);

}));

3)后台管理程序接收搜索灯指令接收成功消息后,如果hub在搜索灯状态,说明hub开始自动搜索灯

when(搜索灯状态,matchevent(搜索灯完成事件,(event,data)->

{

状态机保留为搜索灯完成事件

returnstay();

}));

4)如果指令执行时间超时,hub返回到等待状态

whenunhandled(matchevent(超时事件,(event,data)->{

returngoto(等待状态);

}));

本实施例通过智能网关控制智能家居时,使用有限状态机的编程方式,减少系统代码的复杂度,过滤不正确的指令,并监控指令的执行结果,从而提高系统的稳定性和可维护性,提高系统的执行效率。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

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