一种使用相同规则实现对不同产品的控制的方法_2

文档序号:9349789阅读:来源:国知局
br>【具体实施方式】
[0023]下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体说明。
[0024]实施例:
[0025]—种使用相同规则实现对不同产品的控制的方法(参见附图1、附图2、附图3和附图4),用于手机应用对目标硬件进行控制,包括以下步骤:
[0026]步骤一:首先生成一个转换规则的pattern文件,然后对采用C语言定义的目标硬件的通信协议进行解析;
[0027]步骤二:使用xml文件对目标硬件的通信协议中C语言结构体信息;
[0028]步骤三:将xml描述的结构体信息转换成描述信息,通过xml描述信息获取通信协议具有结构体成员的数量,每个结构体所占内存的大小,每个结构体的编号和结构体的名称,同时获知结构体有多少个成员变量,每个成员变量我们可以描述出它所占内容的大小以及结构体中的位置,以及每个机构图的相对起始位置的偏移量、数据类型、是否是数组、数据大小、变量名称和数组大小是否依赖另一个变量,同时根据描述信息生成预先设定的json的转换规则;
[0029]步骤四:根据步骤三设定json的转换规则,形成二进制描述文件,将结构体名称作为key,将结构体的成员变量的集合作为value,每一个具体的结构体成员均属于该value中的子集,每个结构体成员变量名称是以key形式存在,每个结构体成员变量值是以value形式存在;
[0030]步骤五:将目标硬件的功能规则通过Iua脚本进行转换,同时将目标硬件的通信协议中的位操作内容通过Iua脚本进行转换补充,形成json格式的字符串;
[0031]步骤六:通过pattern文件将json格式的字符串转换成C语言的二进制数据;
[0032]步骤七:目标硬件根据C语言的二进制数据执行相应功能。
[0033]预先设定的json的转换规则由目标硬件的控制功能决定。
[0034]目标硬件传输数据至手机应用包括以下步骤:目标硬件传输的C语言的二进制数据和pattern文件通过Iua脚本处理形成json格式的字符串,手机应用接收json格式的字符串。
[0035]对于每个硬件设备都会有属于自己的一套C语言通信协议,而C语言通信协议是有不同的结构体组成,通过预定义规则,我们可以通过xml格式将结构体描述清楚。同时也可以根据通信协议生成一套适用于多平台的json格式规则。
[0036]另外根据xml文件,生成转换方法的关键步骤——二进制描述文件。
[0037]二进制文件里面包含了通信协议的所有信息:共含有多少个结构体,每个结构体所含有的成员变量,每个变量的数据类型,是否指针类型,偏移量,所占内存空间,变量名称,是否数组,数组大小,数组大小依赖关系以及是否是十六进制内容。
[0038]硬件定义通信协议时,往往采用C语言定义,在定义的过程中可以通过本方法将结构体信息生成一个描述文件,再根据描述文件定义一套标准的json字符串,这样就可以达到在多平台中使用本技术对字符串进行转换,从而达到控制智能硬件的目的。
[0039]以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。
【主权项】
1.一种使用相同规则实现对不同产品的控制的方法,用于手机应用对目标硬件进行控制,其特征在于:包括以下步骤: 步骤一:首先生成一个转换规则的pattern文件,然后对采用C语言定义的目标硬件的通信协议进行解析; 步骤二:使用xml文件对目标硬件的通信协议中C语言结构体信息; 步骤三:将xml描述的结构体信息转换成描述信息,通过xml描述信息获取通信协议具有结构体成员的数量,每个结构体所占内存的大小,每个结构体的编号和结构体的名称,同时获知结构体有多少个成员变量,每个成员变量我们可以描述出它所占内容的大小以及结构体中的位置,以及每个机构图的相对起始位置的偏移量、数据类型、是否是数组、数据大小、变量名称和数组大小是否依赖另一个变量,同时根据描述信息生成预先设定的序列化的转换规则; 步骤四:根据步骤三设定序列化的转换规则,形成二进制描述文件,将结构体名称作为key,将结构体的成员变量的集合作为value,每一个具体的结构体成员均属于该value中的子集,每个结构体成员变量名称是以key形式存在,每个结构体成员变量值是以value形式存在; 步骤五:将目标硬件的功能规则通过转换脚本进行转换,同时将目标硬件的通信协议中的位操作内容通过转换脚本进行转换补充,形成序列化格式的字符串; 步骤六:通过pattern文件将序列化格式的字符串转换成C语言的二进制数据; 步骤七:目标硬件根据C语言的二进制数据执行相应功能。2.根据权利要求1所述的使用相同规则实现对不同产品的控制的方法,其特征在于:预先设定的序列化的转换规则由目标硬件的控制功能决定。3.根据权利要求1所述的使用相同规则实现对不同产品的控制的方法,其特征在于:目标硬件传输数据至手机应用包括以下步骤:目标硬件传输的C语言的二进制数据和pattern文件通过转换脚本处理形成序列化格式的字符串,手机应用接收序列化格式的字符串。4.根据权利要求1或2或3所述的使用相同规则实现对不同产品的控制的方法,其特征在于:序列化格式的字符串为json、xml、protocol buffer、AData或MGen格式的字符串.5.根据权利要求1或2或3所述的使用相同规则实现对不同产品的控制的方法,其特征在于:转换脚本为js、python、Iua或ruby脚本。
【专利摘要】本发明涉及使用相同规则实现对不同产品的控制的方法。解决了现有技术的不足,技术方案为:步骤一:首先生成一个转换规则的pattern文件,然后对采用C语言定义的目标硬件的通信协议进行解析;步骤二:使用xml文件对目标硬件的通信协议中C语言结构体信息;步骤三:将xml描述的结构体信息转换成描述信息,步骤四:根据步骤三设定json的转换规则,形成二进制描述文件,步骤五:将目标硬件的功能规则通过lua脚本进行转换,同时将目标硬件的通信协议中的位操作内容通过lua脚本进行转换补充,形成json格式的字符串;步骤六:通过pattern文件将json格式的字符串转换成C语言的二进制数据;步骤七:目标硬件根据C语言的二进制数据执行相应功能。
【IPC分类】G06F9/45
【公开号】CN105068854
【申请号】CN201510483632
【发明人】姚博
【申请人】杭州古北电子科技有限公司
【公开日】2015年11月18日
【申请日】2015年8月7日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1