《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于Web Service的信息家電控制界面自動構(gòu)建
基于Web Service的信息家電控制界面自動構(gòu)建
來源:微型機(jī)與應(yīng)用2013年第12期
張先部1,丁香乾1,王曉東1,許曉偉1,陶 冶2
(1.中國海洋大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島266100; 2.青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院
摘要: 信息家電的智能化促進(jìn)了家庭設(shè)備的網(wǎng)絡(luò)連接和網(wǎng)絡(luò)控制的需求。通過Web Service將信息家電控制功能描述并發(fā)布,為遠(yuǎn)程用戶提供設(shè)備服務(wù)控制?;趯Ξ?dāng)前家庭網(wǎng)絡(luò)設(shè)備控制界面現(xiàn)狀的分析,提出一種基于Web Service的自動界面生成技術(shù)。該方法可使遠(yuǎn)程用戶的Android智能設(shè)備根據(jù)信息家電的WSDL信息描述自動生成控制界面并動態(tài)更新界面。為驗證這種方法,設(shè)計一個信息家電控制模型。結(jié)果表明,該方法能夠自動構(gòu)建信息家電控制界面。
Abstract:
Key words :

摘  要: 信息家電的智能化促進(jìn)了家庭設(shè)備的網(wǎng)絡(luò)連接和網(wǎng)絡(luò)控制的需求。通過Web Service將信息家電控制功能描述并發(fā)布,為遠(yuǎn)程用戶提供設(shè)備服務(wù)控制?;趯Ξ?dāng)前家庭網(wǎng)絡(luò)設(shè)備控制界面現(xiàn)狀的分析,提出一種基于Web Service的自動界面生成技術(shù)。該方法可使遠(yuǎn)程用戶的Android智能設(shè)備根據(jù)信息家電的WSDL信息描述自動生成控制界面并動態(tài)更新界面。為驗證這種方法,設(shè)計一個信息家電控制模型。結(jié)果表明,該方法能夠自動構(gòu)建信息家電控制界面。
關(guān)鍵詞: Web Service;WSDL;信息家電;界面自動構(gòu)建;Android

    信息家電是指帶有嵌入式處理器的家用信息設(shè)備,它的基本特征是與網(wǎng)絡(luò)相連而有一些具體功能。信息家電利用先進(jìn)的計算機(jī)、網(wǎng)絡(luò)通信、人工智能等技術(shù),將與家庭生活相關(guān)的各種家電子系統(tǒng)有機(jī)地結(jié)合在一起,通過綜合家庭范圍內(nèi)的本地管理與控制以及來自家庭之外的遠(yuǎn)程管理與控制,使家庭生活更有效、更便捷。
    Web Service是面向服務(wù)的體系架構(gòu),可以為服務(wù)請求者提供特定服務(wù),其使用開放協(xié)議進(jìn)行通信,建立在相關(guān)網(wǎng)絡(luò)協(xié)議和開發(fā)的XML標(biāo)準(zhǔn)之上,具有獨立的語言且可進(jìn)行自我描述,可以實現(xiàn)不同平臺的應(yīng)用服務(wù)的互操作,且這種交互完全與平臺和語言無關(guān),使用一個WSDL文檔和網(wǎng)絡(luò)協(xié)議(通常是HTTP)來定義接口、描述服務(wù)[1]。Web Service的這些特點使其與其他的私有協(xié)議相較在家電控制領(lǐng)域具有利于應(yīng)用開發(fā)、克服通信協(xié)議異構(gòu)問題、與Web天然交互性好等優(yōu)勢,因此采取Web服務(wù)來控制家電。WSDL是一個基于XML格式的文檔,用來描述服務(wù)端口訪問方式和使用協(xié)議的細(xì)節(jié),通常采用抽象語言描述服務(wù)支持的操作和信息?;赪eb Service實現(xiàn)家電設(shè)備功能描述和交互控制是當(dāng)前家庭網(wǎng)絡(luò)設(shè)備控制領(lǐng)域的研究熱點[2]。人們可以采用手機(jī)或PDA開啟空調(diào)到合適溫度、查看家中生病的老人或無人看護(hù)的小孩的情況、在回家途中查看冰箱物品存儲情況等。在這一類應(yīng)用中,如果針對每一款設(shè)備都做一個界面,比較繁瑣,因此需要動態(tài)生成工具,為用戶提供動態(tài)的、便于操作的家電控制界面。目前的研究多關(guān)注在協(xié)議層的融合,較少研究操作界面的生成和定制,而且在研究協(xié)議層融合的同時,相對應(yīng)的操作界面的生成實現(xiàn)較少。
    本文對當(dāng)前的信息家電控制界面自動生成技術(shù)進(jìn)行研究,提出一種面向Android遠(yuǎn)程終端的信息家電控制界面自動生成技術(shù)的方法。該方法提出了基于Web Service對信息家電的設(shè)備服務(wù)描述(其中包含了控制界面的關(guān)鍵信息),并根據(jù)生成的服務(wù)描述文件(WSDL文檔)生成Android系統(tǒng)中可使用的界面設(shè)置文件(XML文件),遠(yuǎn)程終端調(diào)用根據(jù)服務(wù)描述信息生成的XML文件,在Android設(shè)備中為用戶提供控制界面的呈現(xiàn)。
