智能家居系统界面定制技术的研究

2014-10-30 17:00冉琛雯张珣
物联网技术 2014年10期
关键词:用户界面智能家居

冉琛雯 张珣

摘 要:为了满足人们对智能家居系统终端控制界面的个性化需求,结合MVC设计模式,提出了一种可支持用户界面定制的方法,并给出了智能家居系统的框架。通过该软件架构,可以实现个性化用户界面的快速生成,减少界面开发的工作量。同时,还给出了具体的设计思路和步骤,对智能家居系统进行了归类,并在此基础上,对控制对象进行了分析。最后,结合带有Android系统的智能终端,给出了一种具体的实例设计。结果表明,该方法能有效提高用户界面定制的效率。

关键词:智能家居;MVC;界面定制;用户界面

中图分类号:TP311 文献标志码:A 文章编号:2095-1302(2014)10-00-03

0 引 言

随着社会信息化、智能化的快速发展,市场上智能家居应用软件越来越多,控制的设备越来越复杂,给用户操作带来了不便。支持界面定制的智能家居控制系统,可以让用户根据自己的意愿,定制个性化的控制界面,真正给用户带来最大程度的高效、便利、舒适与安全。目前,只有少数国外公司提供了相应开发工具,但是进口软件价格昂贵,不利于推广,无法满足用户需求。因此,国内智能家居市场急需一种支持界面定制的控制系统,来满足广大用户的需求。

本文提出一种基于智能终端可定制用户界面(User Interface,UI)的智能家居控制系统,并结合 MVC设计模式,展开了对家居设备控制界面定制技术的研究工作。家居设备种类繁多,首先将设备归类,用面向对象的思想将其抽象化,并定义其控制属性、参数和行为等;然后,针对不同种类设备,设计运行在智能终端系统的各个显示界面、操作界面等,将家居设备控件化;最后,将对象控件相关联,设计界面生成器,使用户可以定制个性化界面,极大地提高了界面的友好性。同时,本文还结合Android智能终端,给出了具体设计实例。因此,对基于移动终端设备的智能家居系统界面定制技术的研究,具有很高的现实价值和实际意义。

1 智能家居系统概述

1.1 智能家居系统分类

智能家居系统根据其功能主要可归为以下几大类:

1.1.1 智能照明系统

(1)室内照明灯具

室内照明灯具主要分为:吸顶灯、吊灯、壁灯、台灯、节能灯、落地灯等。

按照光源划分为:1)白炽灯:卤素灯、石英灯;2)荧光灯:日光灯、节能灯等;3)HID:高压汞灯、低压钠灯等;4)LED:二极管、LED系列。

(2)照明控制方式

照明控制方式有两种,即开关控制和调光控制。开关控制主要是开关调控,即静态控制方式,主要利用断路器控制;调光控制是动态控制方式,即要实现改变光源的光通量的输出[1]。

1.1.2 电器控制系统

常见家用电器按控制方式可以分为两种:一种是简单控制电路的通断来控制电器的控制器,主要可控制冰箱、热水器等家电;另一种是模拟红外遥控器发出信号的控制器,主要可控制空调、电视机等使用红外遥控器的家电。

1.1.3 智能遮阳系统(电动窗帘)

系统对电动窗帘的控制,实际上是通过控制电机来实现开、关、停的智能控制。控制对象可以使各种带电机的设备,如电动门、电动窗户、电动投影幕等。

1.1.4 安防监控系统

系统通过燃气探测器、烟雾探测器来监测有无煤气泄漏及起火等危险情况发生;通过红外探测器、门窗磁探测器、网络摄像机、智能门锁来监控有无外来人员入侵[2]。如有发生以上危急情况发生则自动发出报警信号。

1.1.5 环境监测系统

系统主要通过各传感器检测室内环境,包括温度传感器、湿度传感器、PM2.5监测仪、甲醛监测仪等[3]。

1.2 智能家居系统框架

智能家居系统框架可以划为应用层、智能家居控制界面定制平台、网络层、感知层四个组成部分,图1所示是智能家居系统框架图。

2 控制对象分析

2.1 属 性

家居设备定义的属性有以下几方面:

①设备名:用以区分不同设备。

②设备位置:用来说明每个设备在家中所处的位置。

