王明偉,陳立萬,李洪兵,陳 強(qiáng)
(1.重慶三峽學(xué)院 電子信息與工程學(xué)院,重慶 404100;2.重慶三峽學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶 404100)
?
基于ZigBee協(xié)議WSN在智能家居中的控制實(shí)現(xiàn)
王明偉1,陳立萬1,李洪兵2,陳強(qiáng)1
(1.重慶三峽學(xué)院 電子信息與工程學(xué)院,重慶404100;2.重慶三峽學(xué)院 計(jì)算機(jī)科學(xué)與工程學(xué)院,重慶404100)
摘要為改善無線節(jié)點(diǎn)失效而影響信息采集問題,提出了一種基于ZigBee協(xié)議的無線傳感器網(wǎng)絡(luò)在智能家居中的控制與實(shí)現(xiàn)方案,該方案采用低功耗ARM11處理器為核心,利用內(nèi)嵌協(xié)議棧模塊為網(wǎng)絡(luò)的數(shù)據(jù)出口,以嵌入式Web服務(wù)器為網(wǎng)關(guān),利用ZigBee協(xié)議進(jìn)行全網(wǎng)無線搭建,對(duì)信息的采集、分析、處理、控制。通過實(shí)驗(yàn)驗(yàn)證表明,對(duì)節(jié)點(diǎn)失效檢測率達(dá)到80%,在溫度檢測方面誤差為0.05 ℃,增強(qiáng)家居生活的安全性,實(shí)現(xiàn)了無線傳感器網(wǎng)絡(luò)在家居生活智能化的管理。
關(guān)鍵詞無線傳感器網(wǎng)絡(luò);ZigBee協(xié)議;智能家居
Design and Implementation of WSN Based on ZigBee Protocol in Smart Home
WANG Mingwei1,CHEN Liwan1,LI Hongbing2,CHEN Qiang1
(1.School of Electronic Information and Engineering,Chongqing Three Gorges University,Chongqing 404100,China;2.School of Computer Science and Engineering,Chongqing Three Gorges University,Chongqing 404100,China)
AbstractWireless Sensor Network (WSN) based on the ZigBee protocol is the next generation of emerging sensor networks.ZigBee technology with high performance,low power consumption and low speed rate enjoys broad application prospects,such as industrial control.This study uses the ZigBee technology to establish the wireless network in smart home in stead of the traditional mode type with low power ARM11 as the core,embedded protocol stack as the data interface and embedded Web server as the gateway to improve the wireless node failure that affects information acquisition.Experiments show that the failure detection rate is 80% and the temperature detection error is 0.05 ℃,thus enhancing the security of the smart home and achieving the smart management of household life by the wireless sensor network.
Keywordswireless sensor network;ZigBee protocol;smart home
無線傳感器網(wǎng)絡(luò)是由部署在檢測區(qū)域內(nèi)大量具有感知能力、計(jì)算能力和通信能力的微型傳感器節(jié)點(diǎn),通過無線通信方式形成的一個(gè)多跳自組織網(wǎng)絡(luò)系統(tǒng)[1]。其中ZigBee協(xié)議以其功耗低、傳輸距離較遠(yuǎn)、安全性較高的特點(diǎn)在無線傳感器網(wǎng)絡(luò)中應(yīng)用廣泛。無線傳感器網(wǎng)絡(luò)在智能家居應(yīng)用,以環(huán)境控制為主、安全管理為導(dǎo)向,對(duì)家庭中設(shè)備進(jìn)行有效地整合,實(shí)現(xiàn)遠(yuǎn)程控制與集中控制,使家居生活更加安全、便利以及舒適。
對(duì)于節(jié)點(diǎn)失效,提出了正六邊形的拓?fù)浣Y(jié)構(gòu)。采用與鄰居節(jié)點(diǎn)數(shù)據(jù)[2]、歷史數(shù)據(jù)比對(duì)來確定節(jié)點(diǎn)失效并嘗試進(jìn)行修復(fù),在確定節(jié)點(diǎn)永失效久后達(dá)到一定數(shù)量時(shí),會(huì)喚醒失效節(jié)點(diǎn)并聯(lián)的備用節(jié)點(diǎn),從而保障網(wǎng)絡(luò)的可靠運(yùn)行。
1系統(tǒng)整體架構(gòu)
1.1整體架構(gòu)設(shè)計(jì)
系統(tǒng)構(gòu)建,包括智能家居上位機(jī)系統(tǒng)、協(xié)調(diào)器、路由器、ZigBee無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)與下位機(jī)系統(tǒng)等部分組成。ZigBee無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)分為負(fù)責(zé)數(shù)據(jù)信息采集的傳感控制節(jié)點(diǎn)和負(fù)責(zé)組網(wǎng)的協(xié)調(diào)器節(jié)點(diǎn)兩種。
圖1為無線傳感器網(wǎng)絡(luò)系統(tǒng)的整體架構(gòu),在每個(gè)從節(jié)點(diǎn)上均集成有電器設(shè)備與相應(yīng)的傳感器,由數(shù)據(jù)采集從節(jié)點(diǎn)對(duì)周圍的環(huán)境進(jìn)行信息的采集,并將信息通過數(shù)據(jù)采集主節(jié)點(diǎn)傳送給匯聚節(jié)點(diǎn)、網(wǎng)關(guān)、分析機(jī)、上位機(jī),與上位機(jī)預(yù)先設(shè)置的信息進(jìn)行比對(duì)后,發(fā)出相應(yīng)的指令對(duì)相應(yīng)的設(shè)備做出控制。本系統(tǒng)用溫度、濕度、光強(qiáng)度等傳感器進(jìn)行數(shù)據(jù)采集,協(xié)調(diào)器節(jié)點(diǎn)將傳感控制節(jié)點(diǎn)上采集到的實(shí)時(shí)數(shù)據(jù),經(jīng)過串口傳送給上位機(jī),上位機(jī)系統(tǒng)通過與預(yù)設(shè)定的值和接收到的數(shù)據(jù)進(jìn)行比較,采取相應(yīng)的措施來對(duì)各個(gè)傳感控制節(jié)點(diǎn)的監(jiān)測與控制[2]。
圖1 系統(tǒng)整體架構(gòu)圖
1.2系統(tǒng)流程圖
系統(tǒng)功能包括軟硬件的主程序、初始化程序、中斷服務(wù)子程序、節(jié)點(diǎn)控制子程序。初始化程序主要負(fù)責(zé)初始化串行通信接口、定時(shí)器等工作;中斷服務(wù)子程序主要負(fù)責(zé)接受串行通信接口傳輸?shù)男畔?節(jié)點(diǎn)控制子程序控制設(shè)備是否運(yùn)行。功能流程如圖2所示。
系統(tǒng)采樣前,協(xié)調(diào)器首先進(jìn)行初始化,然后協(xié)調(diào)其選擇通信通道,接著啟動(dòng)網(wǎng)絡(luò),所有的設(shè)備接入?yún)f(xié)調(diào)器。協(xié)調(diào)器發(fā)送接送請(qǐng)求,請(qǐng)求合法,初始化ADC開始信息采集,系統(tǒng)開始采樣時(shí),對(duì)各個(gè)節(jié)點(diǎn)的哨兵發(fā)出喚醒命令,使各個(gè)節(jié)點(diǎn)開始進(jìn)行信息的采集。各節(jié)點(diǎn)的哨兵對(duì)下屬各個(gè)子節(jié)點(diǎn)發(fā)出信息采集的指令,各節(jié)點(diǎn)開始進(jìn)行信息的采集。各子節(jié)點(diǎn)將接到的信息傳輸?shù)较鄳?yīng)的哨兵節(jié)點(diǎn),各哨兵節(jié)點(diǎn)將信息(ZigBee數(shù)據(jù))進(jìn)行預(yù)處理。處理后經(jīng)過路由器傳輸?shù)絽f(xié)調(diào)器,協(xié)調(diào)器將信息傳輸?shù)缴衔粰C(jī)。當(dāng)數(shù)據(jù)異常時(shí),判斷節(jié)點(diǎn)是否失效,通過力矩節(jié)點(diǎn)的數(shù)據(jù)、歷史數(shù)據(jù)進(jìn)行比對(duì)確定節(jié)點(diǎn)失效且無法進(jìn)行自修復(fù)時(shí),喚醒失效節(jié)點(diǎn)上的備用節(jié)點(diǎn)重新進(jìn)行數(shù)據(jù)采集。將處理好的信息通過網(wǎng)絡(luò)發(fā)送給上位機(jī),等待上位機(jī)命令,上位機(jī)將預(yù)先設(shè)定好的指令發(fā)送給下位機(jī),使執(zhí)行機(jī)構(gòu)動(dòng)作。
圖2 系統(tǒng)流程圖
2硬件平臺(tái)
系統(tǒng)硬件電路主要由 ARM11微處理器、電源及復(fù)位模塊、以太網(wǎng)接口模塊、協(xié)調(diào)器、ZigBee無線網(wǎng)絡(luò)模塊、遠(yuǎn)程控制端和家庭控制端組成,如圖3所示。
圖3 硬件平臺(tái)
本系統(tǒng)由3類節(jié)點(diǎn)組成:ZigBee協(xié)調(diào)器節(jié)點(diǎn)、路由器節(jié)點(diǎn)和傳感器節(jié)點(diǎn)。ZigBee協(xié)調(diào)器是分布式處理中心,ZigBee節(jié)點(diǎn)通過擴(kuò)展引出通用接口與家庭控制終端連接并接收其數(shù)據(jù),然后發(fā)送給ZigBee協(xié)調(diào)器。協(xié)調(diào)器與S3C6410處理器通過SPI連接,將從節(jié)點(diǎn)發(fā)送來的數(shù)據(jù)接收并傳輸給中央控制器,從而實(shí)現(xiàn)家庭環(huán)境檢測數(shù)據(jù)的采集、存儲(chǔ)與無線收發(fā)[3]。多個(gè)傳感器節(jié)點(diǎn)置于不同的監(jiān)測區(qū)域,每個(gè)傳感器節(jié)點(diǎn)可采集到相鄰節(jié)點(diǎn)的數(shù)據(jù),再把數(shù)據(jù)傳給匯聚節(jié)點(diǎn),然后匯聚節(jié)點(diǎn)將數(shù)據(jù)通過串口傳給上位機(jī),并進(jìn)行數(shù)據(jù)比對(duì)后顯示給用戶[4-6]。協(xié)調(diào)器節(jié)點(diǎn)可與多個(gè)傳感器節(jié)點(diǎn)通信,使系統(tǒng)同時(shí)監(jiān)測多個(gè)區(qū)域,檢測區(qū)域由用戶通過協(xié)調(diào)器節(jié)點(diǎn)來控制。
3軟件實(shí)現(xiàn)
3.1數(shù)據(jù)采集與處理軟件流程
數(shù)據(jù)采集與處理都與ARM11處理器相連,整體流程如圖4所示。初始化程序后,處理器判斷傳感器是否正在進(jìn)行數(shù)據(jù)采集,不需要時(shí)進(jìn)入休眠模式,等待下次數(shù)據(jù)采集信息喚醒指令;需要數(shù)據(jù)采集時(shí),處理器采集當(dāng)前傳感器采集到的環(huán)境監(jiān)測數(shù)據(jù)信息,同時(shí)同步時(shí)間時(shí)鐘,在判別采集到的數(shù)據(jù)與預(yù)設(shè)有效數(shù)據(jù)是否一致,若未發(fā)生異常,進(jìn)行登記后判斷是否發(fā)生故障,若發(fā)生故障則喚醒備用節(jié)點(diǎn),若無故障再重新采集數(shù)據(jù),數(shù)據(jù)異常時(shí)進(jìn)行分析處理,存儲(chǔ)在數(shù)據(jù)庫中,通過網(wǎng)關(guān)協(xié)調(diào)器將數(shù)據(jù)傳給上位機(jī)軟件,上位機(jī)發(fā)出指令控制下位機(jī)動(dòng)作。
圖4 數(shù)據(jù)采集與控制流程
3.2軟件開發(fā)環(huán)境
程序開發(fā)環(huán)境的搭建從以下方面考慮:(1)代碼編輯和編譯環(huán)境。IAR Embedded Workbench,能夠直接使用德州儀器公司提供的協(xié)議棧 Z-Stack進(jìn)行開發(fā),開發(fā)者調(diào)用API接口函數(shù)即可[4];ZigBee協(xié)議棧組件安裝包以及程序下載工具Flash;(2)RAM11的開發(fā)環(huán)境。Linux操作系統(tǒng),NFS網(wǎng)絡(luò)文件,JTAG調(diào)試工具,Arm-Linux-Gcc編譯工具鏈,嵌入式Linux操作系統(tǒng)(根據(jù)開發(fā)板和處理器配置并編譯),擴(kuò)展庫;(3)下位機(jī)軟件環(huán)境。下位機(jī)采用VB6.0軟件,主要負(fù)責(zé)實(shí)現(xiàn)對(duì)傳感器采集的數(shù)據(jù)進(jìn)行處理、協(xié)調(diào)器和與上位機(jī)通信等功能。上電后,進(jìn)行程序初始化,經(jīng)過協(xié)調(diào)器、路由器,等待上位機(jī)指令。數(shù)字信號(hào)處理(DSP)完成參數(shù)配置后喚醒傳感器進(jìn)行數(shù)據(jù)采集,并傳給上位機(jī);(4)上位機(jī)軟件環(huán)境。上位機(jī)采用VC++6.0編程,主要完成下位機(jī)指令的發(fā)送和傳感器數(shù)據(jù)的接收、顯示與處理等功能。利用VC++6.0與DSP串口連接,實(shí)現(xiàn)指令發(fā)送與數(shù)據(jù)接收,完成下位機(jī)上傳的采集信息[5-7]。
4實(shí)驗(yàn)測試
在實(shí)驗(yàn)室測試,當(dāng)天氣溫20~28 ℃,取某結(jié)點(diǎn)的傳感器進(jìn)行性能測試。數(shù)據(jù)包括溫度、濕度、光照等參數(shù)。數(shù)據(jù)經(jīng)過處理后,每20 min打包,數(shù)據(jù)包由網(wǎng)關(guān)傳輸給上位機(jī)進(jìn)行保存、處理和顯示。以溫度傳感器為例,在溫度傳感器檢測的溫度隨時(shí)間變化的實(shí)際數(shù)據(jù)如圖5所示。
圖5 溫度傳感器數(shù)據(jù)曲線
溫度標(biāo)準(zhǔn)測量值使用專用DT-321S露點(diǎn)濕球溫濕度計(jì)測得,并與本系統(tǒng)的溫度傳感器數(shù)據(jù)進(jìn)行對(duì)比,如表1所示。
表1 溫度對(duì)照表
結(jié)果證明:在提高系統(tǒng)穩(wěn)定運(yùn)行的情況下,測量值與實(shí)際值基本保持一致,最大誤差為0.05 ℃,達(dá)到了測量精度的要求。
在系統(tǒng)數(shù)據(jù)出現(xiàn)異常時(shí),針對(duì)節(jié)點(diǎn)失效進(jìn)行仿真,仿真結(jié)果如圖6所示。
圖6 節(jié)點(diǎn)失效檢測概率曲線
由圖6可知,在系統(tǒng)檢測時(shí),節(jié)點(diǎn)出現(xiàn)漏檢的概率較小,當(dāng)數(shù)據(jù)異常時(shí),可檢測出是系統(tǒng)中節(jié)點(diǎn)失效的概率約為80%,這在一定程度上說明節(jié)點(diǎn)失效故障檢測策略的有效性。
5結(jié)束語
本文提出了一種基于ZigBee協(xié)議的無線傳感器網(wǎng)絡(luò)在智能家居中的控制與實(shí)現(xiàn)方案,該方案采用低功耗ARM11處理器為核心,利用內(nèi)嵌協(xié)議棧模塊為網(wǎng)絡(luò)的數(shù)據(jù)出口,以嵌入式Web服務(wù)器為網(wǎng)關(guān),利用ZigBee協(xié)議進(jìn)行全網(wǎng)無線搭建,對(duì)信息的采集、分析、處理、控制,并對(duì)節(jié)點(diǎn)失效進(jìn)行驗(yàn)證。實(shí)驗(yàn)證明,該系統(tǒng)功耗降低、可靠性高與抗干擾能力強(qiáng),具有良好的通用性,且適合在智能家居系統(tǒng)中應(yīng)用。
參考文獻(xiàn)
[1]Jennifer Yick,Biswanath Mukherjee,Dipak Ghosal.Wireless sensor network survey[J].Computer Networks,2008(52):2292-2330.
[2]馬碩,焦現(xiàn)煒,田柯文,等.一種基于鄰居交換和失效區(qū)域預(yù)測的節(jié)點(diǎn)失效檢測方法[J].科學(xué)技術(shù)與工程,2013,13(21):6306-6311.
[2]劉宏飛,程明霄,陸春宇,等.基于無線傳感網(wǎng)絡(luò)的在線分析系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2014,33(2):108-111.
[3]張冰川,劉雪巖,孟震一,等.基于3G和ZigBee的居民住宅數(shù)據(jù)無線采集傳輸技術(shù)研究[J].長春理工大學(xué)學(xué)報(bào):自然科學(xué)版,2014,37(5):109-114.
[4]趙勇.基于ARM和ZigBee的智能家居遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].測控技術(shù),2012,31(11):52-54,59.
[5]萬磊,章勇,李劍.基于ZigBee無線傳感器網(wǎng)絡(luò)的智能家居設(shè)計(jì)[J].電子科技,2012,25(2):116-119.
[6]王雪芳,何峰,郭文爽.基于ZigBee技術(shù)的智能家居系統(tǒng)[J].電子科技,2014,27(10):14-17.
[7]金志樑,巴音賀希格,朱繼偉,等.基于懸臂梁稱重傳感器的圓弧刀研磨力測量儀設(shè)計(jì)[J].傳感器與微系統(tǒng),2014,33(2):105-107,111.
中圖分類號(hào)TP393
文獻(xiàn)標(biāo)識(shí)碼A
文章編號(hào)1007-7820(2016)03-114-04
doi:10.16180/j.cnki.issn1007-7820.2016.03.029
作者簡介:王明偉(1989—),男,碩士研究生。研究方向:無線傳感網(wǎng)絡(luò)。陳立萬(1964—),男,教授,碩士生導(dǎo)師。研究方向:信號(hào)與信息處理。李洪兵(1981—),男,博士,講師。研究方向:智能信息處理等。
基金項(xiàng)目:重慶市科委基礎(chǔ)與前沿基金資助項(xiàng)目(cstc2014jcyjA1316);重慶市教委科技基金資助項(xiàng)目(KJ131117;KJ1401002;KJ1401008);重慶三峽學(xué)院博士基金資助項(xiàng)目(14ZZ03)
收稿日期:2015- 07- 22