尹克新 林琳



摘要:從即時通信領域引入XMPP協(xié)議解決智能家居系統(tǒng)中通信標準不統(tǒng)一、系統(tǒng)擴展性差的問題。提出基于XMPP協(xié)議的系統(tǒng)架構,使用ZigBee無線網絡協(xié)議連接家庭中的各環(huán)境傳感器節(jié)點,從而實現對家居環(huán)境信息的實時采集,數據通過網絡保存在支持XMPP協(xié)議的服務器上,客戶端軟件通過XMPP協(xié)議獲取數據并呈現給用戶。實驗結果表明,該系統(tǒng)具有實時性強、測量準確、擴展性好、成本低等優(yōu)點。
關鍵詞:XMPP協(xié)議;ZigBee網絡;環(huán)境監(jiān)測系統(tǒng);智能家居
DOIDOI:10.11907/rjdk.1511623
中圖分類號:TP319
文獻標識碼:A 文章編號:1672-7800(2016)005-0068-03
0 引言
近年來,智能家居系統(tǒng)逐漸進入普通家庭,給人們生活帶來了極大便利[1]。環(huán)境監(jiān)測是智能家居系統(tǒng)中的子系統(tǒng),可以實時監(jiān)測環(huán)境參數,提供安全健康的生活環(huán)境,因而得到了廣泛應用[2]。
國內智能家居系統(tǒng)還處在初步發(fā)展階段,智能家居行業(yè)逐漸形成,國內各大電器廠家也適時推出了自己的智能家居系統(tǒng)與標準[3]。在國外,自從美國于1984年建造第一座智能建筑以來,美國、澳大利亞、日本以及歐洲等都大力發(fā)展智能家居,并先后提出了不同的解決方案,智能家居系統(tǒng)得到廣泛發(fā)展和應用[4]。
不同廠家生成的或不同品牌的智能家居產品缺乏統(tǒng)一的協(xié)議標準,人們很難控制和管理這些異構設備,給日常生活帶來了諸多不便。XMPP協(xié)議廣泛應用于即時通信系統(tǒng)、智能家居系統(tǒng)、物聯(lián)網通訊系統(tǒng)、文件傳輸系統(tǒng)、分布式通信系統(tǒng)等領域[5]。受 XMPP 協(xié)議在即時通信領域的啟示,采用基于XMPP協(xié)議的一種抽象的說明性語言 XCITL來描述這些家居設備的基本信息和控制指令,再通過這種語言制定智能家居控制信息的傳輸標準,最終實現智能家居環(huán)境監(jiān)測系統(tǒng)。
1 系統(tǒng)架構
智能家居環(huán)境監(jiān)測系統(tǒng)主要分為感知層、網絡層和應用層3個層次,如圖1所示。感知層由溫度、濕度、亮度和PM2.5四種傳感器節(jié)點組成。根據家庭環(huán)境情況監(jiān)測要求,這四種傳感器節(jié)點按照不同的比例分布在各個房間。其中,客廳和臥室是活動和休息的重要場所,需要把四種類型的傳感器節(jié)點布置其中。而衛(wèi)生間只要求布置溫度和濕度傳感器節(jié)點,餐廳只需布置亮度和PM2.5傳感器節(jié)點。傳感器節(jié)點將采集到的環(huán)境數據信息通過ZigBee無線網絡上傳到XMPP服務器。
網絡層有互聯(lián)網、無線網絡和ZigBee網絡3個網絡部分組成,實現不同層次的數據信息傳送和信息交流。其中,ZigBee網絡負責把感知層傳感器節(jié)點采集到的環(huán)境數據信息上傳到XMPP服務器,同時用戶的各種控制命令也通過ZigBee網絡傳給傳感器節(jié)點?;ヂ?lián)網和無線網絡(4G/wifi)負責終端、智能手機和XMPP服務器之間的通信。
應用層由終端、智能手機和XMPP服務器組成。XMPP服務器主要負責存儲傳感器節(jié)點采集到的家庭環(huán)境數據信息,另外也存儲終端用戶登錄系統(tǒng)的用戶名、密碼等信息。終端和智能手機用戶通過互聯(lián)網、無線網絡,以XMPP協(xié)議為基礎和XMPP服務器進行通信,讀取家庭環(huán)境數據信息,實時了解和掌握家庭的環(huán)境狀況。
2 XMPP服務器設計
系統(tǒng)采用基于XMPP協(xié)議的Openfile作為服務器。Openfie是基于Java語言開發(fā)的,對于XMPP協(xié)議有著較為完備的實現和安全性、可擴展性,廣泛用于各類即時通信系統(tǒng)和社交平臺的基礎架構。服務器端主要功能是實現與客戶端的交互,包括請求認證和消息處理。
(1)請求認證:客戶端與服務器建立通信連接之前,要通過服務器認證操作。服務器端設置有連接請求的監(jiān)聽,一旦監(jiān)聽到客戶端請求,就調用信息處理模塊,對XML數據流進行處理。如果滿足認證條件,就反饋認證結果給客戶端,并開啟一個新的會話連接鏈路和客戶端進行通信,直到客戶端關閉信息流為止;如果不滿足認證條件,就將認證失敗的結果反饋給客戶端[6]。
(2)消息處理:通過認證后,XMPP服務器會根據客戶端的JID建立不同的會話,每個會話均由一個獨立的線程來管理。為了保證會話效率,會話管理采用線程池的策略。由于即時通訊實時性的要求,服務器要實時監(jiān)測好友在線狀態(tài),只有確認好友在線的情況下,才將信息傳送過去。服務器架構如圖2所示。
服務器主要由核心模塊、服務支持模塊、接口模塊、數據模塊4個模塊組成。各模塊功能如下[7]:
(1)核心模塊。是服務器功能實現的核心部分,由注冊、登錄、XML解析器和路由4種模塊組成。當用戶首次使用該系統(tǒng)時,需要填寫相應的個人信息進行注冊。注冊成功后,填寫用戶名和密碼就可以登錄該系統(tǒng)。成功登錄后,就可以設置系統(tǒng)參數和采集家中環(huán)境數據信息。XML解析器負責將服務器端接收到的XML數據格式轉換成可以執(zhí)行的JAVA代碼。路由模塊負責系統(tǒng)通信鏈路最優(yōu)路徑選擇。
(2)服務模塊。由會話管理器和連接管理器兩個模塊組成。會話管理器負責客戶端和服務器端之間的通信認證,JID地址管理、通信流程建立和相應安全機制的實現。連接管理器負責客戶端和服務器端之間的連接,管理用戶的在線狀態(tài)、用戶列表等信息。
(3)數據模塊。由MySQL數據庫和數據存儲器兩個模塊組成。由于MySQL數據庫是開源的,用戶可以下載和使用,不會涉及版權問題,并且功能強、安全性好,所以選擇它作為系統(tǒng)數據庫。MySQL主要存儲從傳感器節(jié)點采集到家庭環(huán)境數據信息。數據存儲器負責和MySQL數據庫的連接,保存系統(tǒng)通信日志、用戶信息等。
(4)接口模塊。由插件和組件兩個模塊組成。用于實現Openfile服務器和其它服務器的連接,相當于網關功能。通過接口模塊,本系統(tǒng)上的客戶端可以和其它服務器上的客戶端相互通信,大大提高了系統(tǒng)的擴展性。
3 客戶端
用戶終端采用VB語言開發(fā),能夠基于XMPP協(xié)議進行數據傳輸。根據任務要求,客戶端主要分為三層實現,如圖3所示。
連接層主要提供通信鏈接功能。系統(tǒng)采用TCP套接字方式鏈接。用戶向服務器發(fā)起連接請求后,TCP從用戶界面模塊中獲得用戶名、密碼和服務器地址等信息,然后建立連接。
XMPP層包括XMPP協(xié)議功能模塊和XML解析模塊。XMPP協(xié)議功能模塊負責管理客戶端和服務器之間的通信。XML解析模塊負責對從服務器上獲得的XMPP信息流進行解釋。
應用程序接口層為交互界面提供統(tǒng)一接口調用,包括用戶的注冊、登錄等。功能設置可以對傳感器節(jié)點的采樣周期和節(jié)點選擇等系統(tǒng)信息進行設置,環(huán)境信息顯示是指把家庭環(huán)境狀況信息直觀地顯示出來,呈現給用戶,節(jié)點狀態(tài)分布是傳感器節(jié)點在家中各個房間的分布情況[8]。
4 實驗
為了模擬真實實驗環(huán)境,實驗選擇在有人居住的家庭環(huán)境中進行。一方面可以驗證ZigBee網絡部分傳感器節(jié)點的數據采集和數據收發(fā)能力;另一方面,也可以驗證節(jié)點能否在復雜的環(huán)境下工作。實驗時間是2015年10月8號下午兩點,室內環(huán)境溫度20攝氏度左右,濕度50%,晴朗天氣,亮度顯示光線強,由于家中經常打開門和窗通風,PM2.5顯示優(yōu)。實驗結果如圖4所示。
5 結語
本文設計了一種以XMPP協(xié)議為通信標準,實現各部分互聯(lián)互通的智能家居環(huán)境監(jiān)測系統(tǒng)。在真實環(huán)境中驗證系統(tǒng)各項功能和指標。系統(tǒng)能夠準確測量和采集家居環(huán)境的數據信息,并將這數據準確無誤地傳給服務器,且在客戶端顯示這些信息,與分析結果一致,達到了預期效果。該系統(tǒng)采用ZigBee無線網絡技術構建環(huán)家庭環(huán)境數據采集系統(tǒng),省去有線布置的諸多不便,便于節(jié)點的刪除和添加,具有測量準確 、實時性強 、成本低 、擴展性好等優(yōu)點。
參考文獻:
[1]吳藝娟 ,秦彩云,萬米洋.基于ZigBee技術的智能家居環(huán)境監(jiān)測系統(tǒng)設計[J].北京石油化工學院學報,2013,21(1):46-47.
[2]賈飛,夏路易.基于zigBee技術的家庭環(huán)境監(jiān)測系統(tǒng)的設計[J].電腦開發(fā)與應用,2008,21(2):55-56.
[3]蔡曉宇.基于ZigBee和Android技術的家庭環(huán)境智能監(jiān)測系統(tǒng)[D].南京:南京師范大學,2012.
[4]張亮.基于ZigBee技術的智能家居環(huán)境監(jiān)測系統(tǒng)[D].武漢:武漢科技大學,2009.
[5]施濟瑜,苗放,王華軍,等.基于XMPP協(xié)議文件傳輸的研究與實現[J].計算機測量與控制,2009,17(4):732-733.
[6]鞏元鵬.基于XMPP協(xié)議的智能家居遠程控制系統(tǒng)研究設計[D].青島:中國海洋大學,2012.
[7]周謙,劉志勤,王耀彬,等.基于XMPP的智能小區(qū)遠程控制系統(tǒng)研究與設計[J].計算機測量與控制,2015,23(2):482-483.
[8]周欣,倫立寶,張庚,等.基于XMPP擴展協(xié)議的遠程控制系統(tǒng)研制[J].計算機與網絡,2014(2):67:68.
(責任編輯:陳福時)