1 信息家電控制界面自動生成技術(shù)
1.1 現(xiàn)有技術(shù)研究現(xiàn)狀

    家庭設(shè)備控制界面技術(shù)的研究,從最初的用戶界面管理系統(tǒng)到后來的基于模型的用戶界面技術(shù),隨著家庭網(wǎng)絡(luò)技術(shù)的發(fā)展也不斷進(jìn)步。
    國內(nèi)外許多學(xué)者對遠(yuǎn)程控制界面進(jìn)行了研究。KIM H S[3]等通過對家庭網(wǎng)關(guān)技術(shù)的研究,設(shè)計實現(xiàn)了在家庭網(wǎng)關(guān)上配置HTTP Server,用戶通過瀏覽器查看設(shè)備狀態(tài)、完成設(shè)備控制操作,但該方法得到的控制界面都是靜態(tài)頁面,不是自動生成。CHO S Y等[4]通過對家庭網(wǎng)絡(luò)中的Web Server技術(shù)的研究,提出了通過Web Server向遠(yuǎn)程用戶提供控制界面的方法,但在研究中并沒有具體實現(xiàn)方法。國內(nèi)學(xué)者田紅成等[5]對基于IPv6的信息家電控制界面的研究中,提出一種基于UPnP的家庭網(wǎng)關(guān)設(shè)計模板文件,根據(jù)該模板文件自動生成設(shè)備控制界面。但該技術(shù)中對按鍵的設(shè)計及關(guān)聯(lián)沒有明確的說明。韓穎錚等[6]提出基于家庭網(wǎng)絡(luò)協(xié)議的控制界面生成技術(shù),在設(shè)備描述中增加“界面生成關(guān)鍵信息”,家庭網(wǎng)關(guān)根據(jù)這些信息有效地自動生成控制界面。該方法雖然實現(xiàn)了設(shè)備界面的自動生成,但是還是基于Web頁面的方式呈現(xiàn),安全性和多樣性上存在不足。
