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