《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于SIP家庭網(wǎng)關(guān)和Web Service的智能家居系統(tǒng)
基于SIP家庭網(wǎng)關(guān)和Web Service的智能家居系統(tǒng)
佟曉霞, 侯 文
摘要: 提出了一種將SIP家庭網(wǎng)關(guān)技術(shù)和Web Service技術(shù)相結(jié)合的智能家居系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方案,詳細(xì)介紹了系統(tǒng)各功能模塊,給出了在PDA上調(diào)用基于SIP家庭網(wǎng)關(guān)的Web服務(wù)來監(jiān)控家中各電器狀態(tài)的實(shí)現(xiàn)結(jié)果。該技術(shù)可以向用戶提供智能家居管理、遠(yuǎn)程監(jiān)控等具體服務(wù)。
Abstract:
Key words :

  摘 要: 提出了一種將SIP家庭網(wǎng)關(guān)技術(shù)和Web Service技術(shù)相結(jié)合的智能家居系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方案,詳細(xì)介紹了系統(tǒng)各功能模塊,給出了在PDA上調(diào)用基于SIP家庭網(wǎng)關(guān)的Web服務(wù)來監(jiān)控家中各電器狀態(tài)的實(shí)現(xiàn)結(jié)果。該技術(shù)可以向用戶提供智能家居管理、遠(yuǎn)程監(jiān)控等具體服務(wù)。
  關(guān)鍵詞: 家庭網(wǎng)關(guān); SIP協(xié)議; Web Service

 

  隨著家庭網(wǎng)絡(luò)化的興起,如何設(shè)計(jì)一種集家電管理、協(xié)議轉(zhuǎn)換和家庭網(wǎng)絡(luò)監(jiān)控為一體的家庭網(wǎng)關(guān),實(shí)現(xiàn)家用電器的網(wǎng)絡(luò)化、智能化和遠(yuǎn)程控制,已成為當(dāng)前研究的熱點(diǎn)。
  在目前的智能家庭解決方案中,主要是基于家庭網(wǎng)關(guān)技術(shù)來實(shí)現(xiàn)用戶對家用電器的智能監(jiān)控和管理[1-3]。但是,目前基于家庭網(wǎng)關(guān)的智能家庭解決方案存在以下問題,首先是服務(wù)信息的發(fā)布,即如何讓用戶方便地獲得家庭網(wǎng)關(guān)所提供的各項(xiàng)服務(wù)的信息;其次是如何簡化用戶對服務(wù)信息的處理操作,讓用戶方便地處理服務(wù)信息;最后是如何對家庭網(wǎng)關(guān)所提供的各項(xiàng)服務(wù)進(jìn)行管理。Web Service技術(shù)的出現(xiàn)解決了這些問題。
  本文提出了一種將SIP家庭網(wǎng)關(guān)和Web Service技術(shù)相結(jié)合的智能家居監(jiān)控解決方案,通過將家庭網(wǎng)關(guān)對智能家電的管理和控制功能包裝成Web Service,在Web Service中心處發(fā)布以供用戶使用,可實(shí)現(xiàn)用戶在任何時(shí)間、任何地點(diǎn)對家中狀況的動(dòng)態(tài)監(jiān)控和管理。同時(shí),利用Web Service中心對各種Web的服務(wù)管理能力實(shí)現(xiàn)對各服務(wù)提供商SP所提供的各種服務(wù)的管理,包括:智能家庭相關(guān)服務(wù)的綜合管理;通過在Web Service中心引入鑒權(quán)和計(jì)費(fèi)模塊,便于移動(dòng)網(wǎng)絡(luò)運(yùn)營商、各服務(wù)提供商SP對移動(dòng)用戶的收費(fèi)和管理。
