《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于ZigBee的農(nóng)業(yè)物聯(lián)網(wǎng)監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)
基于ZigBee的農(nóng)業(yè)物聯(lián)網(wǎng)監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)
來源:電子技術(shù)應(yīng)用2013年第12期
曹明勤1, 張 濤2, 王 健1,2
1. 杭州電子科技大學 電子信息學院,浙江 杭州 310018; 2. 聚光科技(杭州)股份有限公司,浙江 杭州 310052
摘要: 針對目前的農(nóng)業(yè)物聯(lián)網(wǎng)系統(tǒng),提出了一種基于ZigBee的監(jiān)測技術(shù)的實現(xiàn)方法。在每個采集周期里,數(shù)據(jù)采集器會主動采集一次傳感器的數(shù)據(jù)并上報至中央服務(wù)器。系統(tǒng)可組網(wǎng),各個分散的節(jié)點自動加入mesh網(wǎng)絡(luò),中央服務(wù)器也可遠程對各個節(jié)點進行參數(shù)配置。由于采用太陽能電池優(yōu)先供電的方案,因此該系統(tǒng)實現(xiàn)了低成本、低功耗和高性能三者的平衡。
中圖分類號: TP277
文獻標識碼: A
文章編號: 0258-7998(2013)12-0086-04
Design and implementation of monitoring system for agricultural IoT based on ZigBee
Cao Mingqin1, Zhang Tao2, Wang Jian1,2
1. School of Electronic Information,Hangzhou Electronic Science Technology University,Hangzhou 310018,China; 2. Focused Photonics Inc,Hangzhou 310052,China
Abstract: Regarding to recent agricultural IoT, we propose an implementation of monitoring technology based on ZigBee. In every collecting period, data collector will once collect data from sensors initiatively and then send data to central server. This system can construct network, so every distributed node can join the mesh network automatically and also central server can remotely configure parameters of each node. Because solar battery is preferred for charging, this system achieves a balanced combination of low cost, low power and high performance.
Key words : agricultural IoT; ZigBee technology; network construction; data collector; remote monitoring

    傳統(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)域有了廣泛的應(yī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與中央服務(wù)器之間進行數(shù)據(jù)交互。在種植業(yè)的應(yīng)用中,系統(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)主要由采集器和中央服務(wù)器組成。每個采集器主要由電源管理模塊、傳感器、信號調(diào)理和采集電路、MSP430單片機、ZigBee模塊、RS232串口模塊等組成,用于采集并發(fā)送各路傳感器信號。中央服務(wù)器則擁有平臺軟件和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ā)送至中央服務(wù)器。中央服務(wù)器配置參數(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)斷傳感器,此模式應(yīng)用于太陽能供電的場合。(2)連續(xù)工作模式,即在整個采集周期里不關(guān)斷傳感器,此模式應(yīng)用于市電供電的場合。系統(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ù)包至中央服務(wù)器,等待下個采集周期到來。一旦采集周期到,先判斷傳感器是否關(guān)斷,如果仍是開啟狀態(tài),則再次對傳感器進行信號采集,否則,就重新讓所有傳感器上電,緊接著開啟下一個新的循環(huán)。

3.2  ZigBee模塊的軟件設(shè)計
    ZigBee模塊采用美國DIGI公司的XBee Pro S2B,通過X-CTU軟件可配置該模塊的具體參數(shù),如波特率、局域網(wǎng)ID、休眠模式等[3]。把一個ZigBee模塊配置為終端設(shè)備,應(yīng)用于采集器中。然后把另一個ZigBee模塊配置為協(xié)調(diào)器,應(yīng)用于中央服務(wù)器中。為了適用低功耗場合,系統(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ù)無回應(yīng)時,ZigBee模塊將重啟,并置網(wǎng)絡(luò)異常標志。一旦ZigBee模塊接收到回應(yīng)后,就會清除該異常標志。
3.3 信號采集和處理模塊的軟件設(shè)計
   4路模擬信號通過AD7689采樣,將實際電壓值(采樣值的2倍)直接上傳至中央服務(wù)器,由平臺軟件將其轉(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è)計

 


    中央服務(wù)器通過平臺軟件可發(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)運行正常。中央服務(wù)器既可正常接收每個節(jié)點的數(shù)據(jù),也可正常進行遠程配置,且丟包率極低。
    本系統(tǒng)實現(xiàn)了低功耗的要求,即在太陽能電池供電的情況下采集器能夠保證正常工作7天以上。通信距離也符合實際需求。中央服務(wù)器可遠程地對各個采集器節(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è)計與應(yīng)用[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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。