基于IAIDL的信息家电万能遥控的设计与研究

2011-08-08 06:46黄梦妍夏璐
网络安全技术与应用 2011年12期
关键词:万能控件遥控器

黄梦妍 夏璐

湖南师范大学 湖南 410081

0 引言

信息家电(Information Appliance, IA)是利用计算机、数字通信和电子技术与传统家电相结合的新型产品,是为满足现代家庭需要而设计的新型家用电器。信息家电的基本特征是与网络(主要指互联网)相连并具有一些具体功能。

本文的研究内容主要是:通过嵌入式面向对象数据库、网络技术以及信息家电接口定义语言IAIDL这些技术,设计一个能够在智能家居中管理和控制所有信息家电的、可以直接与用户交互的可视化嵌入式智能设备——信息家电万能遥控器。

1 信息家电接口定义语言与其功能

智能家居系统中的设备都具有不同的种类和功能,即使是同种类同功能也有不同品牌之分。如果每台家电都用自己独特的“语言”与其他家电和用户交流,则整个系统需要多个不同的解释模块来分别理解不同的“语言”,大大增大了系统复杂性,造成不必要的系统开支。因此,我们需要一个统一的、抽象的语言对所有设备来进行设备定义和功能描述。这样整个系统建立在同一个语言平台上,实现对信息家电的控制也就不是难题了。从而,我们引出信息家电接口定义语言IAIDL。信息家电接口定义语言(Information Appliance Interface Definition Language, IAIDL)是一种用来定义家庭网络中信息家电属性与功能的描述语言。

通过IAIDL语言的运用,当一种按照信息家电描述语言格式定义的新信息家电设备接入系统时,该设备能够自动地向家庭网关进行注册,所有在线的远程信息家电遥控器能自动发现新信息家电设备的功能接口,从而实现新信息家电设备的动态接入。

如图 1,为了实现家电之间的相互协作,各个信息家电(IA)向其他家电和用户通过 IAIDL 文档宣告自己所具有的功能和属性,该IAIDL文档通过IAIDL 编译器之后将中间文档存储到网关(SERVER)上,以提供给万能遥控器(CONTROLLER)进行访问从而实现对各个家电的控制。

图1 信息家电系统体系结构图

2 IAIDL格式规范

可扩展标记语言(Extensible Markup Language, XML),是一种标记电子文件的标记语言,它标记计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文档。XML的优势是,它既可以表示文档的内容,也可以表示文档的结构。XML的前身是SGML,尤其适合在Web传输中使用。

XML的设计目标,强调在互联网上的简单性,普遍性和实用性。虽然某些应用软件同样支持其它的数据交换格式,但不久后他们都将支持XML,也就是说程序可以更容易的与Windows、Mac OS, Linux以及其他平台下产生的信息结合,然后可以很容易加载 XML数据到程序中并分析他,并以XML格式输出结果。我们前面介绍到IAIDL 的功能是家电用来宣告自己所具有的功能和属性,以便万能遥控器可以访问和控制,符合 IAIDL语言的功能(即惟一的描述和标识信息家电)。因此用XML 文档来表示IAIDL是合适的。

我们分析,IAIDL文档的一般规范格式为:

…… //信息家电属性列表

…… //信息家电操作列表

…… //多个不同的action 节点

对以上标准的具体分析如下:

对于属性列表,以电视为例,用XML描述家电的属性如下:

其中,各个信息家电都具有如下属性:

家电类型(id):家电类型惟一标识,如:洗衣机还是电视。

家电类型名称(name):注明设备的英文名称。

生产厂商(manufacture):注明生产厂商的名称。

家电型号(model):每一台家电的惟一标识。

对于操作列表,以电视机换台的操作为例:

在 XML文件中增加一个节点作为的子节点,即对相应电器增加一个操作。

在操作列表中:

操作名称(operationname):注明该操作的种类。

操作类型(operationtype):操作在操作界面上显示的类型,比如:开/关,用单选按钮进行选择;设置频道则是在文本框中输入数值来获取频道。

当前状态(operationcurrent):家电的当前状态,为操作值中合法的一个状态。

操作值(operationvalue):用户所想修改成的新状态值,如:设置为用户希望的频道数。

