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