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