《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于Web Service的信息家电控制界面自动构建
基于Web Service的信息家电控制界面自动构建
来源:微型机与应用2013年第12期
张先部1,丁香乾1,王晓东1,许晓伟1,陶 冶2
(1.中国海洋大学 信息科学与工程学院,山东 青岛266100; 2.青岛科技大学 信息科学技术学院
摘要: 信息家电的智能化促进了家庭设备的网络连接和网络控制的需求。通过Web Service将信息家电控制功能描述并发布,为远程用户提供设备服务控制。基于对当前家庭网络设备控制界面现状的分析,提出一种基于Web Service的自动界面生成技术。该方法可使远程用户的Android智能设备根据信息家电的WSDL信息描述自动生成控制界面并动态更新界面。为验证这种方法,设计一个信息家电控制模型。结果表明,该方法能够自动构建信息家电控制界面。
Abstract:
Key words :

摘  要: 信息家电的智能化促进了家庭设备的网络连接和网络控制的需求。通过Web Service将信息家电控制功能描述并发布,为远程用户提供设备服务控制。基于对当前家庭网络设备控制界面现状的分析,提出一种基于Web Service的自动界面生成技术。该方法可使远程用户的Android智能设备根据信息家电的WSDL信息描述自动生成控制界面并动态更新界面。为验证这种方法,设计一个信息家电控制模型。结果表明,该方法能够自动构建信息家电控制界面。
关键词: Web Service;WSDL;信息家电;界面自动构建;Android

    信息家电是指带有嵌入式处理器的家用信息设备,它的基本特征是与网络相连而有一些具体功能。信息家电利用先进的计算机、网络通信、人工智能等技术,将与家庭生活相关的各种家电子系统有机地结合在一起,通过综合家庭范围内的本地管理与控制以及来自家庭之外的远程管理与控制,使家庭生活更有效、更便捷。
    Web Service是面向服务的体系架构,可以为服务请求者提供特定服务,其使用开放协议进行通信,建立在相关网络协议和开发的XML标准之上,具有独立的语言且可进行自我描述,可以实现不同平台的应用服务的互操作,且这种交互完全与平台和语言无关,使用一个WSDL文档和网络协议(通常是HTTP)来定义接口、描述服务[1]。Web Service的这些特点使其与其他的私有协议相较在家电控制领域具有利于应用开发、克服通信协议异构问题、与Web天然交互性好等优势,因此采取Web服务来控制家电。WSDL是一个基于XML格式的文档,用来描述服务端口访问方式和使用协议的细节,通常采用抽象语言描述服务支持的操作和信息。基于Web Service实现家电设备功能描述和交互控制是当前家庭网络设备控制领域的研究热点[2]。人们可以采用手机或PDA开启空调到合适温度、查看家中生病的老人或无人看护的小孩的情况、在回家途中查看冰箱物品存储情况等。在这一类应用中,如果针对每一款设备都做一个界面,比较繁琐,因此需要动态生成工具,为用户提供动态的、便于操作的家电控制界面。目前的研究多关注在协议层的融合,较少研究操作界面的生成和定制,而且在研究协议层融合的同时,相对应的操作界面的生成实现较少。
    本文对当前的信息家电控制界面自动生成技术进行研究,提出一种面向Android远程终端的信息家电控制界面自动生成技术的方法。该方法提出了基于Web Service对信息家电的设备服务描述(其中包含了控制界面的关键信息),并根据生成的服务描述文件(WSDL文档)生成Android系统中可使用的界面设置文件(XML文件),远程终端调用根据服务描述信息生成的XML文件,在Android设备中为用户提供控制界面的呈现。
1 信息家电控制界面自动生成技术
1.1 现有技术研究现状

    家庭设备控制界面技术的研究,从最初的用户界面管理系统到后来的基于模型的用户界面技术,随着家庭网络技术的发展也不断进步。
    国内外许多学者对远程控制界面进行了研究。KIM H S[3]等通过对家庭网关技术的研究,设计实现了在家庭网关上配置HTTP Server,用户通过浏览器查看设备状态、完成设备控制操作,但该方法得到的控制界面都是静态页面,不是自动生成。CHO S Y等[4]通过对家庭网络中的Web Server技术的研究,提出了通过Web Server向远程用户提供控制界面的方法,但在研究中并没有具体实现方法。国内学者田红成等[5]对基于IPv6的信息家电控制界面的研究中,提出一种基于UPnP的家庭网关设计模板文件,根据该模板文件自动生成设备控制界面。但该技术中对按键的设计及关联没有明确的说明。韩颖铮等[6]提出基于家庭网络协议的控制界面生成技术,在设备描述中增加“界面生成关键信息”,家庭网关根据这些信息有效地自动生成控制界面。该方法虽然实现了设备界面的自动生成,但是还是基于Web页面的方式呈现,安全性和多样性上存在不足。
1.2 现有技术存在的问题
    通过上述对现有研究技术的分析可知,当前能够实现信息家电界面自动生成的研究较少。信息家电设备控制界面生成技术主要有以下两种基本情况。
    (1)信息家电设备根据预先设定的固定界面,下载到用户客户端或者家庭内部网关上安装,以此形成的控制界面完成信息家电设备的控制。这种方式形成的操作界面可选择性多,但是设备更新或升级需要重新下载并安装新的界面,且多种设备控制界面独立存在,难以整合,给用户带来诸多不便。
    (2)利用信息家电在家庭网络协议中发布的信息实现界面的自动生成。这种条件下,由于提供的信息量比较少,使得生成的界面过于简单,不便于操作;另外,在这种条件下生成的界面一般都是依托于网页提供给用户,虽然有些研究已经实现了一些动态效果,但是对于用户来说还是较为单一且有些呆板。
2 面向界面自动生成的家电控制模型及仿真
    针对前面界面生成技术中提到的问题,借鉴当前多种家庭网络中家电设备界面生成的框架,本文系统地完成了一个面向界面自动生成的信息家电控制模型,并设计完成了适用于Android系统的界面生成器。
2.1 家电设备控制模型
    本研究设计的信息家电控制模型的结构如图1所示。接入家庭网络的信息家电设备采用互联网技术,使得信息家电可以处于家庭内部网络或者远程网络中。信息家电设备中的安全模块可以保证家电接入家庭网络的安全性,在设备控制模块中有设备服务的参数设置、控制按键设置等有关设备控制操作相关的功能。通过Web Service对家庭网络中的信息家电设备进行抽象与发布,由此形成的WSDL文档中关于信息家电详细的设备服务描述,包含设备描述、服务状态描述及呈现、服务关联、控制按键等设备操作描述。通过Internet将生成的WSDL文档的URL传输给安装有本文设计实现的界面生成器的Android系统设备,界面生成器会自动完成对WSDL描述文件的解析,转换成为Android系统可用的XML布局文件,并添加设备控制功能的相关代码实现家电控制界面的自动构建。

2.2 面向Android系统的界面生成器
    目前,Android应用程序基本采用XML文件的形式通过对按钮、文本、列表等控件的设置来完成界面的布局。如在相对布局方式中有一个名字为btn_1的Button控件,并且Button上显示的文字是“OpenLayout!”,描述文件如下:
    <LinearLayout
    <Button
        android:id="@+id/ btn_1"
        android:text="OpenLayout!"
       />
    </LinearLayout>
    本文提出的界面生成器可以完成将设备服务描述文件转换成Android系统界面布局所需要的XML文件,以此来完成设备控制界面的自动生成。在界面生成器中完成了WSDL文档解析转换成为XML文件,实现界面布局与界面生成技术相结合,并结合Android编码实现更加复杂的设备控制操作,自动完成信息家电设备的控制界面在Android系统中的呈现,实现信息家电设备界面的自动构建。
    根据对设备服务描述文件的分析,将信息家电设备的服务描述分成3部分来完成WSDL文档向XML文件的转换,即设备描述模块、服务描述模块和操作描述模块,设计完成的界面生成器的结构如图2所示。

    设备描述模块用来存储家庭网络中信息家电设备的描述信息,其中包含信息家电的网络地址ADR、信息家电设备名称DeviceName、信息家电在网络中的端口号DevicePort等。服务描述模块主要用来保存服务的描述信息,主要的设备服务描述信息包括设备服务的种类Device_Service_Type以及设备服务数目Device_Service_Num等。操作描述模块是整个界面生成器中的主要模块,用来存储设备操作的描述信息,包含了设备控制操作的名称(如输入、输出等)、设备操作相对应的输入或输出参数的设置等。
    WSDL文档通过界面生成器转换成XML布局文件的过程如下:
    (1)从头开始对WSDL文档进行顺序扫描,按照设备描述模块、服务描述模块和操作模块将WSDL文档分割成分别属于上述模块的子段,然后根据模块内的描述信息将分割的模块子段抽象成为一般形式,并且根据子段间的相互依赖性将相关联的子段组合起来,按照对应子段在WSDL文档中的位置,将其写入到XML文件中。
    (2)如果扫描到没有相互依赖的子段,则直接进行抽象;如果扫描到的子段具有相互依赖性,则根据模块的依赖性(例如是否绑定、是否是复杂类型描述等)分别处理:
    ①如果扫描到的模块依赖于设备描述模块,则使用设备描述模块中的元素值进行对应的抽象替换,形成相应的子段。
    ②如果扫描到依赖于服务描述模块的子段,则先进行设备描述模块的抽象,再取服务描述模块中的元素进行替换,并将替换后的字符串进行组合,形成相应的子段。
    ③如果扫描到依赖于操作描述模块的子段,则先进行服务描述模块的抽象替换,然后再取操作描述模块中的元素进行相应的替换,生成类型一致的字符串,并组合起来形成对应的子段。
    在界面生成器中包含的部分映射关系如下:“<wsdl:service name”映射到XML布局文件的整体布局的惟一标识“android:id”和Java代码中的接口名称,“<wsdl:port-Type name”可对应于Java代码中可被调用的函数库,在portType元素中包含的operation元素,映射到XML布局文件中的控件属性(如默认文本显示)和Java代码中的控件包含的方法实现(如输入输出以及其他操作),其中“<wsdl:operation name”可映射到XML布局文件中控件的惟一标识“android:id”并对应于Java代码中的实现方法。
    (3)最终将得到的各个子段按照其在WSDL文档中的相对位置组合,这样便生成了信息家电设备控制界面的XML布局文件。
    在WSDL文档的抽象解析过程中,将布尔型采用普通的Button控件来表示,将枚举类型(enumeration)根据其基数情况采用列表或者RadioButton控件表示,将字符串类型有输入要求的采用EditText控件表示,对于无参数输入的采用TextView控件表示,符合Android系统对界面布局文件的要求且增加了自动生成界面与用户的交互性。
    用户通过远程终端(Android设备)上的界面生成器访问家庭网络中提供的设备描述文件的URL,就能够获取服务控制界面,实现对设备的操作和控制。
3 家电控制模型仿真及结果

 


    信息家电设备接入到家庭网络中可采用有线和无线两种方式。有线网络比较稳定、安全性比较高;无线网络简单方便,并且可以满足设备的移动性。在本文的仿真中,设备的接入采用有线方式接入局域网,而用户的控制设备则采用无线方式。
    编程仿真实现虚拟冰箱和虚拟空调程序,以此分别完成对冰箱和空调的模拟。将两台虚拟设备和一台安装有界面生成器的Android设备连接在同一个家庭局域网内,开启两台设备的网络服务。根据家电控制模型,信息家电通过Web Service完成家电服务的描述以及发布,生成WSDL文档,将WSDL文档作为界面生成器的输入参数,解析转换成XML布局文件,形成Android系统的控件,区分出服务区域,得到风格统一的家电控制界面,如图3所示。用户可以通过生成的家电控制界面对家电进行操作控制。用户通过网络发送家电设备控制请求,从而完成对设备的远程控制。

    点击图3中的空调选项,针对空调的控制界面会自动弹出,如图4所示。在该页面中,空调当前状态以及空调的控制按键自动呈现。用户可在此控制界面上进行空调的开关、温度的升降、模式选择等操作,操作完成后在设备控制界面和虚拟空调的控制界面上都可以看到操作效果。
    本文提出了面向界面自动生成的信息家电控制模型,在界面生成器中完成了设备服务描述信息的提取及可视化,为信息家电控制界面的呈现提供了信息,针对当前的Android系统设备,利用这些信息,可以完成便捷的、个性的、人性化的信息家电设备控制界面的自动构建。后续工作将研究信息家电控制界面的优化问题,例如对于某个控件的自动选择方法,使用文本输入还是单选菜单更合理、更人性化,需要设计一定的优化算法来实现。
参考文献
[1] 王晓东,姜浩.Web Service同传统分布式技术的比较分析[J].计算机技术与发展,2008,18(3):125-127.
[2] SONG K,LEE K H.An automated generation of xforms in terfaces for Web Services[C].Proceedings of the International Conference on Web Services,2007:856-863.
[3] KIM H S,HAN S S,LEE C G.The jini-based broadband power line communication(BPLC)  home control system[C]. ISITC:Information Technology Convergence,2007:86-90.
[4] CHO S Y,SEO D Y,KIM T Y.Gateway framework for home appliances’s interoperability based on heterogeneous middleware in residential network[C].2002 Digest of Technical papers,International Conference,2002:98-99.
[5] 田红成,陈萍,张蓓,等.IPv6信息家电控制界面的自动生成技术[J].计算机工程,2007,33(3):262-264.
[6] 韩颖铮,陆以勤.家庭网络控制界面自动生成技术及仿真[C].长沙:CERNET第十七届学术年会,2010:383-387.

此内容为AET网站原创,未经授权禁止转载。