一种知识图谱驱动的智能硬件控制方法与流程

文档序号:11772715阅读:445来源:国知局
一种知识图谱驱动的智能硬件控制方法与流程

本发明具体涉及一种知识图谱驱动的智能硬件控制方法,属于硬件的智能控制技术领域。



背景技术:

智能硬件是继智能手机之后的一个科技概念,通过软硬件结合的方式,对传统设备进行改造,进而让其拥有智能。目前,智能硬件控制模式主要分为两类,一类是采用智能控制软件直接控制,另一类是基于第三方云平台提供的服务进行联网控制。

对于第一类,智能控制软件通过wifi、蓝牙、zigbee等无线方式或有线方式,对硬件电路进行控制。其控制方式主要是根据编写好的程序实现硬件电路的自动控制,如,智能大棚中的温度控制,即当达到一定温度时,大棚内的风扇开始工作等。对于该类控制方式,如果需要增加或修改功能,必须对主控芯片重新编码。

对于第二类,基于第三方云平台提供的服务进行联网控制模式是使用户通过互联网实现实时控制智能硬件、查询智能硬件设备状态的功能。如中国移动onenet云平台、机智云、阿里云、qq物联智能硬件开放平台等多个第三方云平台都对智能硬件提供服务支持。然而在控制方式方面,为使智能硬件具有更加丰富的功能需要对其进行控制代码的编写,这将导致一是程序十分繁杂,二是工作较为繁琐;此外,基础智能硬件系统与第三方云平台之间连接的网关构造相对复杂,其智能硬件的系统功能在程序编程时更是复杂多变,导致在数据传输和指令控制等方面更易出现误差。总的来说,目前对硬件控制方式较为复杂,智能性较弱。



技术实现要素:

因此,针对现有技术的上述问题,本发明提供一种知识图谱驱动的智能硬件控制方法,从根本上改变了目前的智能硬件控制方式,可以通过自然语言对硬件的功能进行增加、删除或更改,真正实现了硬件的智能化控制。

具体的,智能硬件控制方法包括:

智能硬件知识图谱的生成:

智能硬件知识图谱的生成主要是根据智能硬件的功能模块及相应的模块函数构建,即将智能硬件电路中的结构用语义来表达;

图谱信令产生与推送设计:

图谱信令产生是将图谱中的功能规则生成信令结构的过程;

图谱信令的推送是当图谱信令中的数据发生变化时,将信令推送到智能硬件终端,从而更新终端的运行状态;

智能硬件终端设计:

包括终端的硬件电路搭建及终端的控制主程序编写。

进一步的,所述方法中智能硬件知识图谱的生成具体包括:

对智能硬件终端中的电路硬件结构进行分析,并抽取出相应的功能模块;

对智能硬件终端的软件结构进行分析,抽取出各功能模块的功能函数;

将上述分析抽取得到的内容构建成智能硬件知识图谱。

进一步的,所述方法中图谱信令的产生具体是根据函数id,以及函数与相关的模块产生。

进一步的,所述方法中终端的硬件电路搭建是将所需功能模块电路与主控电路相连接的过程。

进一步的,所述方法中主程序的编写包括:

信令交互部分,用于与图谱信令产生与推送模块进行交互,即函数参数值的交互;

对信令预处理部分,用于对信令进行分析与打包;

信令分发部分,用于根据信令中的函数代码分配到相应的功能函数,使功能函数根据函数代码中的参数进行相应的工作。

本发明的有益效果在于:本发明提供一种知识图谱驱动的智能硬件控制方法,与现有技术相比,具有以下优点:

基于知识图谱的优势,可以利用自然语言对硬件进行编程,即使不懂硬件编程语言,也可以对硬件进行有效地控制。只需通过增加、删除和编辑规则即可为终端增加、删除和更改功能。

通过知识图谱,可以直观地将硬件中的模块结构和模块函数进行展示给用户,有利于用户对硬件的理解与开发。

