一种共用物联设备逻辑的物联设备控制方法及装置与流程

文档序号:11519312阅读:218来源:国知局
一种共用物联设备逻辑的物联设备控制方法及装置与流程

本发明涉及物联网设备技术领域,尤其涉及一种共用物联设备逻辑的物联设备控制方法。



背景技术:

随着智能家电的兴起,生活中智能家电设备越来越多,移动终端的应用(application,简称app)中需要支持的物联设备也越来越多。开发手机app主要使用的技术包括原生界面和超文本标记语言(hypertextmarkuplanguage,简称html)界面。通常情况下html界面运行在网络容器里,不能直接访问原生的物联设备对象。对于混合开发的app,现有技术方案将设备逻辑交给原生代码来实现;为了使html界面可以使用原生的设备对象,一般会将设备对象的接口进行封装,然后注入到网络容器里。

现有方案虽解决了使用问题,但也有很大的局限性。不同的设备具有不同的功能,具有的接口不相同,功能之间的相互关系也不同,如:洗衣机,冰箱,空调等等。洗衣机要设定各种洗衣程序,用水量和洗涤时间;空调要设置温度,运行模式等。对于同一类型的设备,也会存在不同的型号具有不同功能的情况。在开发app的过程中会针对具体设备实现具体的设备逻辑。这会导致需要向网络容器中注入很多的设备对象,而且随着支持设备的增多,注入对象会出现爆炸性的增长。

现有方案中过多的注入对象一定会影响性能和稳定性;若只注入基础接口,由html来实现逻辑,则原生代码也需要实现,造成开发工作量的增加,同时还要保持html和原生实现的一致性。



技术实现要素:

为了解决上述技术问题,本发明提供了一种共用物联设备逻辑的物联设备控制方法。

本发明提供的共用物联设备逻辑的物联设备控制方法,包括:接收针对目标物联设备的控制请求,判断所述控制请求的输入界面是超文本标记语言html界面还是原生界面;所述控制请求的输入界面是html界面时,通过此html界面自动加载的所述目标物联设备的通用脚本生成用于执行所述控制请求的控制指令,将此控制指令发送至所述目标物联设备;所述控制请求的输入界面是原生界面时,加载并运行所述目标物联设备的通用脚本,生成用于执行所述控制请求的控制指令,将此控制指令发送至所述目标物联设备。

上述共用物联设备逻辑的物联设备控制方法还具有以下特点:

所述加载所述目标物联设备的通用脚本包括:判断缓存中是否存在所述目标物联设备的通用脚本,如果存在,从缓存中加载所述目标物联设备的通用脚本,如果不存在,从服务器下载所述目标物联设备的通用脚本后加载。

上述共用物联设备逻辑的物联设备控制方法还具有以下特点:

所述加载并运行所述目标物联设备的通用脚本包括:判断设备引擎是否已启动,如果已启动,使用所述设备引擎加载所述目标物联设备的通用脚本,初始化所述目标物联设备的设备对象,运行所述目标物联设备的通用脚本,如果未启动,启动设备引擎,使用所述设备引擎加载所述目标物联设备的通用脚本,初始化所述目标物联设备的设备对象,运行所述目标物联设备的通用脚本。

上述共用物联设备逻辑的物联设备控制方法还具有以下特点:

所述控制请求的输入界面是html界面时,所述将所述控制指令发送至所述物联设备包括:加载所述目标物联设备的通用脚本并生成用于执行所述控制请求的控制指令后,将此控制指令通过网络容器接口发送至所述网络容器,所述网络容器将收到的控制指令发送至所述目标物联设备;

所述控制请求的输入界面是原生界面时,所述将所述控制指令发送至所述物联设备包括:调用与所述控制指令对应的所述物联设备的软件开发工具包sdk接口。

上述共用物联设备逻辑的物联设备控制方法还具有以下特点:

所述通用脚本为javascript脚本。

本发明提供的共用物联设备逻辑的物联设备控制装置,包括:接收模块、判断模块、html界面处理模块、原生界面处理模块;

所述接收模块,用于接收针对目标物联设备的控制请求;

所述判断模块,用于判断所述控制请求的输入界面是html界面还是原生界面;

所述html界面处理模块,用于通过所述html界面自动加载的所述目标物联设备的通用脚本生成用于执行所述控制请求的控制指令,将此控制指令发送至所述目标物联设备;

所述原生界面处理模块,用于加载并运行所述目标物联设备的通用脚本,生成用于执行所述控制请求的控制指令,将此控制指令发送至所述目标物联设备。

上述共用物联设备逻辑的物联设备控制装置还具有以下特点:

所述原生界面处理模块,还用于判断缓存中是否存在所述目标物联设备的通用脚本,如果存在,从缓存中加载所述目标物联设备的通用脚本,如果不存在,从服务器下载所述目标物联设备的通用脚本后加载。

上述共用物联设备逻辑的物联设备控制装置还具有以下特点:

所述原生界面处理模块,还用于判断设备引擎是否已启动,如果已启动,使用所述设备引擎加载所述目标物联设备的通用脚本,初始化所述目标物联设备的设备对象,运行所述目标物联设备的通用脚本,如果未启动,启动设备引擎,使用所述设备引擎加载所述目标物联设备的通用脚本,初始化所述目标物联设备的设备对象,运行所述目标物联设备的通用脚本。

上述共用物联设备逻辑的物联设备控制装置还具有以下特点:

所述html界面处理模块包括处理单元和网络容器;

所述处理单元,用于加载所述目标物联设备的通用脚本,生成用于执行所述控制请求的控制指令;将此控制指令通过网络容器接口发送至所述网络容器;

所述网络容器,用于将收到的控制指令发送至所述目标物联设备;

所述原生界面处理模块,用于调用与所述控制指令对应的所述物联设备的软件开发工具包sdk接口将所述控制指令发送至所述物联设备。

上述共用物联设备逻辑的物联设备控制装置还具有以下特点:

所述通用脚本为javascript脚本。

本发明可以跨平台运行,不需要重复开发不同语言版本的设备逻辑,在原生界面和html界面两种情况下使用相同的物联设备javascript脚本,使用同一份代码实现不同界面输入的控制指令,保证了设备逻辑的一致性,降低了开发工作量,缩短了设备介入周期。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是实施例中共用物联设备逻辑的物联设备控制方法的流程图;

图2是实施例中共用物联设备逻辑的物联设备控制装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

本发明的基本原理是使用一种html和java都可以使用语言实现物联设备的逻辑,以解决重复开发和一致性问题。另外可将实现好的逻辑资源包预先存放在服务器中,不需要跟随app发布;app只要具有更新资源包的能力就可以随时获取最新的资源包,增加支持的设备种类,做到随时发布随时使用。

选用javascript作为物联设备逻辑的实现语言。javascript具有良好的适应性,可运行在各个平台,如:android和ios。

图1是实施例中共用物联设备逻辑的物联设备控制方法的流程图;此方法包括:

步骤101,接收针对目标物联设备的控制请求;

步骤102,判断所述控制请求的输入界面是html界面还是原生界面;所述控制请求的输入界面是html界面时,执行步骤103,所述控制请求的输入界面是原生界面时,执行步骤104;

步骤103,通过所述html界面自动加载的所述目标物联设备的通用脚本生成用于执行所述控制请求的控制指令,将此控制指令发送至所述目标物联设备;

步骤104,加载并运行所述目标物联设备的通用脚本,生成用于执行所述控制请求的控制指令,将此控制指令发送至所述目标物联设备。

其中,加载所述目标物联设备的通用脚本包括:判断缓存中是否存在所述目标物联设备的通用脚本,如果存在,从缓存中加载所述目标物联设备的通用脚本,如果不存在,从服务器下载所述目标物联设备的通用脚本后加载。

加载并运行所述目标物联设备的通用脚本包括:判断设备引擎是否已启动,如果已启动,使用所述设备引擎加载所述目标物联设备的通用脚本,初始化所述目标物联设备的设备对象,运行所述目标物联设备的通用脚本,如果未启动,启动设备引擎,使用所述设备引擎加载所述目标物联设备的通用脚本,初始化所述目标物联设备的设备对象,运行所述目标物联设备的通用脚本。

控制请求的输入界面是html界面时,所述将所述控制指令发送至所述物联设备包括:加载所述目标物联设备的通用脚本并生成用于执行所述控制请求的控制指令后,将此控制指令通过网络容器接口发送至所述网络容器,所述网络容器将收到的控制指令发送至所述目标物联设备。

控制请求的输入界面是原生界面时,所述将所述控制指令发送至所述物联设备包括:调用与所述控制指令对应的所述物联设备的软件开发工具包sdk接口。

通用脚本典型的中javascript脚本

图2是共用物联设备逻辑的物联设备控制装置的流程图,此装置包括:接收模块、判断模块、html界面处理模块、原生界面处理模块。

接收模块用于接收针对目标物联设备的控制请求;

判断模块用于判断所述控制请求的输入界面是html界面还是原生界面;

html界面处理模块用于通过所述html界面自动加载的所述目标物联设备的通用脚本生成用于执行所述控制请求的控制指令,将此控制指令发送至所述目标物联设备;

原生界面处理模块用于加载并运行所述目标物联设备的通用脚本,生成用于执行所述控制请求的控制指令,将此控制指令发送至所述目标物联设备。

其中,

原生界面处理模块还用于判断缓存中是否存在所述目标物联设备的通用脚本,如果存在,从缓存中加载所述目标物联设备的通用脚本,如果不存在,从服务器下载所述目标物联设备的通用脚本后加载。

原生界面处理模块还用于判断设备引擎是否已启动,如果已启动,使用所述设备引擎加载所述目标物联设备的通用脚本,初始化所述目标物联设备的设备对象,运行所述目标物联设备的通用脚本,如果未启动,启动设备引擎,使用所述设备引擎加载所述目标物联设备的通用脚本,初始化所述目标物联设备的设备对象,运行所述目标物联设备的通用脚本。

html界面处理模块包括处理单元和网络容器。处理单元用于加载所述目标物联设备的通用脚本,生成用于执行所述控制请求的控制指令;将此控制指令通过网络容器接口发送至所述网络容器。网络容器用于将收到的控制指令发送至所述目标物联设备。

原生界面处理模块还用于调用与所述控制指令对应的所述物联设备的软件开发工具包sdk接口将所述控制指令发送至所述物联设备。

通用脚本为javascript脚本。

本发明可以跨平台运行,不需要重复开发不同语言版本的设备逻辑,在原生界面和html界面两种情况下使用相同的物联设备javascript脚本,使用同一份代码实现不同界面输入的控制指令,保证了设备逻辑的一致性,降低了开发工作量,缩短了设备介入周期。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1