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

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

Info

Publication number
CN105068854A
CN105068854A CN201510483632.2A CN201510483632A CN105068854A CN 105068854 A CN105068854 A CN 105068854A CN 201510483632 A CN201510483632 A CN 201510483632A CN 105068854 A CN105068854 A CN 105068854A
Authority
CN
China
Prior art keywords
target hardware
language
character string
rule
communication protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510483632.2A
Other languages
English (en)
Other versions
CN105068854B (zh
Inventor
姚博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Bolian Intelligent Technology Co., Ltd.
Original Assignee
Hangzhou Gubei Electronic Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Gubei Electronic Technology Co Ltd filed Critical Hangzhou Gubei Electronic Technology Co Ltd
Priority to CN201510483632.2A priority Critical patent/CN105068854B/zh
Publication of CN105068854A publication Critical patent/CN105068854A/zh
Application granted granted Critical
Publication of CN105068854B publication Critical patent/CN105068854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及使用相同规则实现对不同产品的控制的方法。解决了现有技术的不足,技术方案为:步骤一:首先生成一个转换规则的pattern文件,然后对采用C语言定义的目标硬件的通信协议进行解析;步骤二:使用xml文件对目标硬件的通信协议中C语言结构体信息;步骤三:将xml描述的结构体信息转换成描述信息,步骤四:根据步骤三设定json的转换规则,形成二进制描述文件,步骤五:将目标硬件的功能规则通过lua脚本进行转换,同时将目标硬件的通信协议中的位操作内容通过lua脚本进行转换补充,形成json格式的字符串;步骤六:通过pattern文件将json格式的字符串转换成C语言的二进制数据;步骤七:目标硬件根据C语言的二进制数据执行相应功能。

Description

一种使用相同规则实现对不同产品的控制的方法
技术领域
本发明是一种设备控制方法,特别是涉及一种使用相同规则实现对不同产品的控制的方法。
背景技术
随着物联网智能家居的普及,越来越多的平台终端需要与智能产品进行通信。每个智能产品都具有不同的功能,所以各个智能产品也都具有特有的通信协议,这就加大了开发难度,针对每一个产品都需要进行不同的开发。本发明采取对不同产品的功能进行分类,对每一个功能进行预定义,然后通过该规则处理成不同的通信协议,实现对不同具有同一功能的产品进行控制。目前市面上出现了越来越多的智能化产品,如电视、空调、空气净化器、门铃等等产品都接入了互联网。通过手机或电脑可以将这些产品的控制变得更加的方便和快捷,给用户的生活方式带来极大的改变。以往这些产品都是零散的存在,且每个产品都拥有一个独立的APP,这样就造成用户操作的极大不方便,一个用户可能具有很多个产品,控制时需要在不同的APP之间进行切换;随后就产生了超级APP,顾名思义就是在同一个APP中,实现对不同的设备进行控制的功能。超级APP的产生对用户控制方面造成了极大的方便,却带来的另外一个影响。随着不同产品的接入,超级APP需要频繁的更新,且每加入一个产品,都需要对该产品进行一次开发升级过程,并且新添加的协议容易造成APP的各种不稳定。
中国专利申请号:CN201410137390.7,公开日:2014年6月18日,公开了基于智能家居设备安全挂件的家居信任组网的实现方法,步骤为:智能家居设备与家居网关的自主信任组网,智能家居设备安全挂件获得公私密钥对、硬件PIN码和统一密钥K,同时将挂件公钥上传到云端的家居数据服务中心,完成对智能家居设备安全挂件出厂初始化工作;智能家居网关与集成了初始化的智能家居设备安全挂件的智能家居设备,借助云端的家居数据服务中心完成智能家居设备的合法验证后,与智能家居设备自主的信任组网及协商随机性的通信加密密钥,实现家居网关与用户智能家居设备的可信身份绑定;智能家居网关通过随机性的通信加密秘钥实现对智能家居内部网络环境的通信加密。但是此技术方案依然存在每个产品都拥有一个独立的APP,这样就造成用户操作的极大不方便,一个用户可能具有很多个产品,控制时需要在不同的APP之间进行切换或者是随着不同产品的接入,超级APP需要频繁的更新,且每加入一个产品,都需要对该产品进行一次开发升级过程,并且新添加的协议容易造成APP的各种不稳定的问题。
发明内容
本发明的目的是为解决目前的技术方案中存在每个产品都拥有一个独立的APP,这样就造成用户操作的极大不方便,一个用户可能具有很多个产品,控制时需要在不同的APP之间进行切换或者是随着不同产品的接入,超级APP需要频繁的更新,且每加入一个产品,都需要对该产品进行一次开发升级过程,并且新添加的协议容易造成APP的各种不稳定的问题,提供一种使用相同规则实现对不同产品的控制的方法。
本发明解决其技术问题所采用的技术方案是:一种使用相同规则实现对不同产品的控制的方法,用于手机应用对目标硬件进行控制,其特征在于:包括以下步骤:
步骤一:首先生成一个转换规则的pattern文件,然后对采用C语言定义的目标硬件的通信协议进行解析;
步骤二:使用xml文件对目标硬件的通信协议中C语言结构体信息;
步骤三:将xml描述的结构体信息转换成描述信息,通过xml描述信息获取通信协议具有结构体成员的数量,每个结构体所占内存的大小,每个结构体的编号和结构体的名称,同时获知结构体有多少个成员变量,每个成员变量我们可以描述出它所占内容的大小以及结构体中的位置,以及每个机构图的相对起始位置的偏移量、数据类型、是否是数组、数据大小、变量名称和数组大小是否依赖另一个变量,同时根据描述信息生成预先设定的序列化的转换规则;
步骤四:根据步骤三设定序列化的转换规则,形成二进制描述文件,将结构体名称作为key,将结构体的成员变量的集合作为value,每一个具体的结构体成员均属于该value中的子集,每个结构体成员变量名称是以key形式存在,每个结构体成员变量值是以value形式存在;
步骤五:将目标硬件的功能规则通过转换脚本进行转换,同时将目标硬件的通信协议中的位操作内容通过转换脚本进行转换补充,形成序列化格式的字符串;
步骤六:通过pattern文件将序列化格式的字符串转换成C语言的二进制数据;
步骤七:目标硬件根据C语言的二进制数据执行相应功能。
一个产品具有一个或者多个功能,所以我们只要实现了这些功能规则,就可以实现对产品的控制。往往不同的产品或多或少都会具有相同的功能。例如:所有的电器都具有开关功能。那我们只要实现开关功能的规则,就可以控制所有产品的开关功能。如果新添加的产品的功能已经预先全部实现,那么不再需要进行开发过程。只要将该规则解析成该产品特有的通信协议就可以了。为了在不同平台之间进行通信,我们将功能点的规则定义成json格式的字符串。但在智能产品中,每个产品都有属于自己的一套通信协议,由于硬件资源的限制和通信数据流量最小化的制约条件,一般使用的都是C语言来定义。我们通过如下方法将规则的json字符串转换成只能产品所需要的C语言结构。硬件定义通信协议时,往往采用C语言定义,在定义的过程中可以通过本方法将结构体信息生成一个描述文件,再根据描述文件定义一套标准的json字符串,这样就可以达到在多平台中使用本技术对字符串进行转换,从而达到控制智能硬件的目的。
作为优选,预先设定的序列化的转换规则由目标硬件的控制功能决定。
作为优选,目标硬件传输数据至手机应用包括以下步骤:目标硬件传输的C语言的二进制数据和pattern文件通过转换脚本处理形成序列化格式的字符串,手机应用接收序列化格式的字符串。
作为优选,序列化格式的字符串为json、xml、protocolbuffer、AData或MGen格式的字符串.
作为优选,转换脚本为js、python、lua或ruby脚本。
本发明的实质性效果是:可以达到在多平台中使用本技术对字符串进行转换,从而达到控制智能硬件的目的。
附图说明
图1为本发明中规则生成示意图;
图2为本发明中json转换为c的示意图;
图3为本发明中c转换为json的示意图;
图4为本发明的流程示意图。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体说明。
实施例:
一种使用相同规则实现对不同产品的控制的方法(参见附图1、附图2、附图3和附图4),用于手机应用对目标硬件进行控制,包括以下步骤:
步骤一:首先生成一个转换规则的pattern文件,然后对采用C语言定义的目标硬件的通信协议进行解析;
步骤二:使用xml文件对目标硬件的通信协议中C语言结构体信息;
步骤三:将xml描述的结构体信息转换成描述信息,通过xml描述信息获取通信协议具有结构体成员的数量,每个结构体所占内存的大小,每个结构体的编号和结构体的名称,同时获知结构体有多少个成员变量,每个成员变量我们可以描述出它所占内容的大小以及结构体中的位置,以及每个机构图的相对起始位置的偏移量、数据类型、是否是数组、数据大小、变量名称和数组大小是否依赖另一个变量,同时根据描述信息生成预先设定的json的转换规则;
步骤四:根据步骤三设定json的转换规则,形成二进制描述文件,将结构体名称作为key,将结构体的成员变量的集合作为value,每一个具体的结构体成员均属于该value中的子集,每个结构体成员变量名称是以key形式存在,每个结构体成员变量值是以value形式存在;
步骤五:将目标硬件的功能规则通过lua脚本进行转换,同时将目标硬件的通信协议中的位操作内容通过lua脚本进行转换补充,形成json格式的字符串;
步骤六:通过pattern文件将json格式的字符串转换成C语言的二进制数据;
步骤七:目标硬件根据C语言的二进制数据执行相应功能。
预先设定的json的转换规则由目标硬件的控制功能决定。
目标硬件传输数据至手机应用包括以下步骤:目标硬件传输的C语言的二进制数据和pattern文件通过lua脚本处理形成json格式的字符串,手机应用接收json格式的字符串。
对于每个硬件设备都会有属于自己的一套C语言通信协议,而C语言通信协议是有不同的结构体组成,通过预定义规则,我们可以通过xml格式将结构体描述清楚。同时也可以根据通信协议生成一套适用于多平台的json格式规则。
另外根据xml文件,生成转换方法的关键步骤——二进制描述文件。
二进制文件里面包含了通信协议的所有信息:共含有多少个结构体,每个结构体所含有的成员变量,每个变量的数据类型,是否指针类型,偏移量,所占内存空间,变量名称,是否数组,数组大小,数组大小依赖关系以及是否是十六进制内容。
硬件定义通信协议时,往往采用C语言定义,在定义的过程中可以通过本方法将结构体信息生成一个描述文件,再根据描述文件定义一套标准的json字符串,这样就可以达到在多平台中使用本技术对字符串进行转换,从而达到控制智能硬件的目的。
以上所述的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

Claims (5)

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、protocolbuffer、AData或MGen格式的字符串.
5.根据权利要求1或2或3所述的使用相同规则实现对不同产品的控制的方法,其特征在于:转换脚本为js、python、lua或ruby脚本。
CN201510483632.2A 2015-08-07 2015-08-07 一种使用相同规则实现对不同产品的控制的方法 Active CN105068854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510483632.2A CN105068854B (zh) 2015-08-07 2015-08-07 一种使用相同规则实现对不同产品的控制的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510483632.2A CN105068854B (zh) 2015-08-07 2015-08-07 一种使用相同规则实现对不同产品的控制的方法

Publications (2)

Publication Number Publication Date
CN105068854A true CN105068854A (zh) 2015-11-18
CN105068854B CN105068854B (zh) 2018-04-06

Family

ID=54498232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510483632.2A Active CN105068854B (zh) 2015-08-07 2015-08-07 一种使用相同规则实现对不同产品的控制的方法

Country Status (1)

Country Link
CN (1) CN105068854B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106610838A (zh) * 2016-12-27 2017-05-03 北京酷我科技有限公司 一种多种脚本语言的转换方法
CN106872872A (zh) * 2015-12-14 2017-06-20 北京确安科技股份有限公司 一种芯片测试向量转换方法
CN108366050A (zh) * 2018-01-25 2018-08-03 北京电子工程总体研究所 一种通用通信协议处理方法
CN109298954A (zh) * 2018-09-14 2019-02-01 北京数聚鑫云信息技术有限公司 一种智能调用Dubbo远程服务的方法及装置
CN109902274A (zh) * 2019-02-22 2019-06-18 今天东翼科技有限公司 一种将json字符串转化为thrift二进制流的方法及系统
CN109993152A (zh) * 2019-04-15 2019-07-09 武汉轻工大学 坐标曲线积分的模式转换方法、设备、存储介质及装置
CN110324325A (zh) * 2019-06-19 2019-10-11 中国科学院西安光学精密机械研究所 一种基于配置文件的卫星地面系统通信协议实现方法
CN110609534A (zh) * 2019-11-01 2019-12-24 北京昊恒天科技有限公司 一种智能家居控制方法及系统
CN111752840A (zh) * 2020-06-28 2020-10-09 中电长城(长沙)信息技术有限公司 一种跨系统的金融自助设备sp自动测试方法、设备及介质
CN112925572A (zh) * 2021-03-01 2021-06-08 联想(北京)有限公司 一种控制方法、装置及电子设备
CN114266227A (zh) * 2021-12-16 2022-04-01 杭州海康威视系统技术有限公司 json数据处理方法、装置、设备及机器可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859133A (zh) * 2009-04-13 2010-10-13 昆山语意自动化科技有限公司 语意电器控制系统及其控制方法
CN102063102A (zh) * 2010-11-19 2011-05-18 深圳市科陆电子科技股份有限公司 一种智能家居远程控制系统及控制方法
CN103064667A (zh) * 2012-12-06 2013-04-24 郑州威科姆科技股份有限公司 一种基于JavaScript扩展控制硬件设备的方法
CN104468968A (zh) * 2014-10-16 2015-03-25 苏州佑瑞检测技术有限公司 一种基于安卓手机的遥控系统的实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101859133A (zh) * 2009-04-13 2010-10-13 昆山语意自动化科技有限公司 语意电器控制系统及其控制方法
CN102063102A (zh) * 2010-11-19 2011-05-18 深圳市科陆电子科技股份有限公司 一种智能家居远程控制系统及控制方法
CN103064667A (zh) * 2012-12-06 2013-04-24 郑州威科姆科技股份有限公司 一种基于JavaScript扩展控制硬件设备的方法
CN104468968A (zh) * 2014-10-16 2015-03-25 苏州佑瑞检测技术有限公司 一种基于安卓手机的遥控系统的实现方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106872872A (zh) * 2015-12-14 2017-06-20 北京确安科技股份有限公司 一种芯片测试向量转换方法
CN106872872B (zh) * 2015-12-14 2020-07-03 北京确安科技股份有限公司 一种芯片测试向量转换方法
CN106610838B (zh) * 2016-12-27 2020-04-24 北京酷我科技有限公司 一种多种脚本语言的转换方法
CN106610838A (zh) * 2016-12-27 2017-05-03 北京酷我科技有限公司 一种多种脚本语言的转换方法
CN108366050A (zh) * 2018-01-25 2018-08-03 北京电子工程总体研究所 一种通用通信协议处理方法
CN109298954A (zh) * 2018-09-14 2019-02-01 北京数聚鑫云信息技术有限公司 一种智能调用Dubbo远程服务的方法及装置
CN109902274A (zh) * 2019-02-22 2019-06-18 今天东翼科技有限公司 一种将json字符串转化为thrift二进制流的方法及系统
CN109993152A (zh) * 2019-04-15 2019-07-09 武汉轻工大学 坐标曲线积分的模式转换方法、设备、存储介质及装置
CN110324325A (zh) * 2019-06-19 2019-10-11 中国科学院西安光学精密机械研究所 一种基于配置文件的卫星地面系统通信协议实现方法
CN110609534A (zh) * 2019-11-01 2019-12-24 北京昊恒天科技有限公司 一种智能家居控制方法及系统
CN111752840A (zh) * 2020-06-28 2020-10-09 中电长城(长沙)信息技术有限公司 一种跨系统的金融自助设备sp自动测试方法、设备及介质
CN111752840B (zh) * 2020-06-28 2023-08-08 中电长城(长沙)信息技术有限公司 一种跨系统的金融自助设备sp自动测试方法、设备及介质
CN112925572A (zh) * 2021-03-01 2021-06-08 联想(北京)有限公司 一种控制方法、装置及电子设备
CN112925572B (zh) * 2021-03-01 2023-05-23 联想(北京)有限公司 一种控制方法、装置及电子设备
CN114266227A (zh) * 2021-12-16 2022-04-01 杭州海康威视系统技术有限公司 json数据处理方法、装置、设备及机器可读存储介质

Also Published As

Publication number Publication date
CN105068854B (zh) 2018-04-06

Similar Documents

Publication Publication Date Title
CN105068854A (zh) 一种使用相同规则实现对不同产品的控制的方法
CN105471686B (zh) 终端控制方法、装置及系统
CN102413150B (zh) 服务器、虚拟桌面控制方法以及虚拟桌面控制系统
Miori et al. Domotic evolution towards the IoT
CN104601695A (zh) 智能设备管控方法、装置和系统
CN111314339B (zh) 数据传输方法及装置
CN101098319A (zh) 基于ip多媒体子系统的家庭网关及其配置方法
US20220345547A1 (en) Mechanisms for an intelligent service layer request abstraction service
CN110476390A (zh) 相关申请的交叉引用
CN104967544B (zh) 网络接入设备联动方法及网络接入设备联动装置
CN105467960A (zh) 上位机兼容多种控制器及其搅拌站的控制系统和方法
CN108306844A (zh) 通过应用编程接口的远程通信和远程编程
Zahra et al. Artificial intelligent smart home automation with secured camera management-based GSM, cloud computing, and arduino
KR102094041B1 (ko) IoT 단말 간 실시간으로 자율적인 상호작용을 위한 RDF 그래프 기반의 Semantic 엔진을 구비한 시스템
CN105005241A (zh) 基于智能终端的多点触控系统和装置
Chakraborty et al. Let Us Create Multiple IoT Device Controller Using AWS, ESP32 And C
CN105791065A (zh) 一种基于资源模型的异构家电控制系统及方法
CN104063227B (zh) 一种基于物联网的指令学习方法
CN102710628B (zh) 一种基于家庭网关的云安全加密方法及系统
KR101707633B1 (ko) 표준/비표준 응용 프로토콜간 데이터 교환 방법과 사용자 정의 조건에 따른 동적제어 가능한 미들웨어 장치
Lin et al. DormTalk: edge computing for the dormitory applications on campus
CN112929863B (zh) 蓝牙信息传输方法、智能门锁的远程控制方法及设备
CN102855280B (zh) 一种异构数据处理方法和装置
CN108989406A (zh) 基于微服务的软件货架实现方法及系统
CN105812157A (zh) 一种物联网设备管理系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310000 Room 101, 1st Floor, Block C, No. 57, Changhe Street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou Bolian Intelligent Technology Co., Ltd.

Address before: Room 106, Building No. 1, 611 Jianghong Road, Changhe Street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee before: Hangzhou Gubei Electronic Technology Co., Ltd.