电器或电气设备的驱动控制方法及系统与流程

文档序号:20077640发布日期:2020-03-10 09:55阅读:341来源:国知局
电器或电气设备的驱动控制方法及系统与流程

本发明涉及智能家用电器或者电气设备的控制技术领域,尤其涉及一种电器或电气设备的驱动控制方法及系统。



背景技术:

企业在开发基于微控制器的电器或电气设备时,一般需要招聘专业的程序员进行专业化的软硬件开发,既要实现逻辑严谨、坚固稳定的底层硬件驱动,又要实现千差万别、灵活多变的具体用户功能,有着复杂而漫长的开发周期,bug出错率和总体开发成本都也较高。但是面对产品具体功能的多样化、多变化的需求,专业的程序员的并不能准确把握终端用户的多变的功能诉求,且不能满足按照用户需要自由定制功能的期望,以至于用户满意度不高。

以烹饪类家电为例,比如烤箱,专业的程序员对于烤箱的加热控制、温度控制、时间过程控制都可以做得很好。但是具体到千变万化的烘焙类食物加工,专业的程序员肯定不如厨师能更好地把握烤箱的烘焙过程。

因此,急需一种能够让非软件开发人员(比如厨师)也能进行电器或者电气设备的用户功能开发,让厨师等非软件开发人员可通过自然语言或文字描述功能的实现过程,然后由专业的后台系统自动生成控制代码,然后通过互联网、物联网等手段下载到电器或者电气设备上运行调试,实现各种用户功能开发。这样就可以实现使厂家更专注于产品功能的开发,能高效快速的开发新产品,同时也减少家电厂家对大量程序员的依赖的目的;同时把电器或电气设备的用户功能开发开放给广大的用户(包括专业人士、普通用户),通过脚本工具来实现用户功能代码开发,并进一步使电器或电气设备的用户功能能够实现基于互联网、物联网系统的传播、完善、优化和迭代。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种电器或电气设备的驱动控制方法及系统,以使让非软件开发人员可通过自然语言或文字描述实现各种用户功能开发。

为了解决上述技术问题,本发明实施例提出了一种电器或电气设备的驱动控制方法,包括:

步骤1:对电器或电气设备的硬件特征进行抽象分离,分离出各个对应的功能模块部件,对功能模块部件进行硬件编码,设定在该电器或电器设备中唯一的硬件partid,定义出各功能模块部件的关键控制参数和反馈参数,并约定控制参数和反馈参数的取值范围;

步骤2:构建通过硬件partid设置控制参数和读取反馈参数的脚本指令集;

步骤3:根据脚本指令集开发电器或电气设备的脚本解释器以及供脚本解释器调用的底层硬件驱动层;

步骤4:将脚本解释器、底层硬件驱动层编译链接后写入对应的电器或电气设备的微控制器中;

步骤5:根据用户输入的自然语言或文字描述的功能过程信息,通过ai后台系统生成对应的硬件控制脚本代码,由用户利用调试修改工具完善该脚本代码并发布;

步骤6:通过预设的烧写工具、互联网络或物联网络将硬件控制脚本代码下载到电器或电气设备的存储器中,脚本解释器从电器或电气设备的存储器中读取脚本并根据硬件控制脚本代码的约定,在需要时,通过调用底层硬件驱动层的接口实现对电器或电气设备的硬件功能模块部件的控制参数的设置和反馈参数的读取;

步骤7:电器或电气设备的底层硬件按照控制参数工作,脚本解释器依据硬件控制脚本代码的指令要求,按照硬件控制脚本代码约定,结合反馈参数,实现顺序执行、条件执行以及循环执行的功能,完成整个脚本的执行,实现设定的用户功能。

相应地,本发明实施例还提供了一种电器或电气设备的驱动控制系统,包括脚本代码库、脚本解释器、底层硬件驱动层及脚本代码编辑生成模块。

脚本代码库包括适用于多种电器或电气设备的各种功能模块部件的脚本指令集,脚本指令集中包括功能模块部件相对应的硬件partid、关键控制参数、反馈参数以及约定的控制参数和反馈参数相对应的取值范围相适应的脚本指令;

脚本代码编辑生成模块负责根据用户输入的用自然语言或文字描述的功能过程信息,通过ai运算分析,生成对应的硬件控制脚本代码;

