文獻標識碼: A
文章編號: 0258-7998(2013)12-0086-04
傳統(tǒng)的農(nóng)業(yè)監(jiān)測系統(tǒng)往往采用有線組網(wǎng)技術(shù),。但由于農(nóng)業(yè)現(xiàn)代化迅速發(fā)展以及采集節(jié)點數(shù)目大幅增加,,所以布線的難度和成本也不斷地增加[1]。隨著農(nóng)業(yè)物聯(lián)網(wǎng)概念的深入,,GPRS無線通信技術(shù)開始快速發(fā)展,,它有著通信距離遠的優(yōu)勢,但成本也相對較高,。與此同時,,ZigBee無線通信技術(shù)也開始在畜牧業(yè)、種植業(yè)等領(lǐng)域有了廣泛的應用,。該通信方式性能穩(wěn)定,,技術(shù)成熟,最重要的一點就是成本較低,,符合中國農(nóng)業(yè)的可持續(xù)發(fā)展,。系統(tǒng)采用了太陽能電池優(yōu)先供電的方案,這很大程度地解決了一些場合沒有市電可供的問題,,同時也利用了清潔能源,。另外該設(shè)計采用了TI公司的超低功耗單片機MSP430,進一步降低了系統(tǒng)功耗,。
本文給出了一種基于ZigBee的農(nóng)業(yè)物聯(lián)網(wǎng)監(jiān)測系統(tǒng)方案。每個采集器可同時采集多達8路傳感器信號,,且通過RS232串口便可進行本地配置,。多個采集器節(jié)點可進行mesh組網(wǎng),能夠?qū)崟r與中央服務器之間進行數(shù)據(jù)交互,。在種植業(yè)的應用中,,系統(tǒng)共設(shè)有5種傳感器,分別是測量CO2濃度值,、土壤水分,、光照強度、空氣溫濕度和土壤溫度,,最終實現(xiàn)了對大棚環(huán)境的ZigBee無線智能監(jiān)測,。
1 系統(tǒng)結(jié)構(gòu)與基本原理
監(jiān)測系統(tǒng)總體框架設(shè)計如圖1所示,系統(tǒng)主要由采集器和中央服務器組成,。每個采集器主要由電源管理模塊,、傳感器,、信號調(diào)理和采集電路,、MSP430單片機,、ZigBee模塊、RS232串口模塊等組成,,用于采集并發(fā)送各路傳感器信號,。中央服務器則擁有平臺軟件和ZigBee協(xié)調(diào)器,用于接收和保存數(shù)據(jù),、配置參數(shù),、保存報警信息等。
傳感器上電,,當采集等待時間結(jié)束時,,對多路傳感器進行信號采集,即信號經(jīng)過調(diào)理后,,模擬傳感器信號通過AD7689進行模數(shù)轉(zhuǎn)換,,數(shù)字傳感器信號通過單總線方式進行采集。采集完畢后,,使傳感器斷電,。單片機對數(shù)據(jù)進行轉(zhuǎn)化和處理后,最終由ZigBee模塊(設(shè)置成終端設(shè)備)通過天線將數(shù)據(jù)發(fā)送至中央服務器,。中央服務器配置參數(shù)時由ZigBee協(xié)調(diào)器發(fā)出命令,,采集器上的ZigBee模塊經(jīng)天線接收到要配置的參數(shù),即實現(xiàn)了遠程配置功能,。本地配置時通過RS232串口對每個采集器節(jié)點進行具體的參數(shù)配置即可,。采集器的總體框圖如圖2所示。
2 硬件設(shè)計與實現(xiàn)
2.1 電源管理設(shè)計
電源管理框圖如圖3所示,,太陽能電池和市電均可充當采集器的電源,。12 V~24 V的主電壓輸入經(jīng)LT8610電源芯片轉(zhuǎn)化得到3.7 V,再經(jīng)過LT1962線性穩(wěn)壓芯片轉(zhuǎn)化得到3.3 V電壓,。主電壓又經(jīng)另一路LT8610電源芯片轉(zhuǎn)化為5.8 V,,再經(jīng)過LM2941線性穩(wěn)壓芯片轉(zhuǎn)化得到5.3 V電壓。3.3 V電壓主要給單片機和放大器供電,,5.3 V電壓主要給傳感器供電,。通過對LT8610電源芯片的使能管腳的開斷控制,就可以實現(xiàn)對穩(wěn)壓芯片LM2941進行開斷的控制,從而實現(xiàn)對傳感器的供電開斷控制,。
2.2 信號調(diào)理電路設(shè)計
模擬信號調(diào)理電路如圖4所示,,4路傳感器輸出信號范圍都在0~5 V以內(nèi),由于A/D采樣基準為2.5 V,,因此傳感器輸出信號需通過調(diào)理電路處理,,使其輸出為其輸入的一半,。
數(shù)字信號調(diào)理電路如圖5所示。4路信號輸出為單總線信號,,電阻R118與電容C64起濾波作用,。當傳感器輸出線路拉得較遠時,上拉電阻R117可以減小由線路造成的壓降。電阻R212起到限流作用,,保護處理器,,鉗位管D11把輸入到處理器的信號幅值鉗住在-0.3 V~+3.6 V之間,保護處理器,。
2.3 ZigBee模塊接口設(shè)計
ZigBee模塊接口電路如圖6所示,,RXD、TXD與單片機的UART相連,,RESET1置低電平至少200 ns可讓ZigBee模塊復位重啟,。當該模塊配置為周期管腳休眠模式時, 給Module_
Sleep一個下降沿電平可喚醒該模塊。當ON/SLEEP輸出高電平時,,則表示模塊已被喚醒,。ASSOC可表示設(shè)備的網(wǎng)絡(luò)狀態(tài),若模塊沒有連接網(wǎng)絡(luò),,則ASSOC電平輸出高電平,。一旦模塊成功連接上網(wǎng)絡(luò),ASSOC以一定規(guī)則的時間間隔進行電平翻轉(zhuǎn),。
3 軟件設(shè)計與實現(xiàn)
3.1 系統(tǒng)流程簡介
系統(tǒng)分為兩種工作模式,。(1)低功耗模式,即在傳感器采集結(jié)束后馬上關(guān)斷傳感器,,此模式應用于太陽能供電的場合,。(2)連續(xù)工作模式,即在整個采集周期里不關(guān)斷傳感器,,此模式應用于市電供電的場合,。系統(tǒng)流程圖如圖7所示,系統(tǒng)初始化完成后進行系統(tǒng)自檢,。自檢內(nèi)容包括3.3 V,、5 V、電池電壓自檢,,以及外部RTC,、外部EEPROM的自檢。如果自檢后有故障,,則報警燈將閃爍,,并將報警碼存儲到外部EEPROM中,然后讓所有傳感器上電,。當采集等待時間結(jié)束時,,給外部ADC上電,,對模擬傳感器和電池電壓進行采樣。采樣結(jié)束讓ADC斷電,,再通過單總線方式對數(shù)字傳感器進行信號采集,。采集結(jié)束后,如果系統(tǒng)處于低功耗模式,,則關(guān)斷傳感器,,然后讀取當前實時時間,發(fā)送采集數(shù)據(jù)包至中央服務器,,等待下個采集周期到來。一旦采集周期到,,先判斷傳感器是否關(guān)斷,,如果仍是開啟狀態(tài),則再次對傳感器進行信號采集,,否則,,就重新讓所有傳感器上電,緊接著開啟下一個新的循環(huán),。
3.2 ZigBee模塊的軟件設(shè)計
ZigBee模塊采用美國DIGI公司的XBee Pro S2B,,通過X-CTU軟件可配置該模塊的具體參數(shù),如波特率,、局域網(wǎng)ID,、休眠模式等[3]。把一個ZigBee模塊配置為終端設(shè)備,,應用于采集器中,。然后把另一個ZigBee模塊配置為協(xié)調(diào)器,應用于中央服務器中,。為了適用低功耗場合,,系統(tǒng)將ZigBee模塊終端設(shè)備配置成周期和管腳休眠模式。協(xié)調(diào)器的休眠時間SP配置成5 s,。終端設(shè)備的休眠時間SP也配置為5 s,,休眠前時間ST配置為1 s。
采集器上的ZigBee模塊通過UART與單片機相連,。在模塊初始化過程中,,讀取信道、局域網(wǎng)ID,、別名,、信號強度、讀取和設(shè)置休眠模式,、休眠時間,、休眠前時間,。初始化完成后,發(fā)送設(shè)備注冊包,,用于節(jié)點地址,、MAC地址、網(wǎng)絡(luò)地址的綁定,,因為網(wǎng)絡(luò)地址會因某些情況發(fā)生變化,,且節(jié)點地址比MAC地址更容易記憶。數(shù)據(jù)的接收和發(fā)送均采用串口中斷,,同時使用該模塊的API通信方式,。當傳感器采集完畢后,ZigBee模塊即刻發(fā)送一個數(shù)據(jù)包,,數(shù)據(jù)信息包括節(jié)點地址,、系統(tǒng)狀態(tài)、上傳時間,、各路傳感器的類型和開關(guān)情況,以及各路傳感器采集值,,電池電量和信號強度。數(shù)據(jù)總長度達97 B,。當連續(xù)10次發(fā)送數(shù)據(jù)無回應時,,ZigBee模塊將重啟,并置網(wǎng)絡(luò)異常標志。一旦ZigBee模塊接收到回應后,,就會清除該異常標志,。
3.3 信號采集和處理模塊的軟件設(shè)計
4路模擬信號通過AD7689采樣,將實際電壓值(采樣值的2倍)直接上傳至中央服務器,,由平臺軟件將其轉(zhuǎn)化成濃度值,。4路數(shù)字信號則通過單總線方式讀取到空氣溫濕度值[2]和土壤溫度值。
采集過程大致如下:在采集傳感器信號時,,打開AD7689電源,,并延時100 ms,接著對各路模擬信號分別進行8次采樣,,每次采樣間隔為10 ms,,排除最大值和最小值,再求平均得到最終采樣值,。采樣完畢,關(guān)閉AD7689電源,。在對數(shù)字信號采集前,先關(guān)閉全局中斷,采集完畢后,開啟全局中斷,,原因是單總線通信對時序的要求非常嚴格,。本系統(tǒng)對各路數(shù)字傳感器分別進行連續(xù)2次采集,以保證數(shù)據(jù)的準確性,。
3.4 遠程配置與本地配置的軟件設(shè)計
中央服務器通過平臺軟件可發(fā)出一系列命令對每個采集器節(jié)點進行遠程配置,。平臺軟件會維護一個數(shù)據(jù)庫,。當采集器初始化完成后,會主動發(fā)出注冊包,,這時每個采集器節(jié)點的MAC地址,、網(wǎng)絡(luò)地址、節(jié)點地址都將綁定在一起,。因此平臺軟件在收到這個注冊包后,,便可對每個采集器節(jié)點進行遠程配置,如讀取和設(shè)置采集周期,、采集等待時間,、系統(tǒng)時間、系統(tǒng)工作模式等,。
通過RS232串口可對采集器進行本地配置,。串口波特率設(shè)定為9 600 B。本地配置采用MODBUS協(xié)議[4] 的RTU通信方式,,實現(xiàn)了一系列的功能,如讀取和清空報警信息,、讀取和設(shè)置儀器序列號,、讀取軟件版本號、電池電量和信號強度,,讀取和設(shè)置采集周期和采集等待時間,、系統(tǒng)時間、傳感器配置信息,、系統(tǒng)工作模式,、節(jié)點地址和ZigBee模塊的波特率等。
4 系統(tǒng)測試與總結(jié)
4.1 功耗測試
本次測試在接有5種傳感器的種植業(yè)環(huán)境下進行,,同時系統(tǒng)運行在低功耗模式下, 采集周期默認設(shè)置為10 min,,采集等待時間設(shè)置為4 min,剩余6 min傳感器處于關(guān)閉狀態(tài),。最終功耗記錄如表1所示,。
假定電池工作效率為0.9,則本系統(tǒng)可工作11天左右,,符合預期要求,。
4.2 通信距離測試
通過按鍵可將運行燈和報警燈轉(zhuǎn)換成網(wǎng)絡(luò)信號強度指示燈。網(wǎng)絡(luò)強度高的情況下,,兩盞燈常亮,;網(wǎng)絡(luò)強度中等的情況下,兩盞燈均2 s閃爍1 s,,網(wǎng)絡(luò)強度弱的情況下,,兩盞燈均5 s閃爍1 s,。經(jīng)過測試,在比較理想的條件下,,最大通信距離可到達500 m,。
4.3 組網(wǎng)測試
8臺采集器進行組網(wǎng),系統(tǒng)運行正常。中央服務器既可正常接收每個節(jié)點的數(shù)據(jù),也可正常進行遠程配置,且丟包率極低,。
本系統(tǒng)實現(xiàn)了低功耗的要求,,即在太陽能電池供電的情況下采集器能夠保證正常工作7天以上。通信距離也符合實際需求,。中央服務器可遠程地對各個采集器節(jié)點進行參數(shù)配置,,如配置采集周期和采集等待時間,為該系統(tǒng)增加了靈活性和實用性,。ZigBee組成的mesh網(wǎng)絡(luò)擁有健壯性好,、結(jié)構(gòu)靈活等優(yōu)點??傊痉桨笧檗r(nóng)業(yè)物聯(lián)網(wǎng)的無線監(jiān)測提供了一個很好的范例,。
參考文獻
[1] 韓華峰, 杜克明, 孫忠富,等.基于ZigBee網(wǎng)絡(luò)的溫室環(huán)境遠程監(jiān)控系統(tǒng)設(shè)計與應用[J]. 農(nóng)業(yè)工程學報, 2009,
25(7):158-163.
[2] 辛穎, 謝光忠, 蔣亞東. 基于ZigBee協(xié)議的溫度濕度無線傳感器網(wǎng)絡(luò)[J]. 傳感器與微系統(tǒng), 2006,25(7):82-84.
[3] Digi International,Inc.XBee/XBee-PRO ZB RF Modules[z].2010-11.
[4] PEFHANY S. MODBUS Protocol[EB/OL].[2013-07-18]. http://www.modicon.com/techpubs/toc7.html.