潘子輝,沈蘇彬,吳振宇
(1.南京郵電大學 計算機學院,江蘇 南京 210003;2.南京郵電大學 物聯網學院,江蘇 南京 210003)
隨著無線傳感器網絡的普及應用,智能家居技術的應用不斷涌現。智能家居的應用環境要求智能家居系統必須能夠分析不同的信息,在任何時間、不同地點為用戶提供各類服務[1]。類似“遠程醫療”、“電子醫療”和“能源管理技術”都涉及到了智能家居技術[2]。目前,許多文獻中都提出了各自的智能家居系統的設計[1,3-8],然而,普遍存在以下問題:
(1)許多智能家居系統中,使用網關作為數據從無線傳感器網絡傳輸到傳統IP網絡的途徑。然而,這些網關僅僅是起到了數據在不同網絡中的傳輸作用,并沒有對數據進行處理或分析,提供相關的自動服務;
(2)大量的決策和操作通過人為操作,而較少地提供自動服務,缺少對于傳感器數據價值的挖掘。
為解決這些問題,進一步完善智能家居自動服務應用,提出一種基于ZigBee的智能家居自動服務系統。研究當前智能家居系統中可用的技術,提出一種充分利用網關節點資源、本地和遠程協同提供服務的智能家居系統架構和具體設計方案,提出一種對于溫濕度數據異常情況判斷的解決方案,并在此基礎上開發實現此智能家居自動服務系統。
通過分析相關的智能家居自動服務系統整體架構和數據異常值分析技術,描述當前智能家居自動服務系統整體架構設計方法,提出其中的不足與解決方法。同時,分析當前的異常值檢測技術特點,描述其在應用場景適用性上的問題,并提出相應的解決方案。
當前已提出的智能家居自動服務相關應用一般均采用傳感器網絡-傳輸控制平臺-服務器-客戶端的系統整體架構。在這種架構中,傳感器數據從底層傳感器網絡經由控制傳輸平臺發送至服務器進行計算,從而提供相應服務。
當前提出的智能家居自動服務系統在此架構的基礎上均提出了各自的方案[1,3-8],然而使用類似的架構會產生一些問題。一方面,控制傳輸平臺的硬件設備沒有得到充分利用,缺少數據分析,缺少自動服務的提供。另一方面,當前架構依賴于客戶端的人為控制,缺少分析數據而提供的自動服務。因此,文中在當前架構中加入智能網關,提出了一種智能家居自動服務應用的整體架構,實現利用智能網關提供自動服務。
智能家居系統中,通過分析數據獲得其中包含的事件,對于一些環境事件的自動處理是自動服務重要的提供方式。而這些事件在數據上往往表現為數據中出現的異常值[9]。因此,對于數據異常值的判斷技術影響已提供自動服務的質量。
在各類異常數據中,如紅外報警等異常可以直接被傳感器所感知并識別,而難以識別的異常情況主要是隱含在數據中的異常值。其中比較有代表性的即為溫濕度數據。目前,在智能家居應用中,通常使用聚類的方式對異常值進行檢測[10]。在文獻[11]中,提出了一種使用二次曲面擬合的方式對溫濕度數據進行分析處理。通過二維曲面的擬合,利用溫度與濕度之間的相關性,可以有效地擬合出溫濕度的合理范圍。而文獻[9]則利用K-means算法進行異常值的判斷。K-means算法是典型的基于距離的聚類算法,采用距離作為相似性的評價指標,兩個對象的距離越近,其相似度就越大,從而能有效判斷數據中的異常值。
然而,無論是使用二次曲面擬合還是K-means聚類,都需要存儲所有數據并進行高復雜度的計算才能進行異常值的判斷。而網關節點計算資源和存儲資源比較缺乏,這些方式都不能滿足網關節點環境下的性能需求。為解決該問題,文中提出一種基于差值的溫濕度異常值檢測算法。利用該算法,可以在占用較少網關節點計算和存儲資源的情況下,更好地檢測溫濕度異常值,從而自動檢測異常事件。
為了解決網關資源利用不充分,缺少自動服務的提供等問題,設計實現了一種智能家居自動服務系統,在常用的基本系統架構中加入智能網關。同時,為解決溫濕度數據異常值分析在存儲、計算資源相對缺乏的網關節點難以工作的問題,提出一種針對溫濕度的差值聚類算法以檢測溫濕度異常值。
為解決當前智能家居自動服務系統整體架構的問題,提出圖1所示的系統架構。在該架構中,加入了智能網關系統,其包含了本地服務器與傳輸控制平臺。