③设备图片:每类设备配置一种图像,用以在智能终端上显示,用户操作时,选择相应图片即可。

④设备种类:设备种类有受无线信号控制的灯类,受红外遥控器控制的电视机空调类、有消息传递到智能终端的传感器类等[4]。

图1 智能家居系统框架图

首先设计一个设备父类,该类为抽象类,家居系统内各类型的可控设备,都可以继承设备类来实现。可设计空调类、灯类、冰箱类、传感器类等继承设备父类。

在操作时,使用类生成的对象描述具体家居设备。例如操作某个灯具时,使用灯类生成对象并分配资源,操作结束后,对象消亡,回收资源。

2.2 操 作

将设备提供的功能,以函数接口的形式对外提供,最终用户也是通过这些接口信息,来定位某个特定设备上的具体功能[5]。该功能函数的基本特性:函数名、功能说明、函数返回值、函数的参数、参数方向、类型和取值范围。

函数返回值的类型主要有:无返回值型、整型、浮点型、字符串型。

函数参数方向有三种:1)参数是由客户端发送给服务器端的,不需要返回值;2)参数是由服务器端发送给客户端;3)参数是由客户端初始化,发送给服务器端,服务器能够修改参数的值。

2.3 状 态

一般情况下,对设备的操作是对设备某一状态的改变。描述设备的状态,状态声明应在操作声明之前。状态的描述包括:状态名、状态说明、状态值类型、期望状态值、实际状态值、异常信息。

状态名与改变该状态的函数名直接相关;状态说明和操作中功能说明一样,是一个字符串对象;状态值类型可以是短整型、浮点型、字符串型和枚举类型。

2.4 常见家居设备功能和参数

家居设备种类繁多,本文针对几种常见家居设备进行了抽象,其功能和参数描述如表1所列。

表1 几种常见家居设备功能和参数描述

设备名 设备位置 功能设置 参数数据类型

灯 整个家 开关状态设置 布尔型

亮度调节 短整型

空调 卧室

客厅 模式调节、风速和风向设置 字符串型

温度设置 短整型

开关状态设置 布尔型

冰箱 厨房 温度设置 短整型

开关状态设置 布尔型

电视机 客厅

卧室 节目菜单

屏幕亮度、音量调节

开关状态设置 字符串型

短整型

布尔型

温度

传感器 整个家 模式设置

温度调节 字符串型

短整型

由表1可知,家居设备控制对象按其功能属性和参数数据类型,主要可以归为以下几类:

(1)开关类:主要是具有请求/响应两种状态的设备,如灯的熄灭、电器电源的通断等。

(2)可调控类:主要是控制和调节具有连续/非连续状态变化的设备,如灯的亮度调节、空调和冰箱的温度调节,电视机的音量调节等。

(3)数值类:主要是包含数据信息的设备,如传感器的数据显示。

(4)菜单类:主要是受红外遥控器控制的设备,如电视机、空调等具有功能设置菜单。

3 智能终端界面设计

3.1 MVC模式

在智能终端用户界面的开发过程中,采用的是MVC的软件开发模式,图2所示是MVC模式结构图。该软件框架中,包含了提供处理用户输入的控制器,显示用户界面和图像的视图以及用来保存数据和代码的模型[6]。根据 MVC 的设计原则,UI与程序逻辑是完全分离的。

3.3 控制对象与控件的映射关系

根据对家居设备功能服务中操作属性以及变量类型的分析,抽象形成的设备功能服务操作属性和智能终端设备UI控件之间的基本映射关系如表2所列。

图2 MVC模式结构图

3.4 业务逻辑控制

业务逻辑控制的自动实现,相当于将家居设备功能服务操作集合的描述信息,映射到UI模块中的控件事件上,以此实现对控件的逻辑控制功能[7]。

首先,根据该操作的输入输出属性的判断完成 UI 模块中的控件的选择和映射;通过控件的状态变化属性事件,自动生成绑定到控件事件的业务逻辑代码;然后,通过操作该控件,调用处理控件事件的逻辑控制代码;最后,采用终端系统中的线程机制完成与设备的通信,获取相关的信息,并将之在用户的控制界面上反映出来。

表2 家居设备操作与UI控件映射关系

设备操作属性 UI控件 设备操作属性 UI控件

布尔型变量请求/响应操作属性 双状态