脚本解释器对硬件控制脚本代码进行解析,根据硬件控制脚本代码的要求向底层硬件驱动层传送对指定硬件partid对应的功能模块部件的状态控制指令,并从底层硬件驱动层获取指定硬件partid对应的功能模块部件的工作状态信息,按硬件控制脚本代码约定完成顺序执行、条件执行以及循环执行硬件控制脚本代码的功能;

底层硬件驱动层加载电器或者电气设备的底层硬件驱动程序,实现对电器或者电气设备中的功能模块部件的工作参数的设定写入以及工作状态信息的读取反馈。

本发明的有益效果为:本发明可以简化开发流程,将专业严谨的底层硬件开发和灵活多样的用户功能开发分离;电器或电气设备的底层开发由企业专门的专业程序员完成,确保稳定可靠;而千变万化的用户功能则可以由更广范的人群(非专业人员、专业程序员都可以)来完成,甚至可以通过脚本开发平台使用自然语言或语言文字进行开发,相对传统方式可以大幅提升开发效率,开发成本也会大幅度降低;

利用脚本可以跨平台执行的特征,利用“互联网+”和物联网的优势,还能快速基于互联网、物联网系统实现脚本的传播、完善、优化和迭代,产生巨大的社会效应。

附图说明

图1是本发明实施例的电器或电气设备的驱动控制方法的流程示意图。

图2是本发明实施例的代码编辑生成的流程示意图。

图3是本发明实施例的元件装配过程的示意图。

图4是本发明实施例的电器或电气设备的驱动控制系统的结构示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本发明作进一步详细说明。

本发明实施例中若有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,在本发明中若涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。

请参照图1~图3,本发明实施例的电器或电气设备的驱动控制方法,包括步骤1~步骤7。

步骤1:对电器或电气设备的硬件特征进行抽象分离,分离出各个对应的功能模块部件(例如执行器、传感器等),对功能模块部件进行硬件编码,设定在该电器或电器设备中唯一的硬件partid,定义出各功能模块部件的关键控制参数和反馈参数,并约定控制参数和反馈参数的取值范围。

步骤2:构建通过硬件partid设置控制参数和读取反馈参数的脚本指令集。具体实施时,可依据家用电器或电气设备的指令设计规范,制定出符合本申请的各种智能家用电器或电气设备需要的支持的脚本指令集。

步骤3:根据脚本指令集开发电器或电气设备的脚本解释器以及供脚本解释器调用的底层硬件驱动层。

步骤4:将脚本解释器、底层硬件驱动层编译链接后写入对应的电器或电气设备的微控制器中。

步骤5:根据用户输入的自然语言或文字描述的功能过程信息,通过ai后台系统生成对应的硬件控制脚本代码,用户可以利用调试修改工具完善该脚本代码并发布。本发明实施例根据用户利用自然语言或文字描述的功能过程信息生成硬件控制脚本代码。再由用户利用调试修改工具完善该脚本并发布。

步骤6:通过预设的烧写工具、互联网络或物联网络将硬件控制脚本代码下载到电器或电气设备的存储器中,脚本解释器从电器或电气设备的存储器中读取脚本并根据硬件控制脚本代码的约定,在需要时,通过调用底层硬件驱动层的接口实现对电器或电气设备的硬件功能模块部件的控制参数的设置和反馈参数的读取。缓存器可以是微控制器的内置存储器,也可以是微控制器可以访问的其它具有缓存存储能力的装置。

步骤7:电器或电气设备的底层硬件按照控制参数工作,脚本解释器依据硬件控制脚本代码的指令要求,按照硬件控制脚本代码约定,结合反馈参数,实现顺序执行、条件执行以及循环执行的功能,完成整个脚本的执行,实现设定的用户功能。

作为一种实施方式,步骤5包括:

采集子步骤:采集用户输入的自然语言或文字描述的功能过程信息,如果为自然语言,则将自然语言转换为文字;

分析子步骤:对文字进行分词处理,将连续的文字切分成一个个有一定含义或作用的词汇,再根据语法规则、统计规律、依存关系和行业领域因素将词汇组合成句子进行词法分析、句法分析及语义分析;

生成子步骤:确定文字经过分析得到的具体含义和操作对象,并从脚本指令集中配对生成对应的硬件控制脚本代码。

将用自然语言或文字描述的用户功能过程解析转化成硬件控制脚本代码,整个过程如图2所示。