圖1 智能家居自動服務系統整體架構
通過該架構,一方面,利用智能網關作為傳輸控制平臺,實現傳感器網絡與上層IP網絡的數據交互。服務器存儲數據,進行較為復雜的計算,提供相關服務。另一方面,智能網關節點獲取數據,進行力所能及的計算,提供及時的相關服務。客戶端則根據使用環境,選擇連接遠程服務器或智能網關,實現了本地與遠程協同提供相關自動服務的能力。
對于溫濕度數據,傳統的處理方式在存儲、計算資源相對缺乏的網關節點難以工作。為解決該問題,文中提出并實現了一種輕量級的針對溫濕度數據的異常值判斷算法。由于地表在一天內的溫度變化主要受日照的影響,溫度曲線的變化比較小。一般溫度每天零點降低,直到日出后開始提升,午后達到最高,之后又不斷降低。因此,將溫度數據與前后數據相比的變化作為數據點進行聚類。分別根據日出、日落時間劃分區間形成三個類進行聚類。
利用溫度數據其本身的特點,制定分類條件避免在K-means算法中K的選取和初始劃分不當帶來的分類效果較差的情況。同樣,根據溫濕度特點,事先制定了合理的簇,因此不需要進行多次迭代以確定簇,從而有效地將算法的時間復雜度控制在O(n)。而在網關節點處,只需存儲最近的少量數據和聚類結果,大大地節省了節點的存儲資源。算法流程如圖2所示。

圖2 基于差值聚類的溫濕度異常值檢測算法流程
在機器間通信系統中,消息格式是使用機器間通信的系統中保證數據完整性、可靠性和控制準確性的最重要因素[5]。文中制定統一的傳感器數據消息格式。
消息格式:“起始位|數據類型位|數據符號位|數據十位|數據個位|位置位|時間計數位|結束位”。
起始位:"$"為起始位;
數據類型位:以一個字符表示數據類型,如“t”表示溫度,“h”表示濕度;
數據符號位:以一個字符表示數據的符號,如“p”表示數據為正,“n”表示為負;
數據十位:所發送的數據的十位數字;
數據個位:所發送數據的個位數字;
位置位:表示收集數據的傳感器節點的物理位置;
時間計數位:時間計數n表示采集間隔*n之前時間的數據;
結束位:“#”為結束位。
例如:消息“$tn09a3#”即表示第3個時間計數數據,a地點溫度數據零下9度。
利用該消息格式,可以通過對傳感器數據進行分類、事件判斷、時間分析、位置分析等方式,獲取傳感器數據中所包含的信息,針對各類數據或事件進行處理。
根據上述提出的方法設計,實現了一種基于ZigBee的智能家居系統,分別對傳感器網絡、智能網關、服務器和移動客戶端四個基本模塊進行開發,并實現各模塊之間的協同工作。
根據智能家居自動服務系統的需求,智能家居系統應當具備自動分析傳感器數據,對分析結果對應的事件進行響應的能力。基于這些自動控制的思想,提出的智能家居自動服務系統模塊架構如圖3所示。系統分為四個模塊:無線傳感器網絡、智能網關、服務器和客戶端,主要實現以下功能:

圖3 智能家居自動服務系統模塊架構
(1)異常事件自動拍攝記錄。在有人進入房間觸發紅外報警等異常事件或發生火災等意外導致溫濕度出現異常時,系統自動調用攝像機對事件進行拍攝記錄,在智能網關進行保存并同時上傳至服務器。用戶可以通過移動客戶端查看事件發生的時間與拍攝記錄;
(2)溫濕度最新監測數據提供。傳感器每隔一段時間會采集當前地點的溫度與濕度并發送至智能網關,智能網關作一定數據的緩存并及時上傳至服務器。用戶可以通過移動客戶端及時獲取當前房間的溫濕度環境情況。
當前,無線傳感器網絡受到各界的關注,紅外、藍牙等無線通訊技術也得到了極大的發展。然而,由于環境限制或是功耗過高,這些技術并不適用于智能家居系統。ZigBee[12-14]技術則解決了其中的一些問題。
ZigBee是一種短距離、低功耗、低速率、低成本的無線接入技術[15]。目前,ZigBee技術廣泛應用于災害管理、智能城市、電子醫療等眾多領域[16]。在智能家居自動服務系統中,傳感器網絡需要長期布置在家中并采集房間中的相關數據,而ZigBee低功耗、低成本的特點正符合這種長期布置節點的需求,能夠以較低的制造成本和維護成本,長時間有效采集房間中的各類數據。因此,文中采用ZigBee技術作為智能家居自動服務系統中傳感器網絡的載體,利用目前使用較多的德州儀器開發的Z-stack協議棧進行開發。通過Z-stack協議棧提供的串口讀寫、周期發送等接口,實現了傳感器數據的獲取、傳輸、緩存等一系列功能。
智能網關模塊是該系統的核心模塊,該模塊需要實現數據收集、數據存儲、數據處理、數據分析、事件觸發、攝像機操作、數據獲取接口等一系列功能。根據所需功能,設計了圖4所示的類結構。

圖4 智能網關實現類圖
為了保證各類數據的區分,系統分別針對各類數據定義了各自的數據模型,實現了數據接收組件、數據處理組件、事件處理組件和HTTP通信組件。其中數據接收組件用于從傳感網絡接收數據并進行解析,數據處理組件處理解析后的數據,事件處理組件通過解析出的事件進行相關操作,而HTTP通信組件用于網關與傳統IP網絡的各類通信。
該系統中的遠程服務器使用當前在服務器端較為成熟的JSP技術[17]實現。在服務器端,使用Java Web開發中常用的bean+DAO+JDBC+Servlet的方式進行開發。使用bean類創建數據類型,JDBC連接數據庫,通過DAO實現數據類與數據庫數據之間的轉換。而遠程服務器的數據獲取組件與服務提供組件均使用Servlet技術實現,通過服務器提供HTTP請求接口,智能網關與客戶端發送對應HTTP請求的方式,上傳數據或獲取服務。
該系統的客戶端基于iOS移動終端開發實現,使用良好的圖形化界面,提供自動環境監測、自動事件記錄等相關服務,主界面如圖5所示。

圖5 客戶端主界面
系統測試環境如下:
(1)硬件環境:各類傳感器若干、ZigBee開發板若干,臺式PC機1臺,服務器1臺,iphone5s智能手機1臺。
(2)軟件環境:Ubuntu 14.04操作系統,Windows 8.1操作系統,JDK 1.8.0_73,apache-tomcat 8.0.33服務器,MySql 5.7數據庫,ios 8.3系統。
在此測試環境下,對提出的基于差值聚類的溫濕度異常值檢測算法的實際效果進行測試。采用與傳統的K-means算法比較的方式,以溫濕度數據的差值作為數據點,計算在單次迭代下各數據點與質心距離的平均值,分析數據點聚類后的離散程度,判斷聚類效果。經過實際測試,使用兩種算法的平均質心距離如圖6所示。