按钮控件 连续区间

特定变量 滑动条

控件

枚举变量类型

(变量在三个以内) 单状态

按钮控件 非连续区间

特定变量 可调节的

文本框控件

枚举变量类型

(变量在三个以上) 下拉列表

控件 有输入操作

(单参数列表) 单选框

控件

字符串类型

(只有输出操作属性) 文本显示框

控件 有输入操作

(多参数列表) 复选框

控件

字符串类型

(输入输出操作属性) 可编辑文本框控件 图片类型

(输入输出操作) 图片按钮

控件

4 设计实例

本文结合Android平台,将智能家居控制系统UI定制技术实例化。在Android 用户界面设计过程中,都是采用 XML 文件描述和配置用户界面,同时,采用 Java程序代码实现业务逻辑。

4.1 Android布局和基础控件

Android界面设计主要由View和ViewGroup对象构建。View主要完成接受用户参数和实现用户UI对象操作。View对象在设计过程中,被系统作为一个数据流进行处理[8]。 Android平台本身已经内置了丰富的用户界面控件,也可以构建自定义UI控件[9]。用户可通过修改控件属性,以达到想要的效果。控件的基本属性如表3所列。

4.2 Android事件传递和处理

Android系统有多种办法来拦截用户与应用程序交互的事件。View类提供了多个方法来捕获用户的交互事件。组成应用程序用户界面的各种UI控件都包含了与交互事件相关的回调方法[10]。当相应的事件在控件上发生时,系统将会调用这些方法。

表3 控件的基本属性表

属性 说明 属性 说明

ID ID Top Margin 上边距

Height 高度 Bottom Margin 下边距

Widget 宽度 Left Margin 左边距

Background 背景 Right Margin 右边距

Visible 可见性 Text 文本

Font Size 文本字号大小 Text Color 文本颜色

Font Style 文本字体样式 Text Align 文本对齐方式

4.3 控件拖动

在智能家居控制系统使用过程中,用户可通过布局及控件的拖动完善控制系统界面。具体流程如图3所示。

图3 添加控件的工作流程

Android控件拖动的实现,首先要检测触摸事件,主要是实现触摸事件的监听,获取触碰点位置;通过实现onTouch()方法来处理触摸事件,对触摸事件各种状态进行定义与距离判断;最后,重新设置View的位置。

5 结 语

近几年来,随着4G技术的快速发展,移动终端越来越受到用户的青睐,便捷、友好的操作环境成为智能终端UI设计的核心需求。Android设计实例结果表明,通过UI定制技术,用户能够可视化操纵控制界面的布局生成,即使不熟悉系统操作的用户也实现美观性和交互性强的界面。因此,本文对智能家居控制系统UI定制技术的研究具有重要的市场价值和现实意义。

参考文献

[1]闫展坤. 智能照明控制系统研究[D]. 杭州:浙江大学, 2013.

[2]马晓鹏,冯源,郭忠文. 智能家居监控原型系统设计[J]. 现代电子技术, 2012,35(14): 1-3.

[3]邢欣,陆晓. 物联网中的窗帘远程控制系统设计[J]. 信息化研究, 2012(3): 60-63.

[4] Anido L E, Valladares S M, Fernandez-Iglesias M J, et al. Adapted interfaces and interactive electronic devices for the smart home[C]. IEEE, 2013:472-477.

[5]刘洋. 智能家居控制系统设计[D]. 北京:北方工业大学, 2013.

[6]刘萍芬. MVC模式下多界面控制的设计和实现[J]. 电脑知识与技术, 2013(9): 2227-2230.

[7]孙咏. 智能家居系统的软件方案设计与实现[D]. 南京:南京邮电大学, 2012.

[8]杨威,高文华. 基于Android的智能家居终端设计与研究[J]. 计算机技术与发展, 2013(7): 245-248.

[9]王博. Android系统UI定制关键技术研究[D]. 武汉:武汉理工大学, 2013.

[10] Lee W T, Nisar H, Malik A S, et al. A brain computer interface for smart home control[Z]. IEEE, 2013, 35-36.

图3 添加控件的工作流程

Android控件拖动的实现,首先要检测触摸事件,主要是实现触摸事件的监听,获取触碰点位置;通过实现onTouch()方法来处理触摸事件,对触摸事件各种状态进行定义与距离判断;最后,重新设置View的位置。

