王福祿,房俊龍,張喜海
(東北農業大學工程學院,哈爾濱 150030)
無線傳感器網絡(Wireless sensor network,WSN)是由部署在監測區域內的大量的帶有傳感器的無線節點組成,通過無線通信方式形成的一個多跳的自組織的網絡系統。其作用是協作地感知、采集和處理網絡覆蓋區域中被感知對象的信息,并發送給觀測者。
目前,溫室生產中廣泛存在數量大、分布廣的電子檢測裝置和執行機構,由此造成溫室內線纜縱橫交錯,而且,當作物更替時,相應裝置和機構位置常常需要調整,連接各個裝置與機構的線纜有時也需要重新布置。這不僅增加了溫室的投資成本和安裝維護的難度,有時也影響作物生長。為了科學、合理地實現溫室環境參數的自動檢測,本研究將一種新型低成本、短距離的無線網絡傳輸技術引入到溫室監測系統中,建立溫室無線傳感器網絡監測系統。該監測系統由監控中心、網絡協調器和若干終端傳感器節點組成,可以實現對溫室各參數快速、準確的監測。該系統對提高溫室監測系統的可維護性、溫室的空間利用率和單位面積產出率具有重要的應用價值。
ZigBee技術是一種近年來才興起的短距離無線網絡通信技術,它具有以下的特點:
①設備省電,ZigBee技術采用了多種節電的工作模式,可以確保兩節五號電池支持長達6個月到2年左右的使用時間;
②通信可靠,ZigBee采用了CSma-CA的碰撞避免機制,同時為需要固定帶寬的通信業務預留了專用時隙,避免了發送數據時的競爭和沖突;maC層采用了完全確認的數據傳輸機制,每個發送的數據包都必須等待接收方的確認信息;
③網絡的自組織、自愈能力強,ZigBee的自組織功能,無需人工干預,網絡節點能夠感知其他節點的存在,并確定連接關系,組成結構化的網絡;ZigBee自愈功能:增加或者刪除一個節點,節點位置發生變動,節點發生故障等等,網絡都能夠自我修復,并對網絡拓撲結構進行相應的調整,無需人工干預,保證整個系統仍然能正常工作;
④成本低廉、設備的復雜程度低,且ZigBee協議是免專利費的,這些可以有效地降低設備成本,ZigBee的工作頻段靈活,為免執照頻段的2.4 GHz,就是沒有使用費的無線通信;
⑤網絡容量大,一個ZigBee網絡可以容納最多254個從設備和一個主設備,一個區域內可以同時存在200多個ZigBee網絡;
⑥數據安全,ZigBee提供了數據完整性和鑒權功能,加密算法采用AES-128,同時各個應用可以靈活確定其安全屬性[1]。
整個網絡由監控中心和ZigBee網絡組成。具體見圖1所示。這是一個層次型網絡結構,最底部為傳感器終端節點,向上依次是ZigBee主節點(協調器)和監控中心。監控中心為一臺計算機,用來顯示環境監測的數據,對網絡發送命令。ZigBee網絡負責環境數據的采集,它由ZigBee主節點和ZigBee終端節點組成。在每個網絡中必須要有一個ZigBee協調器,負責發起網絡并對其管理和維護,包括對新加入的設備分配網絡地址,節點的加入和離開,網絡的安全密鑰的分發更新等。為避免節點加入任意組網,造成網絡節點的功耗分布不均,本應用中,網絡內部分為若干個小的星形網絡,每個星形網絡定義為一個組。星形網絡的中心節點通過將終端設備上傳的信息整合處理,再將數據發送給ZigBee主節點。ZigBee網絡與監控中心連接的方式有兩種,通常可將協調器與監控中心通過串口直接連接。當不便于監控中心長期在現場使用時,可使用GPRS將數據發送至連接有GPRS接收裝置的監控中心。
監控中心需監控傳感器節點的工作狀態及健康情況,顯示所有數據的源地址、傳感器采集的數據及數據的變化趨勢,并據此調整節點的工作任務。節點的健康狀況包括剩余能量、傳感器、通信部件的工作情況等。通過監控傳感器狀態,可及時調整傳感器節點的工作周期,重新分配任務,從而避免節點過早失效延長整個網絡的生命期。目前主要通過節點的工作電壓判斷節點的剩余能量信息。若電壓值過低,該節點讀取傳感器數據的可靠性也降低,因此需延長電壓過低節點的休眠時間并減少采樣頻率。

