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