5 结 语

近几年来,随着4G技术的快速发展,移动终端越来越受到用户的青睐,便捷、友好的操作环境成为智能终端UI设计的核心需求。Android设计实例结果表明,通过UI定制技术,用户能够可视化操纵控制界面的布局生成,即使不熟悉系统操作的用户也实现美观性和交互性强的界面。因此,本文对智能家居控制系统UI定制技术的研究具有重要的市场价值和现实意义。

参考文献

[1]闫展坤. 智能照明控制系统研究[D]. 杭州:浙江大学, 2013.

[2]马晓鹏,冯源,郭忠文. 智能家居监控原型系统设计[J]. 现代电子技术, 2012,35(14): 1-3.

[3]邢欣,陆晓. 物联网中的窗帘远程控制系统设计[J]. 信息化研究, 2012(3): 60-63.

[4] Anido L E, Valladares S M, Fernandez-Iglesias M J, et al. Adapted interfaces and interactive electronic devices for the smart home[C]. IEEE, 2013:472-477.

[5]刘洋. 智能家居控制系统设计[D]. 北京:北方工业大学, 2013.

[6]刘萍芬. MVC模式下多界面控制的设计和实现[J]. 电脑知识与技术, 2013(9): 2227-2230.

[7]孙咏. 智能家居系统的软件方案设计与实现[D]. 南京:南京邮电大学, 2012.

[8]杨威,高文华. 基于Android的智能家居终端设计与研究[J]. 计算机技术与发展, 2013(7): 245-248.

[9]王博. Android系统UI定制关键技术研究[D]. 武汉:武汉理工大学, 2013.

[10] Lee W T, Nisar H, Malik A S, et al. A brain computer interface for smart home control[Z]. IEEE, 2013, 35-36.

图3 添加控件的工作流程

Android控件拖动的实现,首先要检测触摸事件,主要是实现触摸事件的监听,获取触碰点位置;通过实现onTouch()方法来处理触摸事件,对触摸事件各种状态进行定义与距离判断;最后,重新设置View的位置。

5 结 语

近几年来,随着4G技术的快速发展,移动终端越来越受到用户的青睐,便捷、友好的操作环境成为智能终端UI设计的核心需求。Android设计实例结果表明,通过UI定制技术,用户能够可视化操纵控制界面的布局生成,即使不熟悉系统操作的用户也实现美观性和交互性强的界面。因此,本文对智能家居控制系统UI定制技术的研究具有重要的市场价值和现实意义。

参考文献

[1]闫展坤. 智能照明控制系统研究[D]. 杭州:浙江大学, 2013.

[2]马晓鹏,冯源,郭忠文. 智能家居监控原型系统设计[J]. 现代电子技术, 2012,35(14): 1-3.

[3]邢欣,陆晓. 物联网中的窗帘远程控制系统设计[J]. 信息化研究, 2012(3): 60-63.

[4] Anido L E, Valladares S M, Fernandez-Iglesias M J, et al. Adapted interfaces and interactive electronic devices for the smart home[C]. IEEE, 2013:472-477.

[5]刘洋. 智能家居控制系统设计[D]. 北京:北方工业大学, 2013.

[6]刘萍芬. MVC模式下多界面控制的设计和实现[J]. 电脑知识与技术, 2013(9): 2227-2230.

[7]孙咏. 智能家居系统的软件方案设计与实现[D]. 南京:南京邮电大学, 2012.

[8]杨威,高文华. 基于Android的智能家居终端设计与研究[J]. 计算机技术与发展, 2013(7): 245-248.

[9]王博. Android系统UI定制关键技术研究[D]. 武汉:武汉理工大学, 2013.

[10] Lee W T, Nisar H, Malik A S, et al. A brain computer interface for smart home control[Z]. IEEE, 2013, 35-36.

猜你喜欢
用户界面智能家居
自然用户界面在智能家居系统中的应用路径创新研究:生成式人工智能技术的调节作用
基于CiteSpace的国外用户界面体验图谱量化分析
基于Zigbee的无线通信技术在智能家居中的应用
关于智能家居真正需求的探讨
基于B/S的跨平台用户界面可配置算法研究
基于LD3320的智能家居控制