1 SIP
  SIP(Session Internet Protocol)是一種應(yīng)用層控制信令協(xié)議,用于創(chuàng)建、修改和結(jié)束與一個(gè)或多個(gè)參與者的會(huì)話。這些會(huì)話可以包括Internet多媒體會(huì)議、遠(yuǎn)程學(xué)習(xí)、Internet電話呼叫以及多媒體公布。起初SIP被作為建立互聯(lián)網(wǎng)會(huì)議、電話、多媒體和其他類型的通信會(huì)議可選擇的協(xié)議提出,之后,也被用于新型的通信服務(wù),如即時(shí)短消息和應(yīng)用級的跨網(wǎng)絡(luò)移動(dòng)通信(包括無線通信)及跨用戶設(shè)備的通信。SIP借鑒了HTTP的設(shè)計(jì)思想和體系結(jié)構(gòu),使用了許多HTTP的消息類型和報(bào)頭域,用實(shí)體頭(內(nèi)容類型描述)標(biāo)識信息流的內(nèi)容,并且考慮了認(rèn)證授權(quán),所使用的認(rèn)證授權(quán)方法類似于Web中所使用的認(rèn)證授權(quán)方法。
  SIP協(xié)議基于文本,工作在應(yīng)用層,可以建立、修改或結(jié)束一個(gè)或幾個(gè)參與者的會(huì)議,包括Internet多媒體會(huì)議、Internet電話呼叫以及多媒體公布。會(huì)議中的成員可以通過多點(diǎn)傳送(multicast)方式或單點(diǎn)傳送(unicast mesh) 方式,甚至兩者混合的方式進(jìn)行通信。以現(xiàn)有的Internet為基礎(chǔ)來構(gòu)架IP電話業(yè)務(wù)網(wǎng), 因此SIP有著與H.323完全不同的設(shè)計(jì)思想。H.323域時(shí),為了在局域網(wǎng)上提供無QoS多媒體通信,很大程度也借鑒了其他協(xié)議:如ISDN上的H.320、B-IS-DN上的H.321、PSIN上的H.324等,由于H.323最早為單個(gè)LAN的應(yīng)用考慮的,在WAN(特別是存在大量H.323域時(shí))上尋址、用戶定位和環(huán)路檢測方面較欠缺。SIP是一個(gè)分散式的協(xié)議,它將網(wǎng)絡(luò)設(shè)備的復(fù)雜性推向網(wǎng)絡(luò)邊緣,使核心網(wǎng)絡(luò)仍是一個(gè)“Best Effort”的傳送通道。與以前應(yīng)用較廣泛的H.323標(biāo)準(zhǔn)相比,SIP具有更高的功能性和增長潛力,許多標(biāo)準(zhǔn)化住址和團(tuán)體已經(jīng)聲明或正在考慮對SIP的支持。Microsoft Messenger采用了SIP協(xié)議,而不是之前Microsoft NetMeeting所采用的H.323協(xié)議。
  目前業(yè)界對SIP的支持越來越廣泛。全球大的運(yùn)營商都轉(zhuǎn)向支持SIP方式,在北美和歐洲,多數(shù)新的方案都選用SIP ,國內(nèi)的服務(wù)商在考慮組建新網(wǎng)絡(luò)時(shí),也開始采用SIP。SIP可以提供PC機(jī)作為一個(gè)軟客戶的方式入網(wǎng);可以通過IP電話,終端識別器的方式,也可以通過網(wǎng)關(guān)的方式入網(wǎng);還可以提供多媒體服務(wù)IP電話、呼叫中心等個(gè)性化服務(wù)。
2 Web Service
  Web Service是建立在開放的Internet基礎(chǔ)上的新型分布式計(jì)算模型,是在現(xiàn)有Web技術(shù)和設(shè)施的基礎(chǔ)上通過制定新的協(xié)議和標(biāo)準(zhǔn)、提出新的技術(shù)來實(shí)現(xiàn)的。利用Web Service技術(shù),能夠創(chuàng)建出可供任何人從任何地方使用的功能非常強(qiáng)大的應(yīng)用程序,它極大地拓展了應(yīng)用程序的功能,并實(shí)現(xiàn)了軟件的動(dòng)態(tài)提供。Web Service的優(yōu)勢在于它不像傳統(tǒng)的組件技術(shù)那樣依賴特定的對象模型協(xié)議,而是通過利用通用的Internet協(xié)議(如HTTP協(xié)議)和數(shù)據(jù)格式(如XML)來實(shí)現(xiàn)對服務(wù)的訪問。Web Service的請求者只要遵從Web Service接口的定義,即可以基于任何平臺、使用任何編程語言發(fā)送和接收信息。
  Web Service采用SOA(Service-Oriented Architecture)模型作為體系結(jié)構(gòu),如圖1所示。

  Web Service工作流程如下:
  (1) 服務(wù)提供者所能提供的服務(wù)接口用WSDL(Web Service描述語言)和WSFL(Web Service流語言)描述出來。
  (2) 服務(wù)中介者使用UDDI注冊服務(wù)接口,并接受服務(wù)請求者的查詢。
  (3) 服務(wù)請求者通過使用UDDI在服務(wù)中介者處查詢,得到所需服務(wù)接口的描述文件,然后綁定到這些服務(wù),最終完成服務(wù)調(diào)用。服務(wù)參與者之間的三種操作都采用簡單對象訪問協(xié)議(SOAP)完成。
