CN105068854B - 一种使用相同规则实现对不同产品的控制的方法 - Google Patents
一种使用相同规则实现对不同产品的控制的方法 Download PDFInfo
- Publication number
- CN105068854B CN105068854B CN201510483632.2A CN201510483632A CN105068854B CN 105068854 B CN105068854 B CN 105068854B CN 201510483632 A CN201510483632 A CN 201510483632A CN 105068854 B CN105068854 B CN 105068854B
- Authority
- CN
- China
- Prior art keywords
- target hardware
- language
- rule
- character string
- control
- 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.)
- Active
Links
Landscapes
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
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、protocol buffer、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、protocol buffer、AData或MGen格式的字符串。
5.根据权利要求1或2或3所述的使用相同规则实现对不同产品的控制的方法,其特征在于:转换脚本为js、python、lua或ruby脚本。
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 CN105068854A (zh) | 2015-11-18 |
CN105068854B true 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) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106872872B (zh) * | 2015-12-14 | 2020-07-03 | 北京确安科技股份有限公司 | 一种芯片测试向量转换方法 |
CN106610838B (zh) * | 2016-12-27 | 2020-04-24 | 北京酷我科技有限公司 | 一种多种脚本语言的转换方法 |
CN108366050A (zh) * | 2018-01-25 | 2018-08-03 | 北京电子工程总体研究所 | 一种通用通信协议处理方法 |
CN109298954B (zh) * | 2018-09-14 | 2019-10-25 | 北京数聚鑫云信息技术有限公司 | 一种智能调用Dubbo远程服务的方法及装置 |
CN109902274B (zh) * | 2019-02-22 | 2023-05-30 | 今天东翼科技有限公司 | 一种将json字符串转化为thrift二进制流的方法及系统 |
CN109993152B (zh) * | 2019-04-15 | 2021-03-09 | 武汉轻工大学 | 坐标曲线积分的模式转换方法、设备、存储介质及装置 |
CN110324325A (zh) * | 2019-06-19 | 2019-10-11 | 中国科学院西安光学精密机械研究所 | 一种基于配置文件的卫星地面系统通信协议实现方法 |
CN110609534A (zh) * | 2019-11-01 | 2019-12-24 | 北京昊恒天科技有限公司 | 一种智能家居控制方法及系统 |
CN111752840B (zh) * | 2020-06-28 | 2023-08-08 | 中电长城(长沙)信息技术有限公司 | 一种跨系统的金融自助设备sp自动测试方法、设备及介质 |
CN112925572B (zh) * | 2021-03-01 | 2023-05-23 | 联想(北京)有限公司 | 一种控制方法、装置及电子设备 |
CN114266227B (zh) * | 2021-12-16 | 2024-05-24 | 杭州海康威视系统技术有限公司 | json数据处理方法、装置、设备及机器可读存储介质 |
Citations (4)
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 | 苏州佑瑞检测技术有限公司 | 一种基于安卓手机的遥控系统的实现方法 |
-
2015
- 2015-08-07 CN CN201510483632.2A patent/CN105068854B/zh active Active
Patent Citations (4)
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 | 苏州佑瑞检测技术有限公司 | 一种基于安卓手机的遥控系统的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105068854A (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105068854B (zh) | 一种使用相同规则实现对不同产品的控制的方法 | |
CN105471686B (zh) | 终端控制方法、装置及系统 | |
CN105122931B (zh) | 电子设备及在其用户门户服务器中注册个人云装置的方法 | |
US20160050128A1 (en) | System and Method for Facilitating Communication with Network-Enabled Devices | |
US11722581B2 (en) | Mechanisms for an intelligent service layer request abstraction service | |
CN105430758A (zh) | 发送和接收唤醒分组的发送设备和接收设备及唤醒系统和方法 | |
WO2020207024A1 (zh) | 权限管理方法及相关产品 | |
US11797534B2 (en) | Efficient SQL-based graph random walk | |
CN110476390A (zh) | 相关申请的交叉引用 | |
CN104660595A (zh) | 一种app快速注册及执行方法 | |
US9529932B2 (en) | XML node labeling and querying using logical operators | |
US11803540B2 (en) | Method and system for defining an adaptive polymorphic data model | |
CN104135536A (zh) | 一种基于json数据协议的Web管理系统数据交互方法 | |
CN107168971A (zh) | 网页应用的数据处理方法和装置 | |
CN108306844A (zh) | 通过应用编程接口的远程通信和远程编程 | |
CN104243198B (zh) | 一种基于网络配置协议的网络管理方法和系统 | |
KR102094041B1 (ko) | IoT 단말 간 실시간으로 자율적인 상호작용을 위한 RDF 그래프 기반의 Semantic 엔진을 구비한 시스템 | |
CN110326262A (zh) | 将无线设备抽象为虚拟以太网接口 | |
CN107454456B (zh) | 一种浮层元素的管理控制方法及系统 | |
US9479489B2 (en) | Systems and methods for providing services | |
CN106850559A (zh) | 一种可扩展的网络协议解析系统及方法 | |
US20170149917A1 (en) | Information communication methods, apparatuses and systems | |
US11172050B1 (en) | Self-configuring adapter | |
CN112491576A (zh) | 网络配置的发送方法及装置、存储介质、电子装置 | |
US20230038310A1 (en) | Devices, Methods, and System for Heterogeneous Data-Adaptive Federated Learning |
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. |