操作的默认值(operationdefault):操作失败时操作的默认值。

3 万能遥控的设计

在智能家居系统中,我们考虑万能遥控应该具有的特点:(1)便携性。在居家生活中,人们普遍习惯了携带方便,造型小而简洁的遥控器。这就要求新型的万能遥控器也应该是一个便携、无线的小型遥控装置。(2)简易性。万能遥控器的图形用户界面若过于专业性或是繁杂,会直接影响到用户的对信息家电的态度,从而某一程度上决定着信息家电市场的进一步发展和扩大。

万能遥控器对信息家电设备的控制功能的实现需要家庭网关和信息家电设备的密切配合。其事务流程图如图2所示。当用户万能遥控的用户界面中进行某项操作之后,万能遥控器会解释该操作的具体含义,并且向家庭网关发送服务请求;在接收和初步解释服务请求数据后,家庭网关该数据包转发至相对应的具体家电;信息家电在解析该数据包后,调用相关模块完成相应的具体动作,再将操作结果打包,发送给家庭网关;家庭网关收到操作结果数据包更新其数据库内相应数据,并将结果转发回给万能遥控器;最后,万能遥控器根据操作结果刷新用户界面。

考虑到万能遥控器的灵活性,我们采用动态界面生成。我们的万能遥控器的图形用户界面在水平方向上为定长,在垂直方向上可自动调整长度,即一个面积不定的矩形区域,用来放置控件(设界面的水平长度为 X(像素),垂直高度为Y(像素))。界面初始大小为物理显示屏的 1/4(若物理显示屏大小为 a*b(像素),则 x=1/2a,y=1/2b);当界面中的控件由于家电设备或操作的增多而逐渐增多时,若当前界面无法继续生成控件,则保证水平方向上不变时在垂直方向上拉长界面。同时生成滚动条,方便用户浏览整个界面。我们进一步将整个界面按 1/2X*y/2n(像素)大小划为 n个更小的矩形区域,作为放置控件的基本单元(称为“行”,算法中将每一“行”抽象成为一个“行对象”,用特定的数据结构表示),以达到我们的设计目标。从而,整个界面就划分成了若干行。在生成界面时,每动态生成一个控件,则有序的在用户界面中增加一行,整个界面在控件生成完毕后刷新显示。

图2 万能遥控查询功能流程图

4 结语

信息家电的兴起为万能遥控用户界面的优化提供了一个新的,突破性的机会。用户界面和可用性的融合产生的万能遥控器将成为信息家电的关键组成部分。本课题的研究结合了XML、嵌入式面向对象数据库技术,为用户远程访问和控制信息家电提供了基础。

本文的主要研究结果有:(1)使用了统一的语言——信息家电接口定义语言IAIDL对信息家电进行功能描述。(2)采用XML 表示描述信息家电接口定义语言(IAIDL)文档,并制定了文档格式规范。(3)运用界面动态生成技术对信息家电万能遥控器用户界面进行了设计,在PC机上进行了模拟。当然,由于各方面原因,本文还有需要进一步探讨、改进的地方,如:远程认证机制有可能将整个信息家电系统曝露于黑客的视线内,所以智能家居系统的安全认证机制应该是将来的一个研究方向。

[1] Wen-Gong Shieh, Jian-Min Wang, Wen-Bing Horng,.Secure remote control model for information appliances, .ntelligence and Security Informatics,2008. IEEE International Conference.2008.

[2] 阳丽君,刘宏.信息家电接口定义语言(IAIDL)的研究[J].计算机与现代化[J]. 2007.

[3] JOHN WILEY. Latest Technology in Automation Home Control[M].Silent Servant.Inc.2003.

[4] 张志伟.家庭网络和信息家电[J].计算机工程与应用.2002.

[5] 彭华,刘宏,蔡城.万能遥控器的带约束动态界面布局的研究[J].微计算机信息.2008.

猜你喜欢
万能控件遥控器
我是“糊涂虫”
万能测谎仪
基于.net的用户定义验证控件的应用分析
时间遥控器
爸妈有个“遥控器”
万能衣
钱不是万能的,但没钱是万万不能的
行走的飞行遥控器
我有一双万能的手
关于.net控件数组的探讨