本发明具有通用性,一是硬件的通用性,可以适用于各种类型如51单片机、avr单片机和arm等为核心的硬件电路;二是编程语言的通用性,这里指的是主控程序所使用的语言,无论哪种编程语言(如,c语言,python语言等),只要能够接收和处理本发明中的信令就可以与知识图谱交互。

自然语言不限于中文,这是由于知识图谱将具体的函数与名称相分立,对于同一个函数可以通过语义关联对应不同的语言表达。因此,对于中文,英文或其它语言都可以用于硬件的操控。

在本发明的基础上,还可以构造出一种硬件的智能操作系统。

附图说明:

图1为基于知识图谱的智能硬件控制结构图;

图2为信令结构示意图;

图3为终端控制主程序示意图;

图4为智能硬件知识图谱示意图;

图5为智能终端硬件电路结构框图;

图6为图5中所示电路的知识图谱示意图。

具体实施方式

下面对本发明的具体实施方式进行说明:

本发明的控制方法主要结构由三部分组成;

如图1所示:

第一部分是智能硬件电路知识图谱,知识图谱包含了概念和概念间的关系,以及规则。基于规则,知识图谱本身可以进行推理,从而可以得到知识图谱内容的隐含知识。而本发明中的智能硬件电路知识图谱,利用了知识图谱本身的优势,即,其中的语义关系与推理功能,可以有效地对硬件进行智能控制。智能硬件知识图谱对智能硬件电路的结构进行语义表达,如,电路中包括了几个功能模块,模块和模块间的关系,以及模块自行的功能函数等,借助知识图谱中的推理机制,可以在现有基本功能的基础上,产生新的功能,而不需要在硬件电路的主程序中增加代码,从而可以有效地对硬件进行智能控制。智能硬件知识图谱中每个模块,每个函数都有自己的惟一的id号。智能硬件知识图谱是本发明的核心内容。

第二部分是图谱信令生成与推送,该模块的功能是将知识图谱中表示功能的规则生成硬件所能识别的信令,并根据用户的需求将功能对应的信令推送到智能硬件终端,使硬件电路提供相应的功能。信令结构如图2所示;

第三部分是智能硬件终端,该终端包含两部分内容,一是终端的硬件电路,要求各功能模块的与主控电路板的连接与主控程序配置模块中的数据保持一致。二是用于控制电路的主程序,本发明中的电路主程序用于接收信令并使得电路实现相应的功能,本发明中的主程序结构与常见的主程序结构不同,主程序结构如图3所示。

功能模块引用部分是将硬件电路中所需模块的功能包引入到主程序中,用于程序中模块函数的调用。功能模块配置与初始化包括对功能模块的硬件电路进行配置,并对各模块进行初始化的过程,目的是使其处于工作状态。主循环模块部分处于循环状态,其中包含了以下子内容,一是信令交互,用于接收和处理由图谱信令生成与推送模块中推送过来的信令;二是信令预处理模块,用于对信令进行数据设置;三是信令分发模块,将信令分发到各功能模块主函数,由该模块中的功能模块接收和处理,产生相应的功能。

智能硬件终端与知识图谱间可以通过无线或有线方式进行交互。

本发明的控制方法的具体控制过程包括以下步骤:

智能硬件知识图谱的生成:

智能硬件知识图谱的生成主要是根据智能硬件的功能模块及相应的模块函数构建,即将智能硬件电路中的结构用语义来表达。具体步骤如下:

对智能硬件终端中的电路硬件结构进行分析,并抽取出相应的功能模块,如lcd显示功能模块,led控制功能模块等。

对智能硬件终端的软件结构进行分析,抽取出各功能模块的功能函数,如,led控制功能模块中的灯开(on())和灯关(off())等。

根据知识图谱构建方法,将上述分析抽取得到的内容构建智能硬件知识图谱,如图4所示。

图谱信令产生与推送设计:

图谱信令产生,是将图谱中的功能规则生成图2所示信令结构的过程,具体如下:

信令的产生是根据函数id,以及函数与相关的模块产生。如产生功能为“led1灯开”的信令。

灯开函数的id为f03,该函数的输入参数为led1,因为led1的id号为c06,并且灯开函数没有返回值,则信令为:[″f03″,[″c06″],[]]

图谱信令的推送,当图谱信令中的数据发生变化时,则将信令推送到智能硬件终端,从而更新终端的运行状态。

智能硬件终端设计:

终端的硬件电路搭建,该步骤是将所需功能模块电路与主控电路相连接的过程,只需将功能模块的引脚与主控模块对应的引脚相连即可。注意:引脚连接要与终端主程序中的功能模块配置与初始化中保持一致。

终端的控制主程序编写,根据图3中的结构,主要分为三大部分,第一部分和第二部分与常用电路软件设计部分的内容相似,第三部分与其它控制主程序不同,主要由三部分组成:一是信令交互部分,用于与图谱信令产生与推送模块进行交互,即函数参数值的交互。二是对信令预处理部分,是用于对信令进行分析与打包,三是信令分发部分,该部分内容类似于编码语言中的case语句,根据信令中的函数代码分配到相应的功能函数,使其根据其中的参数进行相应的动作。

下面以具体实例说明本发明的控制方法,图5所示是一个智能终端硬件结构图,主要有主控电路、led灯组,lcd显示模块和温度模块组成。

首先对硬件结构建立知识图谱,图谱中的每个节点都分配唯一的id号,该硬件电路包含了led灯组模块(id号为c05),lcd显示模块(id号为c04),温度采集模块(id号为c03)。一个led灯组包含两个led灯(id号分别为c06,c07)。

对于这三个模块的功能函数通过知识图谱表示出来,对于led灯组有灯亮(id号为f03)和灯灭(id为f04)两个函数,对于lcd显示模块有显示函数(id号为f02),对于温度模块有温度采集函数(id事情为f01)。

将硬件电路中的具体的实体元件如led灯1,led灯2与相应的函数关联起来。如led灯1与led灯亮关联起来,表示终端主程序中有使led灯1亮的函数。所构建的知识图谱如图6所示。

实施例1:点亮led1

图谱信令产生与推送,对于本实施例,即实现功能为led1灯开的实例。

功能:led1灯开,实现规则:led1灯开。

信令产生结果为:[″f03″,[″led1″],[]],推送方式采用网络服务器推送智能终端主程序设计,根据设计步骤,具体如下(以arduino代码为例):

实施例2:led1灯闪烁:

在此基础上,可以通过规则增加一个新功能,即led1灯闪烁(周期为1秒),因为知识图谱构建与上一功能相同,所以只从第二部分图谱信令的生成与推送开始,对于该功能,我们可以定义如下规则:

功能:led1闪烁周期1秒实现规则:led1灯亮,等待1秒,led1灯灭,等待1秒

图谱信息生成与推送模块根据规则生成如下信令:

[[″f03″,[″c06″],[]],

[″f05″,[″1000″],[]],[″f04″,[″c06″],[]],[″f05″,[″1000″],[]]]

信令生成后,送入到主控程序中的主循环模块,依次执行信息,则可以实现led1以周期为1秒的闪烁功能。

实施例3:温度采集与温度显示实例:

再给出一个温度采集并将温度显示在lcd上的实例:

因为知识图谱构建与上一功能相同,所以只从第二部分图谱信令的生成与推送开始,对于该功能,可以定义如下规则:

功能:lcd显示采集温度,实现规则:lcd显示(温度采集)

图谱信息生成与推送模块根据规则生成如下信令:

[[″f02″,[x],[]],[″f01″,[],[x]]]

在主控程序的主循环模块中增加以下内容:

case:″f01″:

x=gettempratue();

break;

case:″f02″:

lcd.print(x);

break;

则可以实现温度显示的功能。

以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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