一种自动生成动态脚本的方法

文档序号:9579055阅读:2737来源:国知局
一种自动生成动态脚本的方法
【技术领域】
[0001]本发明涉及一种生产脚本的方法,具体涉及一种自动生成动态脚本的方法,本发明属于软件设计领域。
【背景技术】
[0002]目前市面上出现了越来越多的智能化产品,如电视、空调、空气净化器、门铃等等产品都接入了互联网。通过手机或电脑可以将这些产品的控制变得更加的方便和快捷,给用户的生活方式带来极大的改变。
[0003]对于软件开发者而言,软件的变化肯定是越少越好,越少越稳定,所以会对控制指令进行相应的标准化,通过动态脚本的方式将这些指令转换成设备所需的通信数据,新增产品后仅需开发动态脚本就可以直接控制设备,而不需要通过升级应用等操作来达到这一目的,但是脚本开发也需要耗费很大的经历,并且脚本的开发容易出错,且调试相对麻烦,需要上传脚本,通过APP下载,最后进行测试。可见,现有技术对脚本的开发仍然缺乏有效地解决方法。
[0004]申请人检索了与现有技术,其中中国申请CN200680020628.1,申请人为松下电器产业株式会社的专利《脚本生成装置、脚本生成方法以及脚本生成程序》,根据对动画制作不具有特别的知识的用户所制作的文本句子,也能够自动生成脚本的脚本生成装置,所述脚本用于生成用户期望的表现丰富的动画。脚本生成单元根据用户输入句子生成脚本;脚本编辑单元利用由外界信息获取单元获取了的外界信息,以从所生成的脚本的用语想出的信息来编辑脚本。也就是说,脚本生成装置识别应追加到用户所制作的文本句子的信息,利用从用户持有的设备或存在于可通信的范围内的设备获取了的外界信息,将信息追加到脚本。由此,即使用户不具有特别的知识,也能够生成用于实现与用户所意图的形式相近的表现的动画的脚本。但是,此专利其输入的是文本句子,与控制指令不同。
[0005]中国申请CN201410444553.6,申请人为武汉烽火网络有限责任公司的专利《图形化脚本编辑器及快速开发通信设备测试脚本的方法》公开了一种图形化脚本编辑器及快速开发通信设备测试脚本的方法,涉及图形化界面开发领域,该图形化脚本编辑器包括函数信息文件库形成单元、函数自动加载单元、函数树生成单元、树形结构显示单元、函数赋值单元、个性化图形界面显示单元和脚本开发单元。在整个通信设备测试脚本的编写过程中,开发人员只需按照图形化界面的提示完成通信设备测试脚本参数的输入,无需了解编写语法与书写格式,就能完成通信设备测试脚本的无错开发。但是此技术仍然需要开发人员进行脚本参数的输入,其不能实现自动生成。

【发明内容】

[0006]为解决现有技术的不足,本发明的目的在于提供一种自动生成动态脚本的方法,以解决现有技术难以对脚本开发容易出错,调试麻烦的技术问题。
[0007]为了实现上述目标,本发明采用如下的技术方案: 一种自动生成动态脚本的方法,其特征在于,包括如下步骤:
步骤一:获取设备的通讯协议;
步骤二:对设备的通讯协议进行描述;
步骤三:根据对通讯协议描述的内容,生成对应的关系表;
步骤四:根据关系表,自动生成动态脚本。
[0008]前述的一种自动生成动态脚本的方法,其特征在于,所述步骤二包括:对通讯协议中数据区的每个数据位进行说明。
[0009]前述的一种自动生成动态脚本的方法,其特征在于,分别对通讯协议中数据的类型、长度、数值进行说明。
[0010]前述的一种自动生成动态脚本的方法,其特征在于,所述步骤三中对通讯协议描述的内容包括:根据描述的内容得知设备具有的功能数量,每个功能的名称,每个功能的值对应于数据区的起始位和结束位,数据值的类型,通信协议的数据区的长度。
[0011]前述的一种自动生成动态脚本的方法,其特征在于,数据值的类型包括枚举值、连续型。
[0012]前述的一种自动生成动态脚本的方法,其特征在于,所述步骤四包括:
步骤4a:查找每一个功能所对应的通信协议的起始位和结束位;
步骤4b:查找到每个功能的值类型;
步骤4c:若功能的为枚举类型,则查找到对应功能的所有枚举值,若功能为连续值,则设置相对应的真实值;
步骤4d:根据标准格式的控制指令还原出通信数据。
[0013]本发明的有益之处在于:本发明根据设备的通信协议将设备的功能进行描述,描述信息产生的关系表可以自动生成脚本,用于处理标准控制指令的解析和处理。这样就只需要完成描述的操作,描述工作的出错概率远远低于脚本开发。
【附图说明】
[0014]图1是本发明一种自动生成动态脚本的方法的流程图;
图2是本发明一种自动生成动态脚本的方法中步骤四的展开流程图。
【具体实施方式】
[0015]以下结合附图和具体实施例对本发明作具体的介绍。
[0016]参照图1所示,本发明给出了一种自动生成动态脚本的方法的流程图。其总的思路是:根据设备的通信协议将设备的功能进行描述,描述信息产生的关系表可以自动生成脚本,用于处理标准控制指令的解析和处理。本实施例将针对该流程图展开说明。图1中流程包括四步骤。
[0017]步骤一:获取设备的通讯协议。本发明不限制设备的类型,其可以是市面上各种智能化产品,如电视、空调、空气净化器、门铃等等。本发明也不限制通讯协议的具体格式。通讯协议中一般包括数据区。数据区由多个数据位组成。
[0018]步骤二:对设备的通讯协议进行描述。该步是实现动态生成脚本的关键,针对通讯协议中的每个数据位进行说明,进一步,分别对通讯协议中数据的类型、长度、数值进行说明。通讯协议中往往涉及到两种类型的数据:枚举型和连续型。更经常只涉及枚举型和连续型这两种类型。例如第1位到第8位所占用的一个字节表示设备当前的开关状态,开关的值类型属于枚举值,取值范围为[0,1],第9位到第17位所占用的9个数据位表示设备当前的温度,温度的值属于连续型,最小值为1,最大值为100,步长为1,倍数为1。再加上通讯协议的数据长度。
[0019]下面举例说明。例如:一个设备的通信协议长度为4个字节,具有两个功能:开关(pwr)和温度(temp).其中pwr在通信协议中占用的始末位为bit0_bit7,为枚举类型的值,值分别为1和2,temp在通信协议中占用的始末位为bit8_bit23,为连续类型的值,最小值为1,最大值为1000,步长为1,倍数也为1。可以生成以下规则说明,以JS0N表述为例,给出一个示例的程序码,从中可以更加直观得知对设备的通讯协议进行描述的过程,每一行程序代码中,“//”表示的是对左侧程序代码的文字说明,本领域技术人员可以根据JS0N表述的通用规则对程序其他部分进行解读:
{
“protocol_len”: 4, //通信协议的长度 “dev_func”: [ // 功能列表
{
“name”: “pwr”,//功能名称 “start”: 0, //占用位的起始位 “end”: 7,//占用位的结束位 “val_type”: 0, //0:枚举 1:连续 “val”: [1,2] //枚举值 },
{<
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1