环绕智能系统中移动终端软件设计与实现
摘要: 本文讨论了环绕智能实现的技术,以及在环绕智能平台上移动终端(PDA与智能手机)软件的设计与实现方法。这种实现使环绕智能控制器能在特定的物理空间中进行多用户的身份实时感知,并为用户提供个性化、智能化的服务。
关键词: 环绕智能;移动终端;新型交互;软件
环绕智能概念
环绕智能(Ambient Intelligence,AmI)是一个新型的跨越多学科的概念。它的核心思想就是运用“无处不在”的通信及交互手段,实现高级人机交互协议的分布式层次结构,为不同的用户提供不同的个性化服务。“环绕智能”是很自然的,无处不在并无论何时我们需要它的时候随时可被感知,但通常是不可见的。本文从环绕智能的实现出发,对环绕智能的研究分为两个阶段:局域环绕智能系统与广域环绕智能系统。
环绕智能系统设计中的相关技术
XML技术
可扩展标记语言(XML,Extensible Markup Language)提供了计算机文档的一种标准格式,具有可扩展性、灵活性和自描述性。用PDA HP iPAQ 5550作为控制器,采用XML技术可将软键盘消息和鼠标单双击事件封装发送到AmI控制中心,控制中心解析消息后按协议再发送给个性化网络媒体应用程序,控制对事件的响应。无论是局域还是广域,PDA或手机的网络通信全部以XML格式消息传送数据,通过约定好的协议对其进行封装和解析。
Socket技术
套接字(Socket)是两个程序之间进行双向数据传输的网络通讯端点,构成了单个主机内及整个网络间的编程界面。客户基于服务器之间使用的大部分通讯组件都是使用面向连接的Socket来实现的,它由一个地址和一个端口号来标识。每个服务程序在提供服务时都要在一个端口进行,而想使用该服务的客户机也必须连接该端口。移动终端PDA与环绕智能控制中心的通信和数据交换都是通过建立Socket连接实现的。按约定好的传输协议,PDA将待传递信息封装,通过Socket技术,与控制中心通信,再由控制中心解析消息。
Web 服务
Web服务是具有基于因特网接口的自我包含、自我描述、动态发现的应用程序。它将常用的代码组织成服务,任何需要使用这些代码的应用程序都能调用这些服务。Web服务由远程方法调用驱动,这些调用采用标准的、基于XML的消息和编码封装,如简单对象访问协议(SOAP)。Web服务用WSDL (Web服务定义语言)定义编程接口,通过UDDI(通用描述、发现和集成)注册中心来发布。
J2ME
J2ME主要应用在消费电子类产品和嵌入式系统上,本文涉及的开发全部基于J2ME平台。在J2ME层次结构中,Profile概念建立在Configuration之上对特定种类设备的描述。Configuration定义了每一类设备应具有的最小功能。对于运算功能有限、电力供应也有限的嵌入式设备(如PDA、手机)定义在CLDC规范之中;对于运算能力较强、电力供应相对充足的嵌入式设备定义在CDC规范中。CLDC之上用于描述移动信息设备的MIDP是各大手机制造商和移动运营商联合指定的手机上的Java开发规范。
UML技术
统一建模语言(UML,Unified Modeling Language)是一种可视化的建模语言,它能让系统构造者用标准的、易于理解的方式建立起能够表达出他们想象力的系统蓝图,并提供一种机制,以便于不同的人之间有效的共享和交流设计结果。UML有以下一些主要组成部分:(1)类图;(2)对象图;(3)用例图;(4)状态图;(5)顺序图;(6)活动图;(7)协作图;(8)构件图;(9)部署图。
环绕智能平台系统
用户使用便携的手持控制器和蓝牙身份徽标,智能环境能自动获得用户身份信息,为其提供个性化服务。平台系统是环绕智能系统的基础,其他子系统都是基于平台系统展开的。
平台系统属于局域环绕智能系统,已经实现的功能有:(1)单用户身份感知与识别,通过佩戴蓝牙徽标走进房间,PDA自动显示用户身份。(2)网络媒体服务,用PDA在计算机上点播喜爱的节目,并可预定播放。(3)红外家电控制,模拟红外信号控制电视频道、音量等。系统的功能实现框架与子系统构成如图1所示。
图1 平台系统功能实现框架
局域环境下移动终端PDA软件的设计与实现
移动终端PDA软件描述
多用户身份感知系统的目的是体现个性化的服务,多个用户先后携带Sensor进入,PDA可以实时接收控制中心发送的用户进入信息和身份信息,自动显示新用户信息并要求登录,在登录后进行用户间的切换。用户通过PDA控制器的触笔操作便可以取代原有功能,内容包括:(1)模拟笔触面板,远程无线控制屋内布有网络媒体服务程序的主机桌面的鼠标移动,或直接与网络媒体服务程序进行UDP通信;(2)捕捉PDA外部方向按钮的上下左右四个方向键事件,通过控制中心间接与网络媒体服务程序TCP通信;(3)远程文本输入,运用其自带软键盘将输入的文本发送至远程桌面上需要输入文本的位置,通过控制中心间接与网络媒体服务程序TCP通信。移动终端PDA有如下逻辑结构设计如图2所示。
图2 移动终端逻辑结构设计图
移动终端软件分为4个部分:直接与用户进行交互的用户交互层(包括界面设计、功能要求);规定接收与传送的XML消息格式规范,便于功能扩展与统一管理的通信协议层;将待发送请求进行统一封装并将响应消息进行统一解析,然后将有用信息返回给用户的消息处理层;:与环绕智能控制中心建立并保持连接的通信接口。
PDA终端软件的实现
(1)通信过程中PDA端与控制中心消息处理格式
笔触面板的鼠标控制消息传送直接采用UDP通信方式,直接向网络媒体应用程序发送规定字符串";$1*200622620353*9*4#" + Xpos + "#" + Ypos + "#" + times + "#*0$";其余消息均基于XML建立TCP连接,如键盘输入字符串发送:
<?xml version="1.0" encoding="utf-8" ?>
<Message>
<Name>TextContentSending</Name>
<Content>
< TextContent >
//待发送内容
</ TextContent >
</Content>
</Message>
(2)移动终端具体实现过程如下:首先是建立界面类。其次是连接建立类,包括:MsgStream.cs(建立Tcp连接的Client端与环绕智能控制中心通信);UdpStream.cs(建立Udp连接的Client端,与网络媒体控制中心通信)。然后是消息统一规范类:MsgGntor.cs(产生各种请求消息),MsgParser.cs(解析特定格式消息)。最后是用户信息实时接收类:ReceiveMessage.cs,由各个界面类的定时器调用,实时将接收来的信息归类并解析。
(3)移动终端运行界面
移动终端PDA运行环绕智能控制器程序后的界面见图3。虚拟键盘鼠标控制界面,包括文字发送选项与鼠标滑动面板,以及鼠标的点击响应按钮等。
图3 用户身份感知与虚拟键盘鼠标控制界面
广域环境下移动终端软件的设计与实现
系统移动终端软件描述
广域环境下,选用Moto A760作为新的移动终端,用J2ME开发手机上的应用程序。功能类似于局域环绕智能平台系统,但系统结构有所改变,采用Web Service发布,实现广域功能。实现部分主要涉及两大部分的设计:移动终端交互设计与命令发送,Web Service设计。
移动终端软件设计
本系统实现流程为:手机通过网络访问发布在公网服务器上的Web服务,根据不同的服务调用会向环绕智能控制中心发送消息,执行不同操作。对于环绕智能控制中心,手机只需要进行HTTP连接便可以实现访问,通信过程采用SOAP协议进行信息交换。子系统移动终端访问Web服务是由Java规范请求172 (JSR 172) 定义的,它与标准Web服务遵循同样的规范、结构以及调用模型。JSR 172 Web服务API(WSA)提供远程服务调用API以及运行时环境,从而允许J2ME应用程序在Web上消费服务。
手机上终端软件的实现
通信过程中手机端与控制中心的XML消息处理格式
以频道选择控制(TVChannelSelection)为例,下面消息实现切换5频道的控制。
<?xml version="1.0" encoding="utf-8" ?>
<Message>
<Name>TV</Name>
<Content>
< TVInfo >TVch5</ TVInfo >
</Content>
</Message>
系统实现过程
移动终端部分包括:电视控制界面类,与用户直接交互、操作;Web服务Stub类,描述web服务的WSDL端口的映射,实现反映相关端口类型方法的服务定义接口。其中Web服务部分包括:支持库部分,对消息进行了统一格式的规定,便于进一步消息处理与重用;网络通信部分,MsgGntor、MsgParser分别负责消息封装与解析,Msg,MsgStream负责抽象包装底层网络通信接口;电视控制部分,按控制功能定义了若干Web Service方法,如SendChannel(int)调节电视频道。移动终端运行界面如图4所示。
图4 广域电视媒体服务子系统:选择电视频道控制界面
结论与展望
本文通过研究环绕智能基本概念以及相关技术,设计并实现了局域环境下PDA作为移动终端的软件,进而向广域方向扩展设计实现了移动终端软件,验证了环绕智能实现的可行性,初步体现了广域环绕智能带来的便利与前景。未来工作展望包括:(1)进一步加强环绕智能平台系统稳定性;(2)丰富广域环绕智能系统的功能;(3)研究如何体现“智能”概念。
参考文献:
1.Paolo Remagnino and Gian Luca Foresti,Ambient Intelligence: A New Multidisciplinary Paradigm,IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS-PART A: SYSTEMS AND HUMANS, VOL. 35, NO. 1, JANUARY 2005
2.Ethan Cerami,Web服务精髓,中国电力出版社,2003.5.
3.庄东、刘晓华等,JBuilderX无线应用开发,电子工业出版社,2004.11.
4.Simon Robinson,Christian Nagel等著,李敏波译,C#高级编程,清华大学出版社,2005.6.
评论