王福祿,房俊龍,張喜海
(東北農(nóng)業(yè)大學工程學院,哈爾濱 150030)
無線傳感器網(wǎng)絡(Wireless sensor network,WSN)是由部署在監(jiān)測區(qū)域內(nèi)的大量的帶有傳感器的無線節(jié)點組成,通過無線通信方式形成的一個多跳的自組織的網(wǎng)絡系統(tǒng)。其作用是協(xié)作地感知、采集和處理網(wǎng)絡覆蓋區(qū)域中被感知對象的信息,并發(fā)送給觀測者。
目前,溫室生產(chǎn)中廣泛存在數(shù)量大、分布廣的電子檢測裝置和執(zhí)行機構,由此造成溫室內(nèi)線纜縱橫交錯,而且,當作物更替時,相應裝置和機構位置常常需要調(diào)整,連接各個裝置與機構的線纜有時也需要重新布置。這不僅增加了溫室的投資成本和安裝維護的難度,有時也影響作物生長。為了科學、合理地實現(xiàn)溫室環(huán)境參數(shù)的自動檢測,本研究將一種新型低成本、短距離的無線網(wǎng)絡傳輸技術引入到溫室監(jiān)測系統(tǒng)中,建立溫室無線傳感器網(wǎng)絡監(jiān)測系統(tǒng)。該監(jiān)測系統(tǒng)由監(jiān)控中心、網(wǎng)絡協(xié)調(diào)器和若干終端傳感器節(jié)點組成,可以實現(xiàn)對溫室各參數(shù)快速、準確的監(jiān)測。該系統(tǒng)對提高溫室監(jiān)測系統(tǒng)的可維護性、溫室的空間利用率和單位面積產(chǎn)出率具有重要的應用價值。
ZigBee技術是一種近年來才興起的短距離無線網(wǎng)絡通信技術,它具有以下的特點:
①設備省電,ZigBee技術采用了多種節(jié)電的工作模式,可以確保兩節(jié)五號電池支持長達6個月到2年左右的使用時間;
②通信可靠,ZigBee采用了CSma-CA的碰撞避免機制,同時為需要固定帶寬的通信業(yè)務預留了專用時隙,避免了發(fā)送數(shù)據(jù)時的競爭和沖突;maC層采用了完全確認的數(shù)據(jù)傳輸機制,每個發(fā)送的數(shù)據(jù)包都必須等待接收方的確認信息;
③網(wǎng)絡的自組織、自愈能力強,ZigBee的自組織功能,無需人工干預,網(wǎng)絡節(jié)點能夠感知其他節(jié)點的存在,并確定連接關系,組成結構化的網(wǎng)絡;ZigBee自愈功能:增加或者刪除一個節(jié)點,節(jié)點位置發(fā)生變動,節(jié)點發(fā)生故障等等,網(wǎng)絡都能夠自我修復,并對網(wǎng)絡拓撲結構進行相應的調(diào)整,無需人工干預,保證整個系統(tǒng)仍然能正常工作;
④成本低廉、設備的復雜程度低,且ZigBee協(xié)議是免專利費的,這些可以有效地降低設備成本,ZigBee的工作頻段靈活,為免執(zhí)照頻段的2.4 GHz,就是沒有使用費的無線通信;
⑤網(wǎng)絡容量大,一個ZigBee網(wǎng)絡可以容納最多254個從設備和一個主設備,一個區(qū)域內(nèi)可以同時存在200多個ZigBee網(wǎng)絡;
⑥數(shù)據(jù)安全,ZigBee提供了數(shù)據(jù)完整性和鑒權功能,加密算法采用AES-128,同時各個應用可以靈活確定其安全屬性[1]。
整個網(wǎng)絡由監(jiān)控中心和ZigBee網(wǎng)絡組成。具體見圖1所示。這是一個層次型網(wǎng)絡結構,最底部為傳感器終端節(jié)點,向上依次是ZigBee主節(jié)點(協(xié)調(diào)器)和監(jiān)控中心。監(jiān)控中心為一臺計算機,用來顯示環(huán)境監(jiān)測的數(shù)據(jù),對網(wǎng)絡發(fā)送命令。ZigBee網(wǎng)絡負責環(huán)境數(shù)據(jù)的采集,它由ZigBee主節(jié)點和ZigBee終端節(jié)點組成。在每個網(wǎng)絡中必須要有一個ZigBee協(xié)調(diào)器,負責發(fā)起網(wǎng)絡并對其管理和維護,包括對新加入的設備分配網(wǎng)絡地址,節(jié)點的加入和離開,網(wǎng)絡的安全密鑰的分發(fā)更新等。為避免節(jié)點加入任意組網(wǎng),造成網(wǎng)絡節(jié)點的功耗分布不均,本應用中,網(wǎng)絡內(nèi)部分為若干個小的星形網(wǎng)絡,每個星形網(wǎng)絡定義為一個組。星形網(wǎng)絡的中心節(jié)點通過將終端設備上傳的信息整合處理,再將數(shù)據(jù)發(fā)送給ZigBee主節(jié)點。ZigBee網(wǎng)絡與監(jiān)控中心連接的方式有兩種,通??蓪f(xié)調(diào)器與監(jiān)控中心通過串口直接連接。當不便于監(jiān)控中心長期在現(xiàn)場使用時,可使用GPRS將數(shù)據(jù)發(fā)送至連接有GPRS接收裝置的監(jiān)控中心。
監(jiān)控中心需監(jiān)控傳感器節(jié)點的工作狀態(tài)及健康情況,顯示所有數(shù)據(jù)的源地址、傳感器采集的數(shù)據(jù)及數(shù)據(jù)的變化趨勢,并據(jù)此調(diào)整節(jié)點的工作任務。節(jié)點的健康狀況包括剩余能量、傳感器、通信部件的工作情況等。通過監(jiān)控傳感器狀態(tài),可及時調(diào)整傳感器節(jié)點的工作周期,重新分配任務,從而避免節(jié)點過早失效延長整個網(wǎng)絡的生命期。目前主要通過節(jié)點的工作電壓判斷節(jié)點的剩余能量信息。若電壓值過低,該節(jié)點讀取傳感器數(shù)據(jù)的可靠性也降低,因此需延長電壓過低節(jié)點的休眠時間并減少采樣頻率。
圖1 溫室環(huán)境監(jiān)測網(wǎng)絡結構Fig.1 Structure of the environment monitoring network
終端設備節(jié)點應具有小尺寸、低功耗、適用性強的特點,主要完成對環(huán)境的溫濕度、光強度等參數(shù)的采集、處理和發(fā)送。無線傳感器節(jié)點一般由傳感器模塊、處理器模塊、無線通信模塊和能量供應模塊組成,節(jié)點的硬件結構圖見圖2。處理器模塊和無線通信模塊采用CC2430芯片,電源部分采用太陽能充電電池模塊,傳感器模塊采用溫濕度傳感器、光敏電阻。其中光敏電阻輸出模擬信號,經(jīng)過MCU12位ADC變換后輸入到MCU,溫濕度傳感器采集的數(shù)字信號輸出通過I/O口輸入到MCU,再將信號經(jīng)過擴頻O-QPSK調(diào)制到載波后通過發(fā)射器從天線發(fā)送給主節(jié)點[2]。
CC2430是TI公司推出的2.4GHz IEEE802.15.4/zigbeeTM的片上系統(tǒng)解決方案。CC2430芯片集成了ZigBee射頻前端、內(nèi)存和微控制器。它包含一個8位的8051MCU,擁有32/64/128 k的可編程Flash和8 k的RAM,還包含ADC、定時器、AES-128安全協(xié)同處理器、看門狗定時器、上電復位電路、掉電檢測電路、32 kHz晶體休眠模式定時器和21個可編程I/O引腳,P0、P1口是完全的8位口、P2口只有5個可用的位,通過軟件設定一組SFR寄存器的位和字節(jié)可使這些引腳作為通用的I/O口或作為連接ADC、計時器或UART部件的外圍I/O口使用[3]。
主節(jié)點硬件設計電路框圖見圖3。
微處理器為Cygnal公司推出的C8051F系列單片機。其中C8051F31X系列是完全集成的混合信號系統(tǒng)級芯片,具有與8051指令集完全兼容的CIP-51內(nèi)核,它在單片機內(nèi)集成了構成一個單片機數(shù)據(jù)采集或控制系統(tǒng)所需要的幾乎所有模擬和數(shù)字外設及其他功能部件。這些外設或功能部件包括:ADC、可編程增益放大器、DAC、電壓比較器、電壓基準、溫度傳感器、SMBus/I2C、UART、SPI、定時器、PCA、內(nèi)部振蕩器、看門狗定時器及電源監(jiān)視器等。這些外設部件的高集成度為設計小體積、低功耗、高可靠性、高性能的單片機應用系統(tǒng)提供了很大的方便,同時也可以使整體系統(tǒng)成本大大降低[4]。
圖2 終端節(jié)點硬件設計Fig.2 Hardware design diagram of the Terminal node
圖3 主節(jié)點硬件設計Fig.3 Hardware design diagram of themaster node
由于協(xié)調(diào)器一直處于接收/發(fā)送狀態(tài),因此它采用外部電源供電。硬件設計上增加了LCD顯示屏和JTAG接口,可方便數(shù)據(jù)的查看和與電腦通信。另外增加的Internet網(wǎng)絡接口,便于遠程監(jiān)控。
協(xié)調(diào)器發(fā)起網(wǎng)絡后,傳感器節(jié)點加入網(wǎng)絡并綁定協(xié)調(diào)器。通過按鍵選擇要加入的組。默認情況設定溫濕度、亮度為每30 s采集并發(fā)送一次,電池電壓為每60 s采集發(fā)送一次。數(shù)據(jù)最終都發(fā)送到協(xié)調(diào)器,再由協(xié)調(diào)器上傳至監(jiān)控中心。監(jiān)控中心也可以對網(wǎng)絡的監(jiān)控情況發(fā)送命令,終端設備在每次休眠狀態(tài)醒來之后,都會向上查詢是否有消息或命令,若有,立刻執(zhí)行。例如監(jiān)控中心發(fā)出停止采集溫度數(shù)據(jù)命令,所有終端設備在醒來之后都會收到協(xié)調(diào)器轉(zhuǎn)發(fā)的命令,之后就停止溫度數(shù)據(jù)的采集。
對于終端設備,硬件系統(tǒng)加電后,執(zhí)行主調(diào)度函數(shù),主調(diào)度函數(shù)首先復位所有組件,啟動系統(tǒng)狀態(tài)檢測函數(shù)并調(diào)入初始化模塊對MCU、外圍設備等進行初始化,之后進入任務循環(huán)。任務包括硬件接口、網(wǎng)絡層、應用接入服務、用戶自定義任務等。其中用戶自定義任務流程(見圖4)[5]。
沒事件發(fā)生時,系統(tǒng)處于睡眠狀態(tài),當有事件產(chǎn)生時,系統(tǒng)處于工作狀態(tài),并對響應事件進行處理,處理后,系統(tǒng)將繼續(xù)睡眠。例如定時器事件是為了讓系統(tǒng)定時對環(huán)境進行傳感器采樣而定義的。系統(tǒng)在接收到定時事件時,會檢測目前的定時器事件狀態(tài)字,如果定時器時間已到,定時器事件控制狀態(tài)字置位。若沒有置位立刻回到睡眠狀態(tài)。采集的數(shù)據(jù)種類可控制狀態(tài)字定義,目前定義的有:溫度、濕度、光強度和電池電壓。
終端設備也會收到主節(jié)點發(fā)過來的消息(通常為控制命令),例如開始/停止采集數(shù)據(jù)、設定采集時間等。
按鍵事件主要是對節(jié)點網(wǎng)絡以及功能進行配置,如加入網(wǎng)絡、地址綁定、選擇采集的數(shù)據(jù)、以及選擇加密功能等。
圖4 用戶任務流程Fig.4 Flow of user′s task
在溫室中,應用無線傳感器節(jié)點獲取作物的環(huán)境信息時,終端節(jié)點的能耗,以及是否有可靠的能量補充,關系到溫室無線傳感器的生命周期的長短。
為了驗證設備的實用性,本試驗采用了兩個階段的實驗方法。通過實驗,驗證了在所有激活狀態(tài)下的電源管理(包括采集、處理、發(fā)送和接收),并且測試了在關鍵網(wǎng)絡下的軟件設計的應用。
第一階段的實驗是實驗室環(huán)境中完成的。實驗中使用了兩個終端傳感器節(jié)點,與兩個對應的網(wǎng)絡路由器通信,并通過協(xié)調(diào)器構建一個小型的ZigBee網(wǎng)絡(使用RS232連接到筆記本電腦)。
第二階段的實驗是在東北農(nóng)業(yè)大學設施園藝中心的日光溫室的實際生產(chǎn)環(huán)境中進行的。在該實驗中,應用一個無線傳感器節(jié)點采集溫室空氣和土壤的溫度、相對濕度和太陽輻射度等數(shù)據(jù)。為了測試設備節(jié)點發(fā)現(xiàn)和加入ZigBee網(wǎng)絡的功能的實現(xiàn),在傳感器節(jié)點和協(xié)調(diào)器(位于控制室)之間使用了兩個路由器(實際為兩個運行路由程序的終端傳感器節(jié)點設備)。
第一階段的實驗主要驗證軟件的設計方案,包括描述狀態(tài)機和低占空比的電源管理平臺模型。例如,電池充電運行初始化后,上電運行的情況。各種狀態(tài)的運行和處理,通常需要大量電能,在此階段要進行量化和測量,尤其是網(wǎng)絡運行時,發(fā)現(xiàn)和加入傳感器節(jié)點的過程。實驗裝置在第一階段的運行是在特殊的條件下建立的,它驗證了基于ZigBee的系統(tǒng)運行時,節(jié)點從周圍環(huán)境獲取充電電池電能的重要參數(shù)。為了獲取準確且有代表性的電源電壓和電流消耗波形,這種驗證試驗必須在實驗室中完成。為了實現(xiàn)現(xiàn)場的高效運行,本實驗選用了多種低功耗的模擬量傳感器:3個溫度傳感器用于測量2路空氣溫度和1路土壤溫度(LM60B美國國家半導體公司);1個相對濕度傳感器(高分子電容式傳感器);兩個太陽輻射傳感器(TSL251和TSL230德州儀器)。
圖5 路由節(jié)點電源電流消耗Fig.5 Power supply current consumption of the end device as a router
圖5為路由節(jié)點的電源電流消耗圖,從圖中可以看到,路由器加入的過程(最初的2s),在這個過程中,傳感器節(jié)點按預期運行,路由設備從終端傳感器將數(shù)據(jù)路由到協(xié)調(diào)器,反之亦然??梢钥闯觯陔娫垂芾硐到y(tǒng)運行的任何階段,電流的消耗都在50ma左右,這需要從周圍環(huán)境中補充能量。
圖6顯示了位于溫室中的終端傳感器設備的電池電壓波形圖。電池由低功率的太陽能電池板供電,同時該電池板也用來測量太陽光照度。這一測量圖顯示了模擬量脈沖值,即只顯示電池的相關用途。在這6 d測試窗口里,電池一直保持在充電模式直到電壓達到將近4.2 V,這時候,軟件程序使電池保持在提供涓流充電機制的動態(tài)條件下??紤]到生產(chǎn)實際需要以及傳感器的應用范圍,數(shù)據(jù)以60秒的時間間隔被協(xié)調(diào)器接收。如圖所示的電壓波形圖已經(jīng)在中低等太陽輻射值(小于100 w·m2)下得到驗證,此時,電池只由太陽能充電。從圖中可以看出,即使在每60 s的數(shù)據(jù)傳輸時,電池電壓也均保持在3.9 V以上。
圖6 6天測試中終端設備電池電壓Fig.6 Battery voltage waveform of the end device during a 6-day evaluation
本研究分別在實驗室環(huán)境和設施園藝中心溫室的現(xiàn)場環(huán)境進行了試驗,通過實驗室電源和功耗的檢測以及育苗溫室的現(xiàn)場運行,驗證了激活狀態(tài)下電源的管理,實現(xiàn)了溫度、濕度及光強度的實時采集與顯示,即實現(xiàn)了基于ZigBee協(xié)議的信息無線采集。通過現(xiàn)場運行,電源供應持續(xù)穩(wěn)定,終端節(jié)點運行可靠。
本文通過兩個階段的試驗,顯示了基于ZigBee的無線傳感器網(wǎng)絡的可行性。同時為了實現(xiàn)育苗溫室現(xiàn)場環(huán)境的可靠精確運行,電源管理是該問題的關鍵所在。傳感器網(wǎng)絡節(jié)點可以通過太陽能充電電池,從環(huán)境中補充電能。本設計中,通過節(jié)點的軟件設計正確的實現(xiàn)了這些問題,并且對特殊情況下軟件方案的正確性進行了測試。實現(xiàn)了一種基于ZigBee的無線傳感器網(wǎng)絡的溫室環(huán)境監(jiān)測系統(tǒng),該系統(tǒng)能夠高效地采集溫室環(huán)境參數(shù),包括溫度、濕度、光強度,并且具有功耗低,可靠性高,電源供應穩(wěn)定的特點。由于本研究重點在于提高網(wǎng)絡的可靠性,今后還要進一步完善路由協(xié)議,提高無線傳感器網(wǎng)絡的實時性和穩(wěn)定性。
[1]ZigBee specification[EB/OL].(2006-06-05).http://www.zigbee.org.html.
[2]孫利民.無線傳感器網(wǎng)絡[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網(wǎng)絡的溫室環(huán)境遠程監(jiān)控系統(tǒng)設計與應用[J].農(nóng)業(yè)工程學報,2009,25(7):158-163.