1.2 現(xiàn)有技術(shù)存在的問題
    通過上述對現(xiàn)有研究技術(shù)的分析可知,當(dāng)前能夠?qū)崿F(xiàn)信息家電界面自動生成的研究較少。信息家電設(shè)備控制界面生成技術(shù)主要有以下兩種基本情況。
    (1)信息家電設(shè)備根據(jù)預(yù)先設(shè)定的固定界面,下載到用戶客戶端或者家庭內(nèi)部網(wǎng)關(guān)上安裝,以此形成的控制界面完成信息家電設(shè)備的控制。這種方式形成的操作界面可選擇性多,但是設(shè)備更新或升級需要重新下載并安裝新的界面,且多種設(shè)備控制界面獨立存在,難以整合,給用戶帶來諸多不便。
    (2)利用信息家電在家庭網(wǎng)絡(luò)協(xié)議中發(fā)布的信息實現(xiàn)界面的自動生成。這種條件下,由于提供的信息量比較少,使得生成的界面過于簡單,不便于操作;另外,在這種條件下生成的界面一般都是依托于網(wǎng)頁提供給用戶,雖然有些研究已經(jīng)實現(xiàn)了一些動態(tài)效果,但是對于用戶來說還是較為單一且有些呆板。
2 面向界面自動生成的家電控制模型及仿真
    針對前面界面生成技術(shù)中提到的問題,借鑒當(dāng)前多種家庭網(wǎng)絡(luò)中家電設(shè)備界面生成的框架,本文系統(tǒng)地完成了一個面向界面自動生成的信息家電控制模型,并設(shè)計完成了適用于Android系統(tǒng)的界面生成器。
2.1 家電設(shè)備控制模型
    本研究設(shè)計的信息家電控制模型的結(jié)構(gòu)如圖1所示。接入家庭網(wǎng)絡(luò)的信息家電設(shè)備采用互聯(lián)網(wǎng)技術(shù),使得信息家電可以處于家庭內(nèi)部網(wǎng)絡(luò)或者遠(yuǎn)程網(wǎng)絡(luò)中。信息家電設(shè)備中的安全模塊可以保證家電接入家庭網(wǎng)絡(luò)的安全性,在設(shè)備控制模塊中有設(shè)備服務(wù)的參數(shù)設(shè)置、控制按鍵設(shè)置等有關(guān)設(shè)備控制操作相關(guān)的功能。通過Web Service對家庭網(wǎng)絡(luò)中的信息家電設(shè)備進(jìn)行抽象與發(fā)布,由此形成的WSDL文檔中關(guān)于信息家電詳細(xì)的設(shè)備服務(wù)描述,包含設(shè)備描述、服務(wù)狀態(tài)描述及呈現(xiàn)、服務(wù)關(guān)聯(lián)、控制按鍵等設(shè)備操作描述。通過Internet將生成的WSDL文檔的URL傳輸給安裝有本文設(shè)計實現(xiàn)的界面生成器的Android系統(tǒng)設(shè)備,界面生成器會自動完成對WSDL描述文件的解析,轉(zhuǎn)換成為Android系統(tǒng)可用的XML布局文件,并添加設(shè)備控制功能的相關(guān)代碼實現(xiàn)家電控制界面的自動構(gòu)建。