3 智能家居系統(tǒng)的設(shè)計(jì)
3.1 整體方案

  在該系統(tǒng)的設(shè)計(jì)過程中通過引入SIP家庭網(wǎng)關(guān)技術(shù)和Web Service技術(shù),移動(dòng)用戶利用手機(jī)或PDA等移動(dòng)設(shè)備,通過查詢Web Service中心可遠(yuǎn)程地獲得家中各智能家電的狀態(tài),實(shí)現(xiàn)對智能家電的遠(yuǎn)程控制,同時(shí)Web Service中心的計(jì)費(fèi)和鑒權(quán)模塊可實(shí)現(xiàn)對用戶身份的認(rèn)證和計(jì)費(fèi)。
  本系統(tǒng)由三個(gè)功能模塊組成:SIP家庭網(wǎng)關(guān)功能模塊、Web Service中心功能模塊和用戶控制終端功能模塊,如圖2所示。

 


  本系統(tǒng)中SIP家庭網(wǎng)關(guān)完成內(nèi)外異構(gòu)網(wǎng)絡(luò)的協(xié)議解釋、轉(zhuǎn)換、分發(fā)等工作,并監(jiān)視、控制各節(jié)點(diǎn)的工作,對各個(gè)智能家電的控制服務(wù)包裝成SIP Web Service后在Web Service中心發(fā)布以供用戶使用。Web Service中心對各服務(wù)提供商SP所提供的Web服務(wù)進(jìn)行發(fā)布和管理,同時(shí)對使用Web服務(wù)的移動(dòng)用戶進(jìn)行鑒權(quán)和計(jì)費(fèi)。移動(dòng)用戶通過各種移動(dòng)終端如手機(jī)、PDA等接入Internet,通過查詢UDDI注冊中心,即可得到所需服務(wù)的WSDL文件,最后通過遠(yuǎn)程調(diào)用的方式使用Web服務(wù),查看家中電器狀態(tài)并對其進(jìn)行控制。
3.2 系統(tǒng)模塊設(shè)計(jì)
  系統(tǒng)各功能區(qū)域的模塊設(shè)計(jì)如圖3所示。

 


  (1)SIP家庭網(wǎng)關(guān)模塊設(shè)計(jì)
  SIP家庭網(wǎng)關(guān)負(fù)責(zé)對家中各智能家電的管理,并與Web Service中心進(jìn)行通信,將家庭網(wǎng)關(guān)所提供的服務(wù)在Web Service中心處發(fā)布。SIP協(xié)議包含兩類組件:服務(wù)代理和網(wǎng)絡(luò)服務(wù)器。服務(wù)代理擔(dān)任著信息編譯碼和沖突檢測等工作;移動(dòng)用戶終端和家庭網(wǎng)關(guān)進(jìn)行統(tǒng)一格式的通信,對于移動(dòng)終端發(fā)來的信息,服務(wù)代理分析信息包得出信息含義。網(wǎng)絡(luò)服務(wù)器主要為用戶代理提供注冊、認(rèn)證和路由等服務(wù),它又分為代理服務(wù)器、重定位服務(wù)器和注冊服務(wù)器。
  (2) Web Service中心模塊設(shè)計(jì)
  Web Service中心模塊主要包括用戶數(shù)據(jù)庫子模塊、UDDI注冊中心子模塊、Web服務(wù)處理子模塊和用戶計(jì)費(fèi)子模塊。其中用戶數(shù)據(jù)庫子模塊負(fù)責(zé)對使用Web Service的用戶的認(rèn)證;UDDI注冊中心子模塊負(fù)責(zé)發(fā)布Web Service及處理用戶對Web Service的查詢請求;Web服務(wù)處理子模塊負(fù)責(zé)對用戶調(diào)用Web服務(wù)的請求進(jìn)行處理,調(diào)用SIP家庭網(wǎng)關(guān)側(cè)的SIP Web Service,并將服務(wù)調(diào)用結(jié)果返回給移動(dòng)終端;計(jì)費(fèi)子模塊負(fù)責(zé)對移動(dòng)用戶進(jìn)行計(jì)費(fèi)。
  (3) 用戶控制終端模塊設(shè)計(jì)
  移動(dòng)終端為用戶監(jiān)控家庭智能應(yīng)用終端的通用遙控器,與家庭網(wǎng)關(guān)、Web Sercice中心進(jìn)行雙向通信。移動(dòng)終端攜帶方便,帶觸摸屏,具有良好的用戶界面,操作簡單。一個(gè)終端在手,用戶可以控制網(wǎng)絡(luò)中的所有節(jié)點(diǎn),功能強(qiáng)大且性能穩(wěn)定。終端的功能由安全登錄、設(shè)備監(jiān)控組成。
  安全登錄:啟動(dòng)PDA后,移動(dòng)終端生成用戶登陸頁面。用戶登錄子模塊完成用戶在調(diào)用SIP Web Service前,向Web Service中心提交身份認(rèn)證的功能。終端采用異用戶異權(quán)限機(jī)制,不同的用戶(管理員、客人、一般用戶)具有不同的安全等級和操作權(quán)限。若登錄失敗,終端將反饋給用戶警告頁面,連續(xù)三次失敗,終端將自動(dòng)關(guān)閉;登錄成功,則根據(jù)不同等級的用戶,終端生成不同控制頁面,控制頁面包含著Web服務(wù)查詢功能、消費(fèi)服務(wù)操作、可以控制的設(shè)備以及設(shè)備對應(yīng)的操作。
  設(shè)備監(jiān)控:登錄成功后,用戶進(jìn)入家庭控制頁面。用戶通過Web服務(wù)查詢子模塊完成用戶向UDDI注冊中心查詢所需Web服務(wù)的WSDL文件的功能。消費(fèi)服務(wù)模塊根據(jù)用戶從Web Service中心處得到的Web服務(wù)的WSDL文件,以遠(yuǎn)程調(diào)用的方式使用SIP Web Service。
