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

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

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

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

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

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

 


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

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

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