2.2 面向Android系統(tǒng)的界面生成器
    目前,Android應(yīng)用程序基本采用XML文件的形式通過對按鈕、文本、列表等控件的設(shè)置來完成界面的布局。如在相對布局方式中有一個名字為btn_1的Button控件,并且Button上顯示的文字是“OpenLayout!”,描述文件如下:
    <LinearLayout
    <Button
        android:id="@+id/ btn_1"
        android:text="OpenLayout!"
       />
    </LinearLayout>
    本文提出的界面生成器可以完成將設(shè)備服務(wù)描述文件轉(zhuǎn)換成Android系統(tǒng)界面布局所需要的XML文件,以此來完成設(shè)備控制界面的自動生成。在界面生成器中完成了WSDL文檔解析轉(zhuǎn)換成為XML文件,實現(xiàn)界面布局與界面生成技術(shù)相結(jié)合,并結(jié)合Android編碼實現(xiàn)更加復(fù)雜的設(shè)備控制操作,自動完成信息家電設(shè)備的控制界面在Android系統(tǒng)中的呈現(xiàn),實現(xiàn)信息家電設(shè)備界面的自動構(gòu)建。
    根據(jù)對設(shè)備服務(wù)描述文件的分析,將信息家電設(shè)備的服務(wù)描述分成3部分來完成WSDL文檔向XML文件的轉(zhuǎn)換,即設(shè)備描述模塊、服務(wù)描述模塊和操作描述模塊,設(shè)計完成的界面生成器的結(jié)構(gòu)如圖2所示。

    設(shè)備描述模塊用來存儲家庭網(wǎng)絡(luò)中信息家電設(shè)備的描述信息,其中包含信息家電的網(wǎng)絡(luò)地址ADR、信息家電設(shè)備名稱DeviceName、信息家電在網(wǎng)絡(luò)中的端口號DevicePort等。服務(wù)描述模塊主要用來保存服務(wù)的描述信息,主要的設(shè)備服務(wù)描述信息包括設(shè)備服務(wù)的種類Device_Service_Type以及設(shè)備服務(wù)數(shù)目Device_Service_Num等。操作描述模塊是整個界面生成器中的主要模塊,用來存儲設(shè)備操作的描述信息,包含了設(shè)備控制操作的名稱(如輸入、輸出等)、設(shè)備操作相對應(yīng)的輸入或輸出參數(shù)的設(shè)置等。
    WSDL文檔通過界面生成器轉(zhuǎn)換成XML布局文件的過程如下:
    (1)從頭開始對WSDL文檔進(jìn)行順序掃描,按照設(shè)備描述模塊、服務(wù)描述模塊和操作模塊將WSDL文檔分割成分別屬于上述模塊的子段,然后根據(jù)模塊內(nèi)的描述信息將分割的模塊子段抽象成為一般形式,并且根據(jù)子段間的相互依賴性將相關(guān)聯(lián)的子段組合起來,按照對應(yīng)子段在WSDL文檔中的位置,將其寫入到XML文件中。
    (2)如果掃描到?jīng)]有相互依賴的子段,則直接進(jìn)行抽象;如果掃描到的子段具有相互依賴性,則根據(jù)模塊的依賴性(例如是否綁定、是否是復(fù)雜類型描述等)分別處理:
    ①如果掃描到的模塊依賴于設(shè)備描述模塊,則使用設(shè)備描述模塊中的元素值進(jìn)行對應(yīng)的抽象替換,形成相應(yīng)的子段。
    ②如果掃描到依賴于服務(wù)描述模塊的子段,則先進(jìn)行設(shè)備描述模塊的抽象,再取服務(wù)描述模塊中的元素進(jìn)行替換,并將替換后的字符串進(jìn)行組合,形成相應(yīng)的子段。
    ③如果掃描到依賴于操作描述模塊的子段,則先進(jìn)行服務(wù)描述模塊的抽象替換,然后再取操作描述模塊中的元素進(jìn)行相應(yīng)的替換,生成類型一致的字符串,并組合起來形成對應(yīng)的子段。
    在界面生成器中包含的部分映射關(guān)系如下:“<wsdl:service name”映射到XML布局文件的整體布局的惟一標(biāo)識“android:id”和Java代碼中的接口名稱,“<wsdl:port-Type name”可對應(yīng)于Java代碼中可被調(diào)用的函數(shù)庫,在portType元素中包含的operation元素,映射到XML布局文件中的控件屬性(如默認(rèn)文本顯示)和Java代碼中的控件包含的方法實現(xiàn)(如輸入輸出以及其他操作),其中“<wsdl:operation name”可映射到XML布局文件中控件的惟一標(biāo)識“android:id”并對應(yīng)于Java代碼中的實現(xiàn)方法。
    (3)最終將得到的各個子段按照其在WSDL文檔中的相對位置組合,這樣便生成了信息家電設(shè)備控制界面的XML布局文件。
    在WSDL文檔的抽象解析過程中,將布爾型采用普通的Button控件來表示,將枚舉類型(enumeration)根據(jù)其基數(shù)情況采用列表或者RadioButton控件表示,將字符串類型有輸入要求的采用EditText控件表示,對于無參數(shù)輸入的采用TextView控件表示,符合Android系統(tǒng)對界面布局文件的要求且增加了自動生成界面與用戶的交互性。
    用戶通過遠(yuǎn)程終端(Android設(shè)備)上的界面生成器訪問家庭網(wǎng)絡(luò)中提供的設(shè)備描述文件的URL,就能夠獲取服務(wù)控制界面,實現(xiàn)對設(shè)備的操作和控制。