4 移動(dòng)終端調(diào)用SIP Web Service的實(shí)現(xiàn)
  在本系統(tǒng)的實(shí)現(xiàn)過程中,SIP家庭網(wǎng)關(guān)和Web Service中心均由PC機(jī)來模擬,移動(dòng)終端由PDA來模擬。
  在移動(dòng)終端上調(diào)用Web Service有兩種方法:一種是使用Enhydra組織的kSOAP API,通過建立能獨(dú)立處理SOAP消息的J2ME移動(dòng)終端,生成SOAP請求并將請求直接發(fā)送到Web服務(wù)環(huán)境,進(jìn)而調(diào)用Web Service,該方法不使用代理;另一種方法采用代理方式,移動(dòng)終端通過一個(gè)代理Stub與Web Service進(jìn)行交互,本系統(tǒng)中實(shí)現(xiàn)移動(dòng)終端上調(diào)用SIP Web Service采用了代理方式。
  開發(fā)時(shí)使用了SUN公司提供的WTK(Wireless Toolkit)中的Stub生成器來生成本地Stub的Java代碼,該Java代碼稱為代理的組件。J2ME客戶程序?qū)⒄{(diào)用SIP Web Service所需的全部信息發(fā)送給該組件,該組件將這些信息封裝為SOAP請求后發(fā)送到Web Service中心并等待應(yīng)答。代理組件從Web Service中心收到SOAP應(yīng)答后即從SOAP消息中提取出結(jié)果信息并將其呈現(xiàn)給J2ME客戶端。在代碼的實(shí)現(xiàn)中使用了用于J2ME設(shè)備上調(diào)用Web Service功能的可選包JSR172,整個(gè)系統(tǒng)流程如圖4所示。


  本文將SIP家庭網(wǎng)關(guān)技術(shù)和Web Service技術(shù)融合到智能家庭系統(tǒng)解決方案中,較好的解決了傳統(tǒng)的單獨(dú)基于家庭網(wǎng)關(guān)的智能家庭系統(tǒng)存在的缺陷。標(biāo)準(zhǔn)SIP協(xié)議的使用,既解決了當(dāng)前家電設(shè)備所存在的管理、命名和移動(dòng)等一系列問題,也使遠(yuǎn)程控制程序設(shè)計(jì)者不必關(guān)心家庭網(wǎng)關(guān)的實(shí)現(xiàn)細(xì)節(jié)。通過在PC機(jī)及PDA上的測試表明,該系統(tǒng)不僅能滿足用戶隨時(shí)隨地對家電狀況的監(jiān)控,同時(shí)也實(shí)現(xiàn)了Web Service中心對家庭網(wǎng)關(guān)提供的各項(xiàng)服務(wù)信息的管理以及對用戶的計(jì)費(fèi)。


參考文獻(xiàn)
[1] 周游,方濱,王普.基于ZigBee技術(shù)的智能家居無線網(wǎng)絡(luò)系統(tǒng)[J].電子技術(shù)應(yīng)用,2005,32(9):37-40.
[2] 嚴(yán)麗平,曾輝,宋凱.嵌入式智能家庭網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2005,35:14-16.
[3] 方海玉,陳章龍,涂時(shí)亮.基于nRF2401的智能家居無線網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[J].微型電腦應(yīng)用,2007,14(1):12-15.
[4] 馬忠梅,籍順心. 單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1999.
[5] SCHMIDT D, LEVINE D, MUNGEE S. The design and performance of real-time object request brokers[J].
 Computer Communications Journal,April 1998,21(4).


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