本申请涉及物联网技术领域,特别是涉及一种控制页面生成方法、装置、终端和存储介质。
背景技术:
随着社会的进步,智慧生活的概念越来越普及。智能生活平台是依托云计算技术的存储,在家庭场景功能融合、增值服务挖掘的指导思想下,采用主流的互联网通信渠道,配合丰富的智能家居产品终端,构建享受智能家居控制系统带来的新的生活方式,多方位、多角度的呈现家庭生活中的更舒适、更方便、更安全和更健康的具体场景,进而共同打造出具备共同智能生活理念的智能社区。
使用者主要依托于移动终端对智能家居产品进行控制。现有技术中用于控制智能家居产品的移动终端,只能依靠为每个智能家居产品单独编码生成独立的控制页面的方式对其进行控制,其扩展性差、难维护、可复用性差。
技术实现要素:
本申请提供一种控制页面生成方法、装置、终端和存储介质,以解决上述问题。
本申请第一方面提供了一种控制页面生成方法,具体如下:
一种控制页面生成方法,包括:
从物联云平台获取当前接入设备的功能信息;
根据所述当前接入设备的功能信息,在预设的功能控件库中选取对应的ui控件;
根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备的控制页面;
当所述控制页面的中的ui控件接收到控制指令时,将所述控制指令反馈至所述ui控件对应的接入设备,以使所述对应的接入设备执行所述控制指令所期望的操作。
进一步地,所述功能控件库是按照以下方式构建的:
从所述物联云平台获取多个设备的功能信息;
根据所述多个设备各自的功能信息,生成相应的ui控件;
根据生成的ui控件,构建所述功能控件库。
进一步地,所述功能信息包括标识符和数据类型;
根据所述多个设备各自的功能信息,生成相应的ui控件,具体包括:
根据所述标识符和所述数据类型,生成唯一的ui控件。
进一步地,根据所述当前接入设备的功能信息,在功能控件库中选取对应的ui控件,具体包括:
根据所述标识符和所述数据类型,在功能控件库中选取唯一的ui控件。
进一步地,所述对应的ui控件的优先级和操作逻辑与所述当前接入设备的功能的优先级和操作逻辑相匹配。
进一步地,根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备的控制页面,具体包括:
获取所述接入设备所处的空间位置;
根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备所处的空间位置的控制页面。
本申请第二方面提供了一种控制页面生成装置,具体如下:
一种控制页面生成装置,包括:
功能信息获取模块,用于从物联云平台获取当前接入设备的功能信息;
ui控件选取模块,用于根据所述当前接入设备的功能信息,在预设的功能控件库中选取对应的ui控件;
控制页面生成模块,用于根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备的控制页面;
控制指令接收模块,用于当所述控制页面的中的ui控件接收到控制指令时,将所述控制指令反馈至所述ui控件对应的接入设备,以使所述对应的接入设备执行所述控制指令所期望的操作。
进一步地,所述ui控件选取模块包括:
功能信息获取子模块,用于从所述物联云平台获取多个设备的功能信息;
ui控件生成子模块,用于根据所述多个设备各自的功能信息,生成相应的ui控件;
功能控件库构建子模块,用于根据生成的ui控件,构建所述功能控件库。
进一步地,所述功能信息包括标识符和数据类型;
所述ui控件生成子模块包括:
ui控件生成单元,用于根据所述标识符和所述数据类型,生成唯一的ui控件。
进一步地,所述ui控件选取模块包括:
ui控件选取子模块,用于根据所述标识符和所述数据类型,在功能控件库中选取唯一的ui控件。
进一步地,所述控制页面生成模块包括:
空间位置获取子模块,用于获取所述接入设备所处的空间位置;
控制页面生成子模块,用于根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备所处的空间位置的控制页面。
本申请第三方面提供了一种终端,具体如下:
一种终端,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现一种控制页面生成方法所执行的操作。
本申请第四方面提供了一种终端,具体如下:
一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行一种以实现一种控制页面生成方法所执行的操作。
与现有技术相比,本申请包括以下优点:
本申请将多种智能家居设备的功能进行抽象建模,构建相应的ui控件,当需要显示某一智能家居设备时,则在ui控件库中选取相应的ui控件进行渲染,搭建相应的ui控制页面;当需要新增一种智能家居设备时,如果其功能可以通过现有的ui控件就能搭建相应的ui控制页面,则不需要再为其抽象建模;如果其功能是现有的ui控件不能实现的,则为其抽象建模获得相应的ui控件,从而提高了扩展性,避免了工作复杂冗余。当现有的智能家居设备的功能变化,只需要对其相应的ui控件进行更改就可以实现,降低了维护困难程度,提高了可复用性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本申请各个实施例的技术方案,下面将对本申请各个实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种控制页面生成方法的流程图;
图2为本申请中生成控制页面的过程图;
图3是本申请实施例中控制页面的示意图;
图4是本申请实施例提供的一种控制页面生成装置的结构示意图;
图5是本申请实施例中一种终端的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
智慧生活主要依托于云计算实现的,而控制智慧生活中的各种智能家居设备则主要依靠移动终端实现。相关技术中,移动终端想要控制某个智能家居设备,需要该移动终端事先与该智能家居设备通信匹配,再在移动终端中建立相应的控制界面,对该智能家居进行独立的控制。但是,智能家居设备的种类很多,每新增一种智能家居设备,就需要为其单独编码,设置独立的控制界面,其扩展性差、工作复杂冗余;如果某一个智能家居设备的功能变更,则需要对相应的控制界面进行调整并重新打包,其维护困难、可复用性差。
为了解决上述技术问题,本申请提供了一种控制页面生成方法,将多种智能家居设备的功能进行抽象建模,构建相应的ui控件,当需要显示某一智能家居设备时,则在ui控件库中选取相应的ui控件进行渲染,搭建相应的ui控制页面;当需要新增一种智能家居设备时,如果其功能可以通过现有的ui控件就能搭建相应的ui控制页面,则不需要再为其抽象建模;如果其功能是现有的ui控件不能实现的,则为其抽象建模获得相应的ui控件,从而提高了扩展性,避免了工作复杂冗余。当现有的智能家居设备的功能变化,只需要对其相应的ui控件进行更改就可以实现,降低了维护困难程度,提高了可复用性。
参照图1和图2,图1为本申请的一种控制页面生成方法的步骤流程图;图2为本申请中生成控制页面的过程图(图2中的开关ui控件、滑动条ui控件以及按钮ui控件属于ui界面的不同样式,在实际应用时,可根据实际情况调整)。一种控制页面生成方法,应用于移动终端或者应用于pc端,包括:
步骤s101,从物联云平台获取当前接入设备的功能信息;
物联云平台预先存储了设备的功能信息,功能信息可以是智能设备的标识符和数据类型等,其中标识符用于区别各个智能设备的能力(能力指智能设备可被调用的方法,支持定义参数,如执行某项任务),数据类型是指智能设备的能力接收的参数的类型。
例如,空调的能力包括开关、模式调节、温度调节,那么空调的能力开关、模式调节、温度调节的标识符分别为switch、modle、temperature,各自的数据类型分别为bool、char、char;灯的能力包括开关、光亮调节,那么灯的能力开关、光亮调节的标识符分别为switch、shade,各自的数据类型分别为bool、double。
当有设备需要接入时,移动终端(本实施例主要应用于移动终端,应用于pc端与应用于移动终端类似,此处不再赘述)从物联云平台获取当前接入设备的功能信息。例如,当前接入设备为空调,其功能信息包括:标识符,switch、modle、temperature;数据类型分别对应bool、char、char。
步骤s102,根据所述当前接入设备的功能信息,在预设的功能控件库中选取对应的ui控件。
其中,功能控件库是按照以下方式构建的:
步骤s1021,从所述物联云平台获取多个设备的功能信息;
步骤s1022,根据所述多个设备各自的功能信息,生成相应的ui控件;
步骤s1023,根据生成的ui控件,构建所述功能控件库。
物联云平台预先存储有多个设备的功能信息,移动终端从物联云平台获取后,便根据多个设备的功能信息,生成相应的ui控件,所有的ui控件都集中存储在功能控件库中。即移动终端根据所述标识符和所述数据类型,生成唯一的ui控件。
例如,空调的能力开关、模式调节、温度调节的标识符分别为switch、modle、temperature,各自的数据类型分别为bool、char、char;那么依据空调的功能信息,具体地,依据空调的能力生成相应的ui控件,即switch-bool的ui控件、modle-char的ui控件、temperature-char的ui控件。
灯的能力包括开关、光亮调节,那么灯的能力开关、光亮调节的标识符分别为switch、shade,各自的数据类型分别为bool、double。那么依据灯的功能信息,具体地,依据灯的能力生成相应的ui控件,即switch-bool的ui控件、shade-double的ui控件。
当功能控件库中生成了相应的ui控件之后,根据所述标识符和所述数据类型,在功能控件库中选取唯一的ui控件。
例如,当前接入设备是空调,根据空调的功能信息,在功能控件库中选取对应的ui控件,具体包括switch-bool的ui控件、modle-char的ui控件、temperature-char的ui控件。
再例如,当前接入设备是灯,根据灯的功能信息,在功能控件库中选取对应的ui控件,具体包括switch-bool的ui控件、shade-double的ui控件。
步骤s103,根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备的控制页面。
所述对应的ui控件的优先级和操作逻辑与所述当前接入设备的功能的优先级和操作逻辑相匹配。
ui控件的优先级是指:例如,客厅具有客厅灯1号和客厅灯2号,客厅灯1号的亮度比客厅灯2号的亮度弱。在平常情况下,客厅灯1号的亮度已经足以满足光线需求;在某些时候,需要更亮的光线,则需要启用客厅灯2号。因此,在大多数情况下,都使用客厅灯1号,因此客厅灯1号的ui控件比客厅灯2号的ui控件的优先级更高。
ui控件的操作逻辑是指:例如,依据空调的功能信息生成的ui控件包括switch-bool的ui控件、modle-char的ui控件、temperature-char的ui控件。空调只有在开启状态时才能对其模式和温度进行调节,因此,只有当switch-bool的ui控件处于开启的状态时,才能对modle-char的ui控件或者temperature-char的ui控件进行控制。
移动终端对所述对应的ui控件(包括switch-bool的ui控件、modle-char的ui控件、temperature-char的ui控件)进行渲染,生成所述当前接入设备-空调的控制页面(如图3所示)。
此外,每个ui控件还会根据交互事件不同变化显示的样式,例如,图3中switch-bool的ui控件显示为滑动按钮的样式,可以看出此时滑动按钮处于关的状态,当需要开启空调时,用户可以通过触动滑动按钮使其移动至开的状态。再例如,图3中的temperature-char的ui控件显示为“温度:26℃”,当空调开启后,可以通过移动终端的键盘等对“26”进行调整,从而调节空调的温度。
为了更好地贴合用户的生活环境,可以依据不同的空间位置将设备划分到不同的区域,进而根据空间位置的不同生成不同的控制页面。
获取所述接入设备所处的空间位置;
根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备所处的空间位置的控制页面。
例如,用户的生活环境可以分为卧室、客厅、书房三个空间,在卧室中包括卧室灯1号、卧室灯2号、卧室空调1号,当处于卧室中,控制页面与卧室相匹配;在客厅中包括客厅灯1号、客厅灯2号、客厅空调1号,当处于客厅中,控制页面与客厅相匹配;在书房中包括书房灯1号、书房灯2号、书房空调1号,当处于书房中,控制页面与书房相匹配。
步骤s104,当所述控制页面的中的ui控件接收到控制指令时,将所述控制指令反馈至所述ui控件对应的接入设备,以使所述对应的接入设备执行所述控制指令所期望的操作。
如图3所示,当空调的控制页面的switch-bool的ui控件接收到了开启的控制指令时(控制指令通过用户点击移动终端显示的ui控件产生),空调的状态则由关闭状态转换为开启状态,同时控制页面显示modle-char的ui控件;当modle-char的ui控件接收到选择制冷模式的控制指令时,空调则进入制冷模式,同时控制页面显示temperature-char的ui控件;当控制页面的temperature-char的ui控件接收到26℃的控制指令时,空调则将房间的温度控制为26℃左右。
本申请实施例针对设备的功能进行通用建模,可兼容不同类型的设备,提高了灵活性;当有新的设备需要加入时,只需要维护功能控件库,就可以实现新设备的加入,简单方便。
基于同一构思,本申请实施例提供了一种控制页面生成装置,具体如下:
一种控制页面生成装置,如图4所示,包括:
功能信息获取模块401,用于从物联云平台获取当前接入设备的功能信息;
ui控件选取模块402,用于根据所述当前接入设备的功能信息,在预设的功能控件库中选取对应的ui控件;
控制页面生成模块403,用于根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备的控制页面;
控制指令接收模块404,用于当所述控制页面的中的ui控件接收到控制指令时,将所述控制指令反馈至所述ui控件对应的接入设备,以使所述对应的接入设备执行所述控制指令所期望的操作。
其中,所述ui控件选取模块402包括:
功能信息获取子模块,用于从所述物联云平台获取多个设备的功能信息;
ui控件生成子模块,用于根据所述多个设备各自的功能信息,生成相应的ui控件;
功能控件库构建子模块,用于根据生成的ui控件,构建所述功能控件库。
所述功能信息包括标识符和数据类型;
所述ui控件生成子模块包括:
ui控件生成单元,用于根据所述标识符和所述数据类型,生成唯一的ui控件。
所述ui控件选取模块402包括:
ui控件选取子模块,用于根据所述标识符和所述数据类型,在功能控件库中选取唯一的ui控件。
所述控制页面生成模块403包括:
空间位置获取子模块,用于获取所述接入设备所处的空间位置;
控制页面生成子模块,用于根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备所处的空间位置的控制页面。
本申请还提供了一种终端,如图4所示,具体如下:
一种终端,包括:
处理器501;
用于存储所述处理器可执行指令的存储器502;
其中,所述处理器501被配置为执行以实现一种控制页面生成方法所执行的操作。
本申请还提供了一种非临时性计算机可读存储介质,具体如下:
一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行一种以实现一种控制页面生成方法所执行的操作。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种控制页面生成方法、装置、终端和存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
技术特征:
1.一种控制页面生成方法,其特征在于,包括:
从物联云平台获取当前接入设备的功能信息;
根据所述当前接入设备的功能信息,在预设的功能控件库中选取对应的ui控件;
根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备的控制页面;
当所述控制页面的中的ui控件接收到控制指令时,将所述控制指令反馈至所述ui控件对应的接入设备,以使所述对应的接入设备执行所述控制指令所期望的操作。
2.根据权利要求1所述的方法,其特征在于,所述功能控件库是按照以下方式构建的:
从所述物联云平台获取多个设备的功能信息;
根据所述多个设备各自的功能信息,生成相应的ui控件;
根据生成的ui控件,构建所述功能控件库。
3.根据权利要求2所述的方法,其特征在于,所述功能信息包括标识符和数据类型;
根据所述多个设备各自的功能信息,生成相应的ui控件,具体包括:
根据所述标识符和所述数据类型,生成唯一的ui控件。
4.根据权利要求3所述的方法,其特征在于,根据所述当前接入设备的功能信息,在功能控件库中选取对应的ui控件,具体包括:
根据所述标识符和所述数据类型,在功能控件库中选取唯一的ui控件。
5.根据权利要求1所述的方法,其特征在于,所述对应的ui控件的优先级和操作逻辑与所述当前接入设备的功能的优先级和操作逻辑相匹配。
6.根据权利要求1所述的方法,其特征在于,根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备的控制页面,具体包括:
获取所述接入设备所处的空间位置;
根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备所处的空间位置的控制页面。
7.一种控制页面生成装置,其特征在于,包括:
功能信息获取模块,用于从物联云平台获取当前接入设备的功能信息;
ui控件选取模块,用于根据所述当前接入设备的功能信息,在预设的功能控件库中选取对应的ui控件;
控制页面生成模块,用于根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备的控制页面;
控制指令接收模块,用于当所述控制页面的中的ui控件接收到控制指令时,将所述控制指令反馈至所述ui控件对应的接入设备,以使所述对应的接入设备执行所述控制指令所期望的操作。
8.根据权利要求7所述的装置,其特征在于,所述ui控件选取模块包括:
功能信息获取子模块,用于从所述物联云平台获取多个设备的功能信息;
ui控件生成子模块,用于根据所述多个设备各自的功能信息,生成相应的ui控件;
功能控件库构建子模块,用于根据生成的ui控件,构建所述功能控件库。
9.根据权利要求8所述的装置,其特征在于,所述功能信息包括标识符和数据类型;
所述ui控件生成子模块包括:
ui控件生成单元,用于根据所述标识符和所述数据类型,生成唯一的ui控件。
10.根据权利要求9所述的装置,其特征在于,所述ui控件选取模块包括:
ui控件选取子模块,用于根据所述标识符和所述数据类型,在功能控件库中选取唯一的ui控件。
11.根据权利要求7所述的装置,其特征在于,所述控制页面生成模块包括:
空间位置获取子模块,用于获取所述接入设备所处的空间位置;
控制页面生成子模块,用于根据所述对应的ui控件的优先级和操作逻辑,对所述对应的ui控件进行渲染,生成所述当前接入设备所处的空间位置的控制页面。
12.一种终端,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行以实现如权利要求1至6中任一项所述的一种控制页面生成方法所执行的操作。
13.一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行一种以实现如权利要求1至6中任一项所述的一种控制页面生成方法所执行的操作。
技术总结
本申请提供了一种控制页面生成方法、装置、终端和存储介质,包括:从物联云平台获取当前接入设备的功能信息;根据所述当前接入设备的功能信息,在预设的功能控件库中选取对应的UI控件;根据所述对应的UI控件的优先级和操作逻辑,对所述对应的UI控件进行渲染,生成所述当前接入设备的控制页面;当所述控制页面的中的UI控件接收到控制指令时,将所述控制指令反馈至所述UI控件对应的接入设备,以使所述对应的接入设备执行所述控制指令所期望的操作。本申请实施例针对设备的功能进行通用建模,可兼容不同类型的设备,提高了灵活性;当有新的设备需要加入时,只需要维护功能控件库,就可以实现新设备的加入,简单方便。
技术研发人员:高扬;贾槐真;宋昌健;单华峰
受保护的技术使用者:北京金茂绿建科技有限公司
技术研发日:.09.19
技术公布日:.01.10