3 家電控制模型仿真及結(jié)果

 


    信息家電設(shè)備接入到家庭網(wǎng)絡(luò)中可采用有線和無線兩種方式。有線網(wǎng)絡(luò)比較穩(wěn)定、安全性比較高;無線網(wǎng)絡(luò)簡單方便,并且可以滿足設(shè)備的移動性。在本文的仿真中,設(shè)備的接入采用有線方式接入局域網(wǎng),而用戶的控制設(shè)備則采用無線方式。
    編程仿真實現(xiàn)虛擬冰箱和虛擬空調(diào)程序,以此分別完成對冰箱和空調(diào)的模擬。將兩臺虛擬設(shè)備和一臺安裝有界面生成器的Android設(shè)備連接在同一個家庭局域網(wǎng)內(nèi),開啟兩臺設(shè)備的網(wǎng)絡(luò)服務(wù)。根據(jù)家電控制模型,信息家電通過Web Service完成家電服務(wù)的描述以及發(fā)布,生成WSDL文檔,將WSDL文檔作為界面生成器的輸入?yún)?shù),解析轉(zhuǎn)換成XML布局文件,形成Android系統(tǒng)的控件,區(qū)分出服務(wù)區(qū)域,得到風(fēng)格統(tǒng)一的家電控制界面,如圖3所示。用戶可以通過生成的家電控制界面對家電進(jìn)行操作控制。用戶通過網(wǎng)絡(luò)發(fā)送家電設(shè)備控制請求,從而完成對設(shè)備的遠(yuǎn)程控制。

    點擊圖3中的空調(diào)選項,針對空調(diào)的控制界面會自動彈出,如圖4所示。在該頁面中,空調(diào)當(dāng)前狀態(tài)以及空調(diào)的控制按鍵自動呈現(xiàn)。用戶可在此控制界面上進(jìn)行空調(diào)的開關(guān)、溫度的升降、模式選擇等操作,操作完成后在設(shè)備控制界面和虛擬空調(diào)的控制界面上都可以看到操作效果。
    本文提出了面向界面自動生成的信息家電控制模型,在界面生成器中完成了設(shè)備服務(wù)描述信息的提取及可視化,為信息家電控制界面的呈現(xiàn)提供了信息,針對當(dāng)前的Android系統(tǒng)設(shè)備,利用這些信息,可以完成便捷的、個性的、人性化的信息家電設(shè)備控制界面的自動構(gòu)建。后續(xù)工作將研究信息家電控制界面的優(yōu)化問題,例如對于某個控件的自動選擇方法,使用文本輸入還是單選菜單更合理、更人性化,需要設(shè)計一定的優(yōu)化算法來實現(xiàn)。
參考文獻(xiàn)
[1] 王曉東,姜浩.Web Service同傳統(tǒng)分布式技術(shù)的比較分析[J].計算機(jī)技術(shù)與發(fā)展,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信息家電控制界面的自動生成技術(shù)[J].計算機(jī)工程,2007,33(3):262-264.
[6] 韓穎錚,陸以勤.家庭網(wǎng)絡(luò)控制界面自動生成技術(shù)及仿真[C].長沙:CERNET第十七屆學(xué)術(shù)年會,2010:383-387.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。