圖1 溫室環境監測網絡結構Fig.1 Structure of the environment monitoring network
終端設備節點應具有小尺寸、低功耗、適用性強的特點,主要完成對環境的溫濕度、光強度等參數的采集、處理和發送。無線傳感器節點一般由傳感器模塊、處理器模塊、無線通信模塊和能量供應模塊組成,節點的硬件結構圖見圖2。處理器模塊和無線通信模塊采用CC2430芯片,電源部分采用太陽能充電電池模塊,傳感器模塊采用溫濕度傳感器、光敏電阻。其中光敏電阻輸出模擬信號,經過MCU12位ADC變換后輸入到MCU,溫濕度傳感器采集的數字信號輸出通過I/O口輸入到MCU,再將信號經過擴頻O-QPSK調制到載波后通過發射器從天線發送給主節點[2]。
CC2430是TI公司推出的2.4GHz IEEE802.15.4/zigbeeTM的片上系統解決方案。CC2430芯片集成了ZigBee射頻前端、內存和微控制器。它包含一個8位的8051MCU,擁有32/64/128 k的可編程Flash和8 k的RAM,還包含ADC、定時器、AES-128安全協同處理器、看門狗定時器、上電復位電路、掉電檢測電路、32 kHz晶體休眠模式定時器和21個可編程I/O引腳,P0、P1口是完全的8位口、P2口只有5個可用的位,通過軟件設定一組SFR寄存器的位和字節可使這些引腳作為通用的I/O口或作為連接ADC、計時器或UART部件的外圍I/O口使用[3]。
主節點硬件設計電路框圖見圖3。
微處理器為Cygnal公司推出的C8051F系列單片機。其中C8051F31X系列是完全集成的混合信號系統級芯片,具有與8051指令集完全兼容的CIP-51內核,它在單片機內集成了構成一個單片機數據采集或控制系統所需要的幾乎所有模擬和數字外設及其他功能部件。這些外設或功能部件包括:ADC、可編程增益放大器、DAC、電壓比較器、電壓基準、溫度傳感器、SMBus/I2C、UART、SPI、定時器、PCA、內部振蕩器、看門狗定時器及電源監視器等。這些外設部件的高集成度為設計小體積、低功耗、高可靠性、高性能的單片機應用系統提供了很大的方便,同時也可以使整體系統成本大大降低[4]。

圖2 終端節點硬件設計Fig.2 Hardware design diagram of the Terminal node

圖3 主節點硬件設計Fig.3 Hardware design diagram of themaster node
由于協調器一直處于接收/發送狀態,因此它采用外部電源供電。硬件設計上增加了LCD顯示屏和JTAG接口,可方便數據的查看和與電腦通信。另外增加的Internet網絡接口,便于遠程監控。
協調器發起網絡后,傳感器節點加入網絡并綁定協調器。通過按鍵選擇要加入的組。默認情況設定溫濕度、亮度為每30 s采集并發送一次,電池電壓為每60 s采集發送一次。數據最終都發送到協調器,再由協調器上傳至監控中心。監控中心也可以對網絡的監控情況發送命令,終端設備在每次休眠狀態醒來之后,都會向上查詢是否有消息或命令,若有,立刻執行。例如監控中心發出停止采集溫度數據命令,所有終端設備在醒來之后都會收到協調器轉發的命令,之后就停止溫度數據的采集。
對于終端設備,硬件系統加電后,執行主調度函數,主調度函數首先復位所有組件,啟動系統狀態檢測函數并調入初始化模塊對MCU、外圍設備等進行初始化,之后進入任務循環。任務包括硬件接口、網絡層、應用接入服務、用戶自定義任務等。其中用戶自定義任務流程(見圖4)[5]。
沒事件發生時,系統處于睡眠狀態,當有事件產生時,系統處于工作狀態,并對響應事件進行處理,處理后,系統將繼續睡眠。例如定時器事件是為了讓系統定時對環境進行傳感器采樣而定義的。系統在接收到定時事件時,會檢測目前的定時器事件狀態字,如果定時器時間已到,定時器事件控制狀態字置位。若沒有置位立刻回到睡眠狀態。采集的數據種類可控制狀態字定義,目前定義的有:溫度、濕度、光強度和電池電壓。
終端設備也會收到主節點發過來的消息(通常為控制命令),例如開始/停止采集數據、設定采集時間等。
按鍵事件主要是對節點網絡以及功能進行配置,如加入網絡、地址綁定、選擇采集的數據、以及選擇加密功能等。

