環(huán)繞智能系統(tǒng)中移動終端軟件設(shè)計與實現(xiàn)
摘要: 本文討論了環(huán)繞智能實現(xiàn)的技術(shù),以及在環(huán)繞智能平臺上移動終端(PDA與智能手機)軟件的設(shè)計與實現(xiàn)方法。這種實現(xiàn)使環(huán)繞智能控制器能在特定的物理空間中進行多用戶的身份實時感知,并為用戶提供個性化、智能化的服務(wù)。
關(guān)鍵詞: 環(huán)繞智能;移動終端;新型交互;軟件
環(huán)繞智能概念
環(huán)繞智能(Ambient Intelligence,AmI)是一個新型的跨越多學(xué)科的概念。它的核心思想就是運用“無處不在”的通信及交互手段,實現(xiàn)高級人機交互協(xié)議的分布式層次結(jié)構(gòu),為不同的用戶提供不同的個性化服務(wù)。“環(huán)繞智能”是很自然的,無處不在并無論何時我們需要它的時候隨時可被感知,但通常是不可見的。本文從環(huán)繞智能的實現(xiàn)出發(fā),對環(huán)繞智能的研究分為兩個階段:局域環(huán)繞智能系統(tǒng)與廣域環(huán)繞智能系統(tǒng)。
環(huán)繞智能系統(tǒng)設(shè)計中的相關(guān)技術(shù)
XML技術(shù)
可擴展標記語言(XML,Extensible Markup Language)提供了計算機文檔的一種標準格式,具有可擴展性、靈活性和自描述性。用PDA HP iPAQ 5550作為控制器,采用XML技術(shù)可將軟鍵盤消息和鼠標單雙擊事件封裝發(fā)送到AmI控制中心,控制中心解析消息后按協(xié)議再發(fā)送給個性化網(wǎng)絡(luò)媒體應(yīng)用程序,控制對事件的響應(yīng)。無論是局域還是廣域,PDA或手機的網(wǎng)絡(luò)通信全部以XML格式消息傳送數(shù)據(jù),通過約定好的協(xié)議對其進行封裝和解析。
Socket技術(shù)
套接字(Socket)是兩個程序之間進行雙向數(shù)據(jù)傳輸?shù)?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/網(wǎng)絡(luò)">網(wǎng)絡(luò)通訊端點,構(gòu)成了單個主機內(nèi)及整個網(wǎng)絡(luò)間的編程界面。客戶基于服務(wù)器之間使用的大部分通訊組件都是使用面向連接的Socket來實現(xiàn)的,它由一個地址和一個端口號來標識。每個服務(wù)程序在提供服務(wù)時都要在一個端口進行,而想使用該服務(wù)的客戶機也必須連接該端口。移動終端PDA與環(huán)繞智能控制中心的通信和數(shù)據(jù)交換都是通過建立Socket連接實現(xiàn)的。按約定好的傳輸協(xié)議,PDA將待傳遞信息封裝,通過Socket技術(shù),與控制中心通信,再由控制中心解析消息。
Web 服務(wù)
Web服務(wù)是具有基于因特網(wǎng)接口的自我包含、自我描述、動態(tài)發(fā)現(xiàn)的應(yīng)用程序。它將常用的代碼組織成服務(wù),任何需要使用這些代碼的應(yīng)用程序都能調(diào)用這些服務(wù)。Web服務(wù)由遠程方法調(diào)用驅(qū)動,這些調(diào)用采用標準的、基于XML的消息和編碼封裝,如簡單對象訪問協(xié)議(SOAP)。Web服務(wù)用WSDL (Web服務(wù)定義語言)定義編程接口,通過UDDI(通用描述、發(fā)現(xiàn)和集成)注冊中心來發(fā)布。
J2ME
J2ME主要應(yīng)用在消費電子類產(chǎn)品和嵌入式系統(tǒng)上,本文涉及的開發(fā)全部基于J2ME平臺。在J2ME層次結(jié)構(gòu)中,Profile概念建立在Configuration之上對特定種類設(shè)備的描述。Configuration定義了每一類設(shè)備應(yīng)具有的最小功能。對于運算功能有限、電力供應(yīng)也有限的嵌入式設(shè)備(如PDA、手機)定義在CLDC規(guī)范之中;對于運算能力較強、電力供應(yīng)相對充足的嵌入式設(shè)備定義在CDC規(guī)范中。CLDC之上用于描述移動信息設(shè)備的MIDP是各大手機制造商和移動運營商聯(lián)合指定的手機上的Java開發(fā)規(guī)范。
UML技術(shù)
統(tǒng)一建模語言(UML,Unified Modeling Language)是一種可視化的建模語言,它能讓系統(tǒng)構(gòu)造者用標準的、易于理解的方式建立起能夠表達出他們想象力的系統(tǒng)藍圖,并提供一種機制,以便于不同的人之間有效的共享和交流設(shè)計結(jié)果。UML有以下一些主要組成部分:(1)類圖;(2)對象圖;(3)用例圖;(4)狀態(tài)圖;(5)順序圖;(6)活動圖;(7)協(xié)作圖;(8)構(gòu)件圖;(9)部署圖。
環(huán)繞智能平臺系統(tǒng)
用戶使用便攜的手持控制器和藍牙身份徽標,智能環(huán)境能自動獲得用戶身份信息,為其提供個性化服務(wù)。平臺系統(tǒng)是環(huán)繞智能系統(tǒng)的基礎(chǔ),其他子系統(tǒng)都是基于平臺系統(tǒng)展開的。
平臺系統(tǒng)屬于局域環(huán)繞智能系統(tǒng),已經(jīng)實現(xiàn)的功能有:(1)單用戶身份感知與識別,通過佩戴藍牙徽標走進房間,PDA自動顯示用戶身份。(2)網(wǎng)絡(luò)媒體服務(wù),用PDA在計算機上點播喜愛的節(jié)目,并可預(yù)定播放。(3)紅外家電控制,模擬紅外信號控制電視頻道、音量等。系統(tǒng)的功能實現(xiàn)框架與子系統(tǒng)構(gòu)成如圖1所示。
圖1 平臺系統(tǒng)功能實現(xiàn)框架
局域環(huán)境下移動終端PDA軟件的設(shè)計與實現(xiàn)
移動終端PDA軟件描述
多用戶身份感知系統(tǒng)的目的是體現(xiàn)個性化的服務(wù),多個用戶先后攜帶Sensor進入,PDA可以實時接收控制中心發(fā)送的用戶進入信息和身份信息,自動顯示新用戶信息并要求登錄,在登錄后進行用戶間的切換。用戶通過PDA控制器的觸筆操作便可以取代原有功能,內(nèi)容包括:(1)模擬筆觸面板,遠程無線控制屋內(nèi)布有網(wǎng)絡(luò)媒體服務(wù)程序的主機桌面的鼠標移動,或直接與網(wǎng)絡(luò)媒體服務(wù)程序進行UDP通信;(2)捕捉PDA外部方向按鈕的上下左右四個方向鍵事件,通過控制中心間接與網(wǎng)絡(luò)媒體服務(wù)程序TCP通信;(3)遠程文本輸入,運用其自帶軟鍵盤將輸入的文本發(fā)送至遠程桌面上需要輸入文本的位置,通過控制中心間接與網(wǎng)絡(luò)媒體服務(wù)程序TCP通信。移動終端PDA有如下邏輯結(jié)構(gòu)設(shè)計如圖2所示。
圖2 移動終端邏輯結(jié)構(gòu)設(shè)計圖
移動終端軟件分為4個部分:直接與用戶進行交互的用戶交互層(包括界面設(shè)計、功能要求);規(guī)定接收與傳送的XML消息格式規(guī)范,便于功能擴展與統(tǒng)一管理的通信協(xié)議層;將待發(fā)送請求進行統(tǒng)一封裝并將響應(yīng)消息進行統(tǒng)一解析,然后將有用信息返回給用戶的消息處理層;:與環(huán)繞智能控制中心建立并保持連接的通信接口。
PDA終端軟件的實現(xiàn)
(1)通信過程中PDA端與控制中心消息處理格式
筆觸面板的鼠標控制消息傳送直接采用UDP通信方式,直接向網(wǎng)絡(luò)媒體應(yīng)用程序發(fā)送規(guī)定字符串";$1*200622620353*9*4#" + Xpos + "#" + Ypos + "#" + times + "#*0$";其余消息均基于XML建立TCP連接,如鍵盤輸入字符串發(fā)送:
<?xml version="1.0" encoding="utf-8" ?>
<Message>
<Name>TextContentSending</Name>
<Content>
< TextContent >
//待發(fā)送內(nèi)容
</ TextContent >
</Content>
</Message>
(2)移動終端具體實現(xiàn)過程如下:首先是建立界面類。其次是連接建立類,包括:MsgStream.cs(建立Tcp連接的Client端與環(huán)繞智能控制中心通信);UdpStream.cs(建立Udp連接的Client端,與網(wǎng)絡(luò)媒體控制中心通信)。然后是消息統(tǒng)一規(guī)范類:MsgGntor.cs(產(chǎn)生各種請求消息),MsgParser.cs(解析特定格式消息)。最后是用戶信息實時接收類:ReceiveMessage.cs,由各個界面類的定時器調(diào)用,實時將接收來的信息歸類并解析。
(3)移動終端運行界面
移動終端PDA運行環(huán)繞智能控制器程序后的界面見圖3。虛擬鍵盤鼠標控制界面,包括文字發(fā)送選項與鼠標滑動面板,以及鼠標的點擊響應(yīng)按鈕等。
圖3 用戶身份感知與虛擬鍵盤鼠標控制界面
廣域環(huán)境下移動終端軟件的設(shè)計與實現(xiàn)
系統(tǒng)移動終端軟件描述
廣域環(huán)境下,選用Moto A760作為新的移動終端,用J2ME開發(fā)手機上的應(yīng)用程序。功能類似于局域環(huán)繞智能平臺系統(tǒng),但系統(tǒng)結(jié)構(gòu)有所改變,采用Web Service發(fā)布,實現(xiàn)廣域功能。實現(xiàn)部分主要涉及兩大部分的設(shè)計:移動終端交互設(shè)計與命令發(fā)送,Web Service設(shè)計。
移動終端軟件設(shè)計
本系統(tǒng)實現(xiàn)流程為:手機通過網(wǎng)絡(luò)訪問發(fā)布在公網(wǎng)服務(wù)器上的Web服務(wù),根據(jù)不同的服務(wù)調(diào)用會向環(huán)繞智能控制中心發(fā)送消息,執(zhí)行不同操作。對于環(huán)繞智能控制中心,手機只需要進行HTTP連接便可以實現(xiàn)訪問,通信過程采用SOAP協(xié)議進行信息交換。子系統(tǒng)移動終端訪問Web服務(wù)是由Java規(guī)范請求172 (JSR 172) 定義的,它與標準Web服務(wù)遵循同樣的規(guī)范、結(jié)構(gòu)以及調(diào)用模型。JSR 172 Web服務(wù)API(WSA)提供遠程服務(wù)調(diào)用API以及運行時環(huán)境,從而允許J2ME應(yīng)用程序在Web上消費服務(wù)。
手機上終端軟件的實現(xiàn)
通信過程中手機端與控制中心的XML消息處理格式
以頻道選擇控制(TVChannelSelection)為例,下面消息實現(xiàn)切換5頻道的控制。
<?xml version="1.0" encoding="utf-8" ?>
<Message>
<Name>TV</Name>
<Content>
< TVInfo >TVch5</ TVInfo >
</Content>
</Message>
系統(tǒng)實現(xiàn)過程
移動終端部分包括:電視控制界面類,與用戶直接交互、操作;Web服務(wù)Stub類,描述web服務(wù)的WSDL端口的映射,實現(xiàn)反映相關(guān)端口類型方法的服務(wù)定義接口。其中Web服務(wù)部分包括:支持庫部分,對消息進行了統(tǒng)一格式的規(guī)定,便于進一步消息處理與重用;網(wǎng)絡(luò)通信部分,MsgGntor、MsgParser分別負責(zé)消息封裝與解析,Msg,MsgStream負責(zé)抽象包裝底層網(wǎng)絡(luò)通信接口;電視控制部分,按控制功能定義了若干Web Service方法,如SendChannel(int)調(diào)節(jié)電視頻道。移動終端運行界面如圖4所示。
圖4 廣域電視媒體服務(wù)子系統(tǒng):選擇電視頻道控制界面
結(jié)論與展望
本文通過研究環(huán)繞智能基本概念以及相關(guān)技術(shù),設(shè)計并實現(xiàn)了局域環(huán)境下PDA作為移動終端的軟件,進而向廣域方向擴展設(shè)計實現(xiàn)了移動終端軟件,驗證了環(huán)繞智能實現(xiàn)的可行性,初步體現(xiàn)了廣域環(huán)繞智能帶來的便利與前景。未來工作展望包括:(1)進一步加強環(huán)繞智能平臺系統(tǒng)穩(wěn)定性;(2)豐富廣域環(huán)繞智能系統(tǒng)的功能;(3)研究如何體現(xiàn)“智能”概念。
參考文獻:
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服務(wù)精髓,中國電力出版社,2003.5.
3.莊東、劉曉華等,JBuilderX無線應(yīng)用開發(fā),電子工業(yè)出版社,2004.11.
4.Simon Robinson,Christian Nagel等著,李敏波譯,C#高級編程,清華大學(xué)出版社,2005.6.
評論