摘 要: 在ZigBee技術(shù)的基礎(chǔ)上,設(shè)計出溫濕度數(shù)據(jù)無線采集監(jiān)測系統(tǒng),,實現(xiàn)了監(jiān)測環(huán)境中不同區(qū)域的溫濕度節(jié)點信息實時采集,,并將數(shù)據(jù)信息無線發(fā)送給用戶,在用戶終端界面上對環(huán)境的溫濕度進行監(jiān)測,。該系統(tǒng)解決了農(nóng)業(yè)監(jiān)測環(huán)境中的通信布線問題,,具有成本低、可靠性高,、實用性強等優(yōu)點,。
關(guān)鍵詞: 現(xiàn)代農(nóng)業(yè),;溫濕度監(jiān)測,;無線傳感器網(wǎng)絡(luò);ZigBee技術(shù)
溫濕度監(jiān)測被廣泛應(yīng)用于工農(nóng)業(yè)生產(chǎn)中,,如溫室,、大棚、礦井等場所都會對環(huán)境的溫度和濕度進行定時監(jiān)測,,以保證生產(chǎn)要求或植物的最優(yōu)生長條件,。如果采用人工定時測量,不但要耗費大量的人力,,而且很難做到實時監(jiān)控,,特別是在某些高溫場所還有可能造成安全事故。傳感器是監(jiān)測系統(tǒng)中重要的組成部分,,但是隨之而來的是布線的復(fù)雜和施工的困難,,大量的數(shù)據(jù)線纜還存在著短路和斷線的隱患,以及成本高、易老化等問題,,這都給系統(tǒng)的調(diào)試和維護增加了難度,。無線數(shù)據(jù)通信技術(shù)在實際應(yīng)用中具有組網(wǎng)簡單、使用方便,、擴展性強的優(yōu)點,。其中被廣泛采用的是基于ZigBee協(xié)議棧的無線通信技術(shù)[1-3]。
ZigBee是IEEE 802.15.4協(xié)議的代名詞,,該標(biāo)準(zhǔn)定義了RF射頻以及與相鄰設(shè)備之間的通信,,并在IEEE 802.15.4協(xié)議(PHY層和MAC層)之上,添加了網(wǎng)絡(luò)層(NWK),、應(yīng)用層(APL)和安全服務(wù)提供層,,如圖1所示[4]。
與其他無線通信技術(shù)相比,,ZigBee技術(shù)的特點是距離短,、復(fù)雜度低、自組織,、功耗低,、數(shù)據(jù)速率低、成本低和容量高,,適用于對無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)進行遠(yuǎn)程數(shù)據(jù)的采集與控制[5],。為此,本文設(shè)計出一種基于ZigBee技術(shù)的無線傳感器網(wǎng)絡(luò)溫室溫濕度采集監(jiān)測系統(tǒng),。
1 系統(tǒng)構(gòu)成
基于ZigBee技術(shù)的溫室溫濕度數(shù)據(jù)無線采集監(jiān)測系統(tǒng)通過WSN進行溫濕度信息的采集和發(fā)送,,通過上位機監(jiān)控軟件完成數(shù)據(jù)的存儲,并且對溫室中每一個節(jié)點的溫濕度進行監(jiān)測,,即在監(jiān)控終端設(shè)定溫濕度期望值區(qū)間,,當(dāng)實際值超出該設(shè)定范圍時,監(jiān)控界面顯示報警,。WSN是由部署在監(jiān)測區(qū)域內(nèi)大量的微型傳感器節(jié)點組成,,通過無線通信方式形成一個多跳自組織網(wǎng)絡(luò)。它通過各類集成化的微型傳感器協(xié)同完成對環(huán)境信息的實時監(jiān)測,、感知和采集,,并將信息通過無線方式發(fā)送到用戶終端[6]。網(wǎng)絡(luò)中只允許有一個采集節(jié)點充當(dāng)網(wǎng)關(guān),,但允許存在若干個傳感器節(jié)點來完成信息的采集,。
本系統(tǒng)主要由傳感器節(jié)點、采集節(jié)點和監(jiān)控終端組成,。監(jiān)控終端由一臺PC和監(jiān)控操作界面組成,,負(fù)責(zé)實時顯示,、存儲與處理數(shù)據(jù),并能夠在溫濕度超過設(shè)定范圍時報警,。傳感器節(jié)點由CC2430-F128芯片,、溫濕度傳感器和電源模塊構(gòu)成,負(fù)責(zé)采集環(huán)境中的溫濕度信息和電壓值(由于溫濕度傳感器需要最低2.7 V的供電,,因此需要對電源電壓進行監(jiān)測以便及時更換電源),,并以無線方式發(fā)送至采集節(jié)點,以便進行離線的分析和處理,。采集節(jié)點由CC2430-F128芯片和電源板構(gòu)成,,負(fù)責(zé)建立網(wǎng)絡(luò),接收傳感器節(jié)點的采集信息,,并通過RS232串口將信息發(fā)送到監(jiān)控終端,。一個典型的基于ZigBee技術(shù)的溫濕度數(shù)據(jù)無線監(jiān)測系統(tǒng)。共布設(shè)9個應(yīng)用于溫室采集溫濕度信息的傳感器節(jié)點,。
2 硬件結(jié)構(gòu)
傳感器節(jié)點由數(shù)據(jù)處理發(fā)送模塊,、溫度傳感器、濕度傳感器和供電板構(gòu)成,,如圖2所示,。
數(shù)據(jù)處理發(fā)送模塊選用TI公司的CC2430/31-F128芯片,它具有低成本,、低功耗的特點,,內(nèi)嵌8 bit的增強型8051單片機、12 bit A/D轉(zhuǎn)換器和2.4 GHz的射頻收發(fā)器,,在接收和發(fā)射模式下,,電流消耗分別低于27 mA和25 mA[6]。
電源模塊由一塊供電板和兩節(jié)AA電池構(gòu)成,,負(fù)責(zé)給板上的各硬件模塊供電,。
溫度傳感器選用AD22103芯片,它的供電電壓為3.3 V,,適合由電池供電的應(yīng)用環(huán)境,。溫度量程為0℃~100℃。通過外接1 kΩ電阻,,使其輸出端與CC2430的P0.1口(內(nèi)嵌ADC的輸入端口為P0.0~P0.7)相連,則傳感器的輸出電壓正比于溫度值,。當(dāng)溫度為0℃時,,其輸出電壓為0.25 V;當(dāng)溫度為100℃時,,其輸出電壓為3.05 V,。溫度系數(shù)為(Vs/3.3 V)×28 mV/℃,,其中Vs為供電電壓。
濕度傳感器選用霍尼韋爾公司的HIH5030芯片,,其工作電壓最低為2.7 V,,典型工作電流為200 μA,適合于3 V電池供電系統(tǒng),。通過外接1 kΩ電阻,,使其輸出端與CC2430的P0.0口相連,對應(yīng)相對濕度的電壓輸出接近于線性,。利用式(1)和(2)(溫度補償公式),,即可由輸出電壓值求出當(dāng)前濕度值。
3.1 組網(wǎng)
采集節(jié)點在初始化后確定自己的邏輯類型為采集節(jié)點,,由介質(zhì)訪問控制MAC(Media Access Control)層對工作于2.4 GHz波段的16個信道(11~26)進行能量檢測掃描,,以檢測可能的干擾。當(dāng)網(wǎng)絡(luò)層(NWK)接收到成功的能量檢測掃描結(jié)果后,,以遞增的方式對所測得的能量值進行信道排序,,并且拋棄那些能量值超出了允許能量水平的信道,最終在允許選擇的信道中選擇一個編號最小的信道,,并設(shè)置網(wǎng)絡(luò)的個域網(wǎng)絡(luò)標(biāo)識符PanID(Personal Area Network ID),。ZigBee設(shè)備對象然后由ZDO(ZigBee Device Object)層進行設(shè)備及網(wǎng)絡(luò)的初始化,再由網(wǎng)絡(luò)層發(fā)送網(wǎng)絡(luò)形成請求信息,,由ZDO層返回網(wǎng)絡(luò)形成確認(rèn)信息,,改變其網(wǎng)絡(luò)狀態(tài),得到其網(wǎng)絡(luò)地址,,并將信息發(fā)給應(yīng)用層APL(Application Layer),,由APL層處理函數(shù)完成建立網(wǎng)絡(luò)事件。
傳感器節(jié)點完成初始化后,,在APL層確定自己的邏輯類型為終端設(shè)備,,由MAC層掃描當(dāng)前存在的網(wǎng)絡(luò)。若發(fā)現(xiàn)有網(wǎng)絡(luò)存在,,由網(wǎng)絡(luò)層發(fā)送網(wǎng)絡(luò)發(fā)現(xiàn)請求信息,,由ZDO層返回網(wǎng)絡(luò)發(fā)現(xiàn)確認(rèn)信息,在ZDO層處理函數(shù)中由網(wǎng)絡(luò)層發(fā)送網(wǎng)絡(luò)加入請求信息,,再由ZDO層返回網(wǎng)絡(luò)加入確認(rèn)信息,,并在其處理函數(shù)中更新網(wǎng)絡(luò)狀態(tài),得到該節(jié)點網(wǎng)絡(luò)地址,,并將該信息發(fā)送到APL層,,由APL層處理函數(shù)完成加入網(wǎng)絡(luò)事件。
3.2 綁定
綁定是在兩個設(shè)備應(yīng)用層上的邏輯鏈接,。它只能在互為“補充”的設(shè)備間被建立,,即當(dāng)兩個設(shè)備已經(jīng)在它們的簡單描述符結(jié)構(gòu)中登記為相同的命令I(lǐng)D或簇ID(一個簇實際上是一些相關(guān)命令和屬性的集合,,這些命令和屬性一起被定義為一個應(yīng)用接口,被分配一個唯一的簇ID),,且一個為輸入一個為輸出時,,才能建立綁定。綁定允許應(yīng)用層發(fā)送信息而無需帶目的地址,,由應(yīng)用支持子層APS(Application Support Sublayer)從它的綁定表中確定目的地址,,然后在信息前端加上該目的地址(一對一綁定)或組地址(一對多綁定)來完成信息的發(fā)送。
采集節(jié)點建立網(wǎng)絡(luò)后,,通過按鍵處理函數(shù)開啟允許綁定模式,。傳感器節(jié)點加入網(wǎng)絡(luò)后,ZDO層首先在自己內(nèi)部查找命令I(lǐng)D或簇ID,,判斷其是否在傳感器節(jié)點的端點描述符的簇列表中,,即查看其在簇列表中的簇號,并判斷是輸出簇還是輸入簇,。然后由ZDO層以廣播的形式無線發(fā)送匹配描述符請求和簇信息到允許綁定的設(shè)備(即采集節(jié)點),。采集節(jié)點接收到該請求后,在ZDO層處理函數(shù)中解析接收到的簇信息,,并在自己的簇列表中查找有無與之匹配的描述符,,若存在同樣的簇ID,且與傳感節(jié)點的簇信息互補,,則以無線方式發(fā)送匹配描述符響應(yīng)信息到傳感器節(jié)點,。傳感器節(jié)點接收到響應(yīng)信息后,開始建立綁定表,,并存儲發(fā)送過來的采集節(jié)點的網(wǎng)絡(luò)地址,,同時無線發(fā)送IEEE地址請求到采集節(jié)點,采集節(jié)點接收到該請求信息后,,將IEEE地址響應(yīng)發(fā)送給傳感器節(jié)點,,傳感器節(jié)點接收到該響應(yīng)信息后進行地址更新,存儲與其建立綁定的采集節(jié)點的網(wǎng)絡(luò)地址和IEEE地址,,完成綁定過程,。
本系統(tǒng)用到9個傳感器節(jié)點。在設(shè)備啟動后,,每個節(jié)點都會通過上述過程與采集節(jié)點進行綁定,,即一個采集節(jié)點與9個傳感器節(jié)點建立綁定(一對多的綁定)。
3.3 采集并發(fā)送數(shù)據(jù)
傳感器節(jié)點與采集節(jié)點建立綁定后,,會在應(yīng)用層進行數(shù)據(jù)的采集,。利用系統(tǒng)定時器和內(nèi)嵌ADC,周期性地采集環(huán)境的溫度,、濕度和電壓(方便及時了解節(jié)點的供電情況,,若電量不足,及時更換電源)信息,,同時根據(jù)其傳感器特性對溫度值和濕度值進行校準(zhǔn)處理后,,利用綁定方式,以無線形式發(fā)送給采集節(jié)點,。采集節(jié)點接收到該信息后,,對信息進行格式處理,將16進制信息轉(zhuǎn)換成十進制信息,,最后通過RS232串口轉(zhuǎn)USB口發(fā)送到監(jiān)控終端,。
4 監(jiān)控終端
監(jiān)控終端界面由當(dāng)前時間、節(jié)點對象選擇,、溫濕度數(shù)據(jù)接收,、數(shù)據(jù)曲線顯示和報警狀態(tài)組成,如圖4所示,。
在本應(yīng)用案例中,,監(jiān)控終端軟件用VB6.0開發(fā)。VB6.0環(huán)境下提供了MsComm控件,,該控件提供串行通信的全部功能,,可以實現(xiàn)從串口讀入數(shù)據(jù)或?qū)憯?shù)據(jù)到串口,封裝了通信過程中的底層操作程序,,實現(xiàn)了用戶和應(yīng)用程序之間的異步串行通信,,發(fā)送和接收數(shù)據(jù)。
后臺數(shù)據(jù)庫采用Microsoft Office中的Access數(shù)據(jù)庫,,用以存儲和管理所需要的數(shù)據(jù),。它不僅是一個數(shù)據(jù)庫,而且具有數(shù)據(jù)管理功能,。數(shù)據(jù)庫中包含多個表,,每個表可以分別表示和存儲不同類型的信息;通過建立各個表之間的關(guān)聯(lián),,從而將存儲在不同表中的相關(guān)數(shù)據(jù)有機地結(jié)合起來,;可以通過創(chuàng)建查詢在一個表或多個數(shù)據(jù)表中檢索、更新和刪除記錄,,并且可以對數(shù)據(jù)庫中的數(shù)據(jù)進行各種計算,;通過創(chuàng)建聯(lián)機窗體,可以直接對數(shù)據(jù)庫中的記錄執(zhí)行查看和編輯操作[7],。
數(shù)據(jù)接收區(qū)利用Adodc控件和DataGrid控件完成對數(shù)據(jù)的接收,、顯示并存儲到數(shù)據(jù)庫中。
在節(jié)點選擇框架中,,可選擇當(dāng)前查看某一個節(jié)點的數(shù)據(jù)和曲線,。
通過VB6.0中的PictureBox控件設(shè)計出能夠根據(jù)數(shù)據(jù)實時繪制曲線的模塊,,將溫濕度數(shù)據(jù)以曲線的形式實時描繪出來,并可以連續(xù)描繪出一天的溫濕度變化曲線,,方便對溫濕度變化特征進行觀察和分析,,如圖5所示。
在報警狀態(tài)框架中,,可以設(shè)定監(jiān)控環(huán)境的溫濕度控制范圍,。當(dāng)環(huán)境中的溫濕度在設(shè)定范圍內(nèi)時,以綠色燈顯示正常狀態(tài),;當(dāng)超出設(shè)定范圍時,,以紅燈進行報警,以便及時采取控制措施,,使其溫濕度控制在最優(yōu)的環(huán)境允許范圍內(nèi),,顯示界面如圖6所示。
本文將CC2430與外接溫濕度傳感器連接,,并利用上位機監(jiān)控終端實現(xiàn)了基于ZigBee的溫濕度數(shù)據(jù)無線采集監(jiān)測系統(tǒng),。該系統(tǒng)能夠解決在傳統(tǒng)傳感器應(yīng)用中的布線問題,降低了成本,、維護安全,,能實現(xiàn)對環(huán)境中多個區(qū)域的溫濕度的實時無線采集和監(jiān)測,在工農(nóng)業(yè)等方面具有廣闊的應(yīng)用前景,。系統(tǒng)還具有較強的移植性,,只要更換采集節(jié)點中的傳感器就能對其他參量進行采集監(jiān)測。目前該系統(tǒng)在溫室溫濕度采集監(jiān)測上得到了應(yīng)用,。
參考文獻
[1] UNHAWIWAT M,, MANOYUT P. Wireless Sensor Network for rubber orchard monitoring and alerting systems[C]. 2010 Second International Conference on Computer Engineering and Applications, 2010: 156-160.
[2] Zhang Xinrong,, Chang Bo. Research of temperature and humidity monitoring system based on WSN and fuzzy control[C]. 2011 International Conference on Electronics and Optoelectronics (ICEOE 2011),, 2011: V4-300-V4-303.
[3] 張軍,吳建鋒.基于無線傳感器網(wǎng)絡(luò)的溫濕度檢測系統(tǒng)[J].杭州電子科技大學(xué)學(xué)報,,2010,,12.
[4] 丁飛,張西良.ZigBee技術(shù)的硬件實現(xiàn)模式分析[EB/OL].http://www.armsky.net/articles/zigbee/671099428173.html.2008.
[5] 高守偉,,吳燦陽.ZigBee技術(shù)實踐教程—基于CC2430/31的無線傳感器網(wǎng)絡(luò)解決方案[M].北京:北京航空航天大學(xué)出版社,,2009.
[6] 李文仲,段朝玉.ZigBee2006無線網(wǎng)絡(luò)與無線定位實戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,,2008.
[7] 孟未來.基于無線傳感器網(wǎng)絡(luò)技術(shù)的溫濕度數(shù)據(jù)采集系統(tǒng)的研制[D].沈陽:沈陽工業(yè)大學(xué),,2007.