圖4 用戶任務流程Fig.4 Flow of user′s task
在溫室中,應用無線傳感器節點獲取作物的環境信息時,終端節點的能耗,以及是否有可靠的能量補充,關系到溫室無線傳感器的生命周期的長短。
為了驗證設備的實用性,本試驗采用了兩個階段的實驗方法。通過實驗,驗證了在所有激活狀態下的電源管理(包括采集、處理、發送和接收),并且測試了在關鍵網絡下的軟件設計的應用。
第一階段的實驗是實驗室環境中完成的。實驗中使用了兩個終端傳感器節點,與兩個對應的網絡路由器通信,并通過協調器構建一個小型的ZigBee網絡(使用RS232連接到筆記本電腦)。
第二階段的實驗是在東北農業大學設施園藝中心的日光溫室的實際生產環境中進行的。在該實驗中,應用一個無線傳感器節點采集溫室空氣和土壤的溫度、相對濕度和太陽輻射度等數據。為了測試設備節點發現和加入ZigBee網絡的功能的實現,在傳感器節點和協調器(位于控制室)之間使用了兩個路由器(實際為兩個運行路由程序的終端傳感器節點設備)。
第一階段的實驗主要驗證軟件的設計方案,包括描述狀態機和低占空比的電源管理平臺模型。例如,電池充電運行初始化后,上電運行的情況。各種狀態的運行和處理,通常需要大量電能,在此階段要進行量化和測量,尤其是網絡運行時,發現和加入傳感器節點的過程。實驗裝置在第一階段的運行是在特殊的條件下建立的,它驗證了基于ZigBee的系統運行時,節點從周圍環境獲取充電電池電能的重要參數。為了獲取準確且有代表性的電源電壓和電流消耗波形,這種驗證試驗必須在實驗室中完成。為了實現現場的高效運行,本實驗選用了多種低功耗的模擬量傳感器:3個溫度傳感器用于測量2路空氣溫度和1路土壤溫度(LM60B美國國家半導體公司);1個相對濕度傳感器(高分子電容式傳感器);兩個太陽輻射傳感器(TSL251和TSL230德州儀器)。

圖5 路由節點電源電流消耗Fig.5 Power supply current consumption of the end device as a router
圖5為路由節點的電源電流消耗圖,從圖中可以看到,路由器加入的過程(最初的2s),在這個過程中,傳感器節點按預期運行,路由設備從終端傳感器將數據路由到協調器,反之亦然。可以看出,在電源管理系統運行的任何階段,電流的消耗都在50ma左右,這需要從周圍環境中補充能量。
圖6顯示了位于溫室中的終端傳感器設備的電池電壓波形圖。電池由低功率的太陽能電池板供電,同時該電池板也用來測量太陽光照度。這一測量圖顯示了模擬量脈沖值,即只顯示電池的相關用途。在這6 d測試窗口里,電池一直保持在充電模式直到電壓達到將近4.2 V,這時候,軟件程序使電池保持在提供涓流充電機制的動態條件下。考慮到生產實際需要以及傳感器的應用范圍,數據以60秒的時間間隔被協調器接收。如圖所示的電壓波形圖已經在中低等太陽輻射值(小于100 w·m2)下得到驗證,此時,電池只由太陽能充電。從圖中可以看出,即使在每60 s的數據傳輸時,電池電壓也均保持在3.9 V以上。

圖6 6天測試中終端設備電池電壓Fig.6 Battery voltage waveform of the end device during a 6-day evaluation
本研究分別在實驗室環境和設施園藝中心溫室的現場環境進行了試驗,通過實驗室電源和功耗的檢測以及育苗溫室的現場運行,驗證了激活狀態下電源的管理,實現了溫度、濕度及光強度的實時采集與顯示,即實現了基于ZigBee協議的信息無線采集。通過現場運行,電源供應持續穩定,終端節點運行可靠。
本文通過兩個階段的試驗,顯示了基于ZigBee的無線傳感器網絡的可行性。同時為了實現育苗溫室現場環境的可靠精確運行,電源管理是該問題的關鍵所在。傳感器網絡節點可以通過太陽能充電電池,從環境中補充電能。本設計中,通過節點的軟件設計正確的實現了這些問題,并且對特殊情況下軟件方案的正確性進行了測試。實現了一種基于ZigBee的無線傳感器網絡的溫室環境監測系統,該系統能夠高效地采集溫室環境參數,包括溫度、濕度、光強度,并且具有功耗低,可靠性高,電源供應穩定的特點。由于本研究重點在于提高網絡的可靠性,今后還要進一步完善路由協議,提高無線傳感器網絡的實時性和穩定性。
[1]ZigBee specification[EB/OL].(2006-06-05).http://www.zigbee.org.html.
[2]孫利民.無線傳感器網絡[M].北京:清華大學出版社,2005.
[3]A true system-on-chip solution for 2.4 GHz IEEE 802.15.4[EB/OL].(2007-06-05).http∶//focus.ti.com/docs/prod/folders/print/cc 2430.html.
[4]DN102-SoC temperature sensor[EB/OL].[2007-10-05].http://www.ti.com.Z-Stack API_F8W.
[5]韓華峰,杜克明,孫忠富,等.基于ZigBee網絡的溫室環境遠程監控系統設計與應用[J].農業工程學報,2009,25(7):158-163.