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

文档序号:9349789阅读:389来源:国知局
一种使用相同规则实现对不同产品的控制的方法
【技术领域】
[0001]本发明是一种设备控制方法,特别是涉及一种使用相同规则实现对不同产品的控制的方法。
【背景技术】
[0002]随着物联网智能家居的普及,越来越多的平台终端需要与智能产品进行通信。每个智能产品都具有不同的功能,所以各个智能产品也都具有特有的通信协议,这就加大了开发难度,针对每一个产品都需要进行不同的开发。本发明采取对不同产品的功能进行分类,对每一个功能进行预定义,然后通过该规则处理成不同的通信协议,实现对不同具有同一功能的产品进行控制。目前市面上出现了越来越多的智能化产品,如电视、空调、空气净化器、门铃等等产品都接入了互联网。通过手机或电脑可以将这些产品的控制变得更加的方便和快捷,给用户的生活方式带来极大的改变。以往这些产品都是零散的存在,且每个产品都拥有一个独立的APP,这样就造成用户操作的极大不方便,一个用户可能具有很多个产品,控制时需要在不同的APP之间进行切换;随后就产生了超级APP,顾名思义就是在同一个APP中,实现对不同的设备进行控制的功能。超级APP的产生对用户控制方面造成了极大的方便,却带来的另外一个影响。随着不同产品的接入,超级APP需要频繁的更新,且每加入一个产品,都需要对该产品进行一次开发升级过程,并且新添加的协议容易造成APP的各种不稳定。
[0003]中国专利申请号:CN201410137390.7,公开日:2014年6月18日,公开了基于智能家居设备安全挂件的家居信任组网的实现方法,步骤为:智能家居设备与家居网关的自主信任组网,智能家居设备安全挂件获得公私密钥对、硬件PIN码和统一密钥K,同时将挂件公钥上传到云端的家居数据服务中心,完成对智能家居设备安全挂件出厂初始化工作;智能家居网关与集成了初始化的智能家居设备安全挂件的智能家居设备,借助云端的家居数据服务中心完成智能家居设备的合法验证后,与智能家居设备自主的信任组网及协商随机性的通信加密密钥,实现家居网关与用户智能家居设备的可信身份绑定;智能家居网关通过随机性的通信加密秘钥实现对智能家居内部网络环境的通信加密。但是此技术方案依然存在每个产品都拥有一个独立的APP,这样就造成用户操作的极大不方便,一个用户可能具有很多个产品,控制时需要在不同的APP之间进行切换或者是随着不同产品的接入,超级APP需要频繁的更新,且每加入一个产品,都需要对该产品进行一次开发升级过程,并且新添加的协议容易造成APP的各种不稳定的问题。

【发明内容】

[0004]本发明的目的是为解决目前的技术方案中存在每个产品都拥有一个独立的APP,这样就造成用户操作的极大不方便,一个用户可能具有很多个产品,控制时需要在不同的APP之间进行切换或者是随着不同产品的接入,超级APP需要频繁的更新,且每加入一个产品,都需要对该产品进行一次开发升级过程,并且新添加的协议容易造成APP的各种不稳定的问题,提供一种使用相同规则实现对不同产品的控制的方法。
[0005]本发明解决其技术问题所采用的技术方案是:一种使用相同规则实现对不同产品的控制的方法,用于手机应用对目标硬件进行控制,其特征在于:包括以下步骤:
[0006]步骤一:首先生成一个转换规则的pattern文件,然后对采用C语言定义的目标硬件的通信协议进行解析;
[0007]步骤二:使用xml文件对目标硬件的通信协议中C语言结构体信息;
[0008]步骤三:将xml描述的结构体信息转换成描述信息,通过xml描述信息获取通信协议具有结构体成员的数量,每个结构体所占内存的大小,每个结构体的编号和结构体的名称,同时获知结构体有多少个成员变量,每个成员变量我们可以描述出它所占内容的大小以及结构体中的位置,以及每个机构图的相对起始位置的偏移量、数据类型、是否是数组、数据大小、变量名称和数组大小是否依赖另一个变量,同时根据描述信息生成预先设定的序列化的转换规则;
[0009]步骤四:根据步骤三设定序列化的转换规则,形成二进制描述文件,将结构体名称作为key,将结构体的成员变量的集合作为value,每一个具体的结构体成员均属于该value中的子集,每个结构体成员变量名称是以key形式存在,每个结构体成员变量值是以value形式存在;
[0010]步骤五:将目标硬件的功能规则通过转换脚本进行转换,同时将目标硬件的通信协议中的位操作内容通过转换脚本进行转换补充,形成序列化格式的字符串;
[0011]步骤六:通过pattern文件将序列化格式的字符串转换成C语言的二进制数据;
[0012]步骤七:目标硬件根据C语言的二进制数据执行相应功能。
[0013]—个产品具有一个或者多个功能,所以我们只要实现了这些功能规则,就可以实现对产品的控制。往往不同的产品或多或少都会具有相同的功能。例如:所有的电器都具有开关功能。那我们只要实现开关功能的规则,就可以控制所有产品的开关功能。如果新添加的产品的功能已经预先全部实现,那么不再需要进行开发过程。只要将该规则解析成该产品特有的通信协议就可以了。为了在不同平台之间进行通信,我们将功能点的规则定义成json格式的字符串。但在智能产品中,每个产品都有属于自己的一套通信协议,由于硬件资源的限制和通信数据流量最小化的制约条件,一般使用的都是C语言来定义。我们通过如下方法将规则的json字符串转换成只能产品所需要的C语言结构。硬件定义通信协议时,往往采用C语言定义,在定义的过程中可以通过本方法将结构体信息生成一个描述文件,再根据描述文件定义一套标准的json字符串,这样就可以达到在多平台中使用本技术对字符串进行转换,从而达到控制智能硬件的目的。
[0014]作为优选,预先设定的序列化的转换规则由目标硬件的控制功能决定。
[0015]作为优选,目标硬件传输数据至手机应用包括以下步骤:目标硬件传输的C语言的二进制数据和pattern文件通过转换脚本处理形成序列化格式的字符串,手机应用接收序列化格式的字符串。
[0016]作为优选,序列化格式的字符串为json、xml、protocol buffer、AData或MGen格式的字符串.
[0017]作为优选,转换脚本为js、python、Iua或ruby脚本。
[0018]本发明的实质性效果是:可以达到在多平台中使用本技术对字符串进行转换,从而达到控制智能硬件的目的。
【附图说明】
[0019]图1为本发明中规则生成示意图;
[0020]图2为本发明中json转换为c的示意图;
[0021]图3为本发明中c转换为json的示意图;
[0022]图4为本发明的流程示意图。<
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1