词法分析中首先对文字进行分词处理,将连续的文字切分成一个个有一定含义或作用的词汇,再根据语法规则、统计规律、依存关系和行业领域等多因素将词汇组合成句子进行句法分析,这里用到了成分句法分析、依存句法分析、人工智能ai(artificialintelligence)等识别技术,控制电器或电气设备的动作和流程的句子往往无主语,这一点不同于一般的自然语言处理。例如针对“全部点亮灯柱,持续5秒”这样的文字,可先解析出谓语动词“点亮”、宾语“灯柱”,再确定状语“全部”和补语“持续5秒”,其句法符合汉语的状语+谓语+宾语+补语的句法结构(省略了主语),句法分析完成后就进行语义分析,解析语义可确定操作对象为“灯柱”,具体操作为“点亮”,操作范围为“全部”,持续时间为“5秒”;如果在本硬件范围内,点亮操作只能针对灯柱,宾语“灯柱”也可以省略。再往后就可以根据句子中的动作含义生成不同的操作指令了。

在以上例子中“灯柱”是电器或电气的一个功能模块部件,在功能模块库中具有全局唯一的unionid,其要素包括部件的编码(unionid)、代码库和升级包等;同一个功能模块部件在不同电器或电气设备中可以通用。请参照图3。

经过了语法分析的句子,已经确定了其具体含义和操作对象,不同的语句对应生成不同的硬件控制脚本代码,如果句子有操作对象,就能在本发明的脚本代码库中检索到该设备该操作对象是哪类设备、哪类部件以及部件编码(unionid)等,该部件占用io口是多少、该部件的关键控制参数、反馈参数都有什么、取值范围如何等信息。

电器及电气设备中会集成若干功能模块部件,每个具体的功能模块部件在该电器或电气设备中都会被分配一个硬件编码(partid)。每个partid在该电器或电气设备中保持唯一。不同于本发明的脚本代码库中全局唯一的功能模块部件编码(unionid),具体设备中的部件的硬件编码(partid)只要求在设备范围内保持唯一。两个不同的电器或电气设备中即使partid完全相同的功能模块部件,也可能具有不同的功能模块部件编码(unionid),具有不同的功能。

在构建具体的电器或电气设备的过程中,经过设备定义过程就能确定partid和unionid之间的对应关系。例如针对前面“全部点亮灯柱,持续5秒”的句子,已经确定了具体操作是点亮、操作对象是led灯板、操作时间持续为5秒,就自然能生成“$@a,on,0,5|d5”这样的硬件控制脚本代码,其中$为单条指令的引导符;@的含义指操作执行器,其后紧跟着执行部件的硬件编码partid,本例中也就是a,这里a代表全部灯柱,该部件的partid在本设备的组成部件范围内保持唯一;再后面的参数由逗号隔开,on代表点亮操作。在本发明的脚本代码库中也存在该操作针对不同mcu的可执行代码和参数,包括针对芯片引脚(输入参数)的控制和pwm(pulse-widthmodulation脉冲宽度调制)占空比等默认,这些代码和参数可以在脚本层生成脚本时直接调用使用,从而实现了代码复用;0代表闪烁频率,由于句子指令中没有包含该方面的信息,自动使用0作为缺省值表示不闪烁;5代表持续时间为5秒,|是校验分割符,d5为校验值。

以上是执行器操作例子,除此之外,还可以根据流程控制的具体含义生成顺序、跳转分支或循环等程序结构。

自然语言转换为计算机可以执行的代码,就要做到像编程语言那样精准,为了降低复杂性,我们会把复杂的、带很多参数的功能封装成代码库,甚至可以固定某些缺省参数,就像上面例子里面提到的点亮操作一样,其实现方法是按一定频率扫描灯柱,在一定的周期内控制高电平的持续时间和低电平的持续时间,也就是靠控制pwm占空比来实现人眼看起来的点亮效果。

作为一种实施方式,所述分析子步骤之后还包括:

纠错子步骤:检查词法分析、句法分析及语义分析过程中的错误或遇到不能识别的地方,并对错误或不能识别的地方进行对应的纠错或重新识别。

解析自然语言须按编译原理的准则来要求自然语言文本的录入质量和语义解析的精准性,否者不能生成硬件控制脚本代码。词法分析、句法分析或语义分析过程中都有可能检查出错误或遇到不能识别的地方,表1为常见错误举例以及纠错建议:

表1

