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