圖6 數據點距離質心的平均距離
另外,在該測試環境下,通過出入房間模擬入侵事件,使用熱水杯提高傳感器節點的溫度來模擬火災,測試系統對于紅外事件、溫度異常事件的響應能力。測試結果顯示,攝像機自動調整拍攝位置至有人出入的門和發生溫度異常的傳感器節點處并進行拍攝,拍攝照片在智能網關端保存并自動上傳至服務器,用戶可以通過移動終端及時地查看到情況。
通過測試結果可以看出,在測試環境下,基于差值聚類的溫濕度異常值檢測算法實際效果良好,數據點到質心的平均距離小于K-means算法。基于ZigBee的智能家居自動服務系統能正常工作。
針對當前已提出的智能家居系統中沒有充分利用網關資源,缺乏基于數據的自動服務等問題,設計并實現了一種基于ZigBee的智能家居自動服務系統。利用基于差值聚類的溫濕度異常值檢測算法在性能較低的節點處實現了異常值高效、可靠的檢測。通過新型的系統整體架構與功能模塊的設計與實現,達到了減少功耗和網絡資源占用,在本地和遠程協同提供相應服務的目的。通過系統測試,結果證明了該檢測算法與系統架構的可行性與優勢。
[1] HAN D M,LIM J H.Design and implementation of smart home energy management systems based on Zigbee[J].IEEE Transactions on Consumer Electronics,2010,56(3):1417-1425.
[2] CHAN M,CAMPO E,ESTVE D,et al.Smart homes - current features and future perspectives[J].Maturitas,2009,64(2):90-97.
[3] BASU D,MORETTI G,GUPTA G S,et al.Wireless sensor network based smart home:sensor selection,deployment and monitoring[C]//Sensors applications symposium.[s.l.]:IEEE,2013:49-54.
[4] 王朝華,陳德艷,黃國宏,等.基于Android的智能家居系統的研究與實現[J].計算機技術與發展,2012,22(6):225-228.
[5] NIYATO D,XIAO L,WANG P.Machine-to-machine communications for home energy management system in smart grid[J].IEEE Communications Magazine,2011,49(4):53-59.
[6] ZUALKERNAN I A,AL-ALI A R,JABBAR M A,et al.InfoPods:Zigbee-based remote information monitoring devices for smart-homes[J].IEEE Transactions on Consumer Electronics,2009,55(3):1221-1226.
[7] GILL K,YANG S H,YAO F,et al.A Zigbee-based home automation system[J].IEEE Transactions on Consumer Electronics,2009,55(2):422-430.
[8] 周 游,方 濱,王 普.基于ZigBee技術的智能家居無線網絡系統[J].電子技術應用,2005,31(9):37-40.
[9] SOUZA A M C,AMAZONAS J R A.An outlier detect algorithm using big data processing and internet of things architecture[J].Procedia Computer Science,2015,52:1010-1015.
[11] 蔡愛杰,司良友,夏繼秋,等.基于二次曲面擬合的二維傳感器數據處理技術研究[J].傳感器與微系統,2009,28(7):30-32.
[12] BARONTI P,PILLAI P,CHOOK V W C,et al.Wireless sensor networks:a survey on the state of the art and the 802.15.4 and Zigbee standards[J].Computer Communications,2007,30(7):1655-1695.
[13] 任秀麗,于海斌.ZigBee無線通信協議實現技術的研究[J].計算機工程與應用,2007,43(6):143-145.
[14] 彭 燕.基于ZigBee的無線傳感器網絡研究[J].現代電子技術,2011,34(5):49-51.
[15] 原 羿,蘇鴻根.基于ZigBee技術的無線網絡應用研究[J].計算機應用與軟件,2004,21(6):89-91.
[16] YI P,IWAYEMI A,ZHOU C.Developing ZigBee deployment guideline under WiFi interference for smart grid applications[J].IEEE Transactions on Smart Grid,2011,2(1):110-120.
[17] 張 波,張福炎.基于JSP技術的Web應用程序的開發[J].計算機應用研究,2001,18(5):99-101.