通用的功能可以存放在脚本代码库中,代码库中的脚本指令代码可以在构建脚本解释器或生成硬件控制脚本代码时使用。脚本解释器可以采用c/c++等高级语言或者用汇编语言开发,公用功能以c/c++等高级语言或者汇编语言源代码或函数库的形式存在于脚本代码库中,开发特定具体的电器或电气设备的脚本解释器时可以重用这些资源,生成代码的过程类同利用c/c++等高级语言或者汇编语言开发生成代码的过程;生成硬件控制脚本代码时只会使用代码库中的公用脚本,这些脚本里面的跳转地址是以0为起始,是一种可重定位的代码,真正插入到正在编辑的硬件控制脚本代码中时,子功能脚本中所有跳转行号都要加上当前脚本当前所在位置的偏移,使用某一个公用代码来生成当前正编辑的硬件控制脚本代码是一个重定位装载代码的过程。多使用代码库中的资源可以有效地提高开发质量和开发效率。

脚本解释器的源代码或者函数库与特定的处理器指令集是有关联的,也就是当电器或电气设备的脚本处理器改变类型(特别是指令集改变)时,脚本解释器一般都需要重新编译调试。

具体的硬件控制功能脚本代码则与处理器指令集无关。只要脚本解释器兼容支持,硬件控制功能脚本代码则可以跨处理器指令平台运行,一般不需要进行二次开发调试。

请参照图4,本发明实施例的电器或电气设备的驱动控制系统包括脚本代码库、脚本解释器、底层硬件驱动层及脚本代码编辑生成模块。

脚本代码库包括适用于多种电器或电气设备的各种功能模块部件的脚本指令集,脚本指令集中包括功能模块部件相对应的硬件partid、关键控制参数、反馈参数以及约定的控制参数和反馈参数相对应的取值范围相适应的脚本指令。

一个电器或电气设备是由若干个功能模块组成的,我们给组成电器或电气设备的每一个功能模块分配一个硬件id(记作partid),该硬件id(partid)在该电器或电气设备中是唯一的。

我们可以通过脚本指令实现向相应硬件id(partid)对应的功能模块写入控制参数,或者从相应硬件partid对应的功能模块读取反馈参数,或者实现条件判断、跳转到指定脚本、循环执行某段脚本等功能。

脚本代码编辑生成模块负责根据用户输入的用自然语言或文字描述的功能过程信息,通过ai运算分析,生成对应的硬件控制脚本代码。

脚本解释器对硬件控制脚本代码进行解析,根据硬件控制脚本代码的要求向底层硬件驱动层传送对指定硬件partid对应的功能模块部件的状态控制指令,并从底层硬件驱动层获取指定硬件partid对应的功能模块部件的工作状态信息,按硬件控制脚本代码约定完成顺序执行、条件执行以及循环执行硬件控制脚本代码的功能。脚本解释器可以在线或离线升级,还可以根据客户的需求制作支持不同硬件集合的脚本解释器。

底层硬件驱动层加载电器或者电气设备的底层硬件驱动程序,实现对电器或者电气设备中的功能模块部件的工作参数的设定写入以及工作状态信息的读取反馈。

作为一种实施方式,所述脚本代码编辑生成模块包括:

采集子模块:采集用户输入的自然语言或文字描述的功能过程信息,如果为自然语言,则将自然语言转换为文字;

分析子模块:对文字进行分词处理,将连续的文字切分成一个个有一定含义或作用的词汇,再根据语法规则、统计规律、依存关系和行业领域因素将词汇组合成句子进行词法分析、句法分析及语义分析;

生成子模块:确定文字经过分析得到的具体含义和操作对象,并从脚本代码库的脚本指令集中配对生成对应的硬件控制脚本代码。生成的硬件控制脚本代码可以再利用编辑调试工具进行调试和完善。

作为一种实施方式,所述脚本代码编辑生成模块还包括:

纠错子模块:检查词法分析、句法分析及语义分析过程中的错误或遇到不能识别的地方,并对错误或不能识别的地方进行对应的纠错或重新识别。

作为一种实施方式,所述脚本代码库还包括由多种电器或电器设备中抽象出来的功能模块部件进行分类归纳形成的功能模块库,功能模块库中每一个通用的功能模块部件分配一个唯一的编码(unionid),每一个通用的功能模块部件都有其控制参数、反馈参数属性,以及依照功能模块部件的特性约定的控制参数和反馈参数的取值范围。本发明将多种电器或电器设备中抽象出来的功能模块进行分类归纳,可以形成通用的功能模块库,我们给每一个通用的功能模块分配一个唯一的编码,称为部件id(unionid),该部件id(unionid)在功能模块库中是全局唯一的。

在功能模块库中每一个通用的功能模块都有其控制参数、反馈参数等属性,以及依照功能模块的特性约定的控制参数和反馈参数的取值范围。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。

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