《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于ZigBee的農(nóng)業(yè)物聯(lián)網(wǎng)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于ZigBee的農(nóng)業(yè)物聯(lián)網(wǎng)監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
來源:電子技術(shù)應(yīng)用2013年第12期
曹明勤1, 張 濤2, 王 健1,2
1. 杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州 310018; 2. 聚光科技(杭州)股份有限公司,浙江 杭州 310052
摘要: 針對(duì)目前的農(nóng)業(yè)物聯(lián)網(wǎng)系統(tǒng),提出了一種基于ZigBee的監(jiān)測(cè)技術(shù)的實(shí)現(xiàn)方法。在每個(gè)采集周期里,數(shù)據(jù)采集器會(huì)主動(dòng)采集一次傳感器的數(shù)據(jù)并上報(bào)至中央服務(wù)器。系統(tǒng)可組網(wǎng),各個(gè)分散的節(jié)點(diǎn)自動(dòng)加入mesh網(wǎng)絡(luò),中央服務(wù)器也可遠(yuǎn)程對(duì)各個(gè)節(jié)點(diǎn)進(jìn)行參數(shù)配置。由于采用太陽(yáng)能電池優(yōu)先供電的方案,因此該系統(tǒng)實(shí)現(xiàn)了低成本、低功耗和高性能三者的平衡。
中圖分類號(hào): TP277
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 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)測(cè)系統(tǒng)往往采用有線組網(wǎng)技術(shù)。但由于農(nóng)業(yè)現(xiàn)代化迅速發(fā)展以及采集節(jié)點(diǎn)數(shù)目大幅增加,所以布線的難度和成本也不斷地增加[1]。隨著農(nóng)業(yè)物聯(lián)網(wǎng)概念的深入,GPRS無線通信技術(shù)開始快速發(fā)展,它有著通信距離遠(yuǎn)的優(yōu)勢(shì),但成本也相對(duì)較高。與此同時(shí),ZigBee無線通信技術(shù)也開始在畜牧業(yè)、種植業(yè)等領(lǐng)域有了廣泛的應(yīng)用。該通信方式性能穩(wěn)定,技術(shù)成熟,最重要的一點(diǎn)就是成本較低,符合中國(guó)農(nóng)業(yè)的可持續(xù)發(fā)展。系統(tǒng)采用了太陽(yáng)能電池優(yōu)先供電的方案,這很大程度地解決了一些場(chǎng)合沒有市電可供的問題,同時(shí)也利用了清潔能源。另外該設(shè)計(jì)采用了TI公司的超低功耗單片機(jī)MSP430,進(jìn)一步降低了系統(tǒng)功耗。

    本文給出了一種基于ZigBee的農(nóng)業(yè)物聯(lián)網(wǎng)監(jiān)測(cè)系統(tǒng)方案。每個(gè)采集器可同時(shí)采集多達(dá)8路傳感器信號(hào),且通過RS232串口便可進(jìn)行本地配置。多個(gè)采集器節(jié)點(diǎn)可進(jìn)行mesh組網(wǎng),能夠?qū)崟r(shí)與中央服務(wù)器之間進(jìn)行數(shù)據(jù)交互。在種植業(yè)的應(yīng)用中,系統(tǒng)共設(shè)有5種傳感器,分別是測(cè)量CO2濃度值、土壤水分、光照強(qiáng)度、空氣溫濕度和土壤溫度,最終實(shí)現(xiàn)了對(duì)大棚環(huán)境的ZigBee無線智能監(jiān)測(cè)。
1 系統(tǒng)結(jié)構(gòu)與基本原理
    監(jiān)測(cè)系統(tǒng)總體框架設(shè)計(jì)如圖1所示,系統(tǒng)主要由采集器和中央服務(wù)器組成。每個(gè)采集器主要由電源管理模塊、傳感器、信號(hào)調(diào)理和采集電路、MSP430單片機(jī)、ZigBee模塊、RS232串口模塊等組成,用于采集并發(fā)送各路傳感器信號(hào)。中央服務(wù)器則擁有平臺(tái)軟件和ZigBee協(xié)調(diào)器,用于接收和保存數(shù)據(jù)、配置參數(shù)、保存報(bào)警信息等。

    傳感器上電,當(dāng)采集等待時(shí)間結(jié)束時(shí),對(duì)多路傳感器進(jìn)行信號(hào)采集,即信號(hào)經(jīng)過調(diào)理后,模擬傳感器信號(hào)通過AD7689進(jìn)行模數(shù)轉(zhuǎn)換,數(shù)字傳感器信號(hào)通過單總線方式進(jìn)行采集。采集完畢后,使傳感器斷電。單片機(jī)對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)化和處理后,最終由ZigBee模塊(設(shè)置成終端設(shè)備)通過天線將數(shù)據(jù)發(fā)送至中央服務(wù)器。中央服務(wù)器配置參數(shù)時(shí)由ZigBee協(xié)調(diào)器發(fā)出命令,采集器上的ZigBee模塊經(jīng)天線接收到要配置的參數(shù),即實(shí)現(xiàn)了遠(yuǎn)程配置功能。本地配置時(shí)通過RS232串口對(duì)每個(gè)采集器節(jié)點(diǎn)進(jìn)行具體的參數(shù)配置即可。采集器的總體框圖如圖2所示。

2 硬件設(shè)計(jì)與實(shí)現(xiàn)
2.1 電源管理設(shè)計(jì)

    電源管理框圖如圖3所示,太陽(yáng)能電池和市電均可充當(dāng)采集器的電源。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電壓主要給單片機(jī)和放大器供電,5.3 V電壓主要給傳感器供電。通過對(duì)LT8610電源芯片的使能管腳的開斷控制,就可以實(shí)現(xiàn)對(duì)穩(wěn)壓芯片LM2941進(jìn)行開斷的控制,從而實(shí)現(xiàn)對(duì)傳感器的供電開斷控制。

2.2 信號(hào)調(diào)理電路設(shè)計(jì)
     模擬信號(hào)調(diào)理電路如圖4所示,4路傳感器輸出信號(hào)范圍都在0~5 V以內(nèi),由于A/D采樣基準(zhǔn)為2.5 V,因此傳感器輸出信號(hào)需通過調(diào)理電路處理,使其輸出為其輸入的一半。

     數(shù)字信號(hào)調(diào)理電路如圖5所示。4路信號(hào)輸出為單總線信號(hào),電阻R118與電容C64起濾波作用。當(dāng)傳感器輸出線路拉得較遠(yuǎn)時(shí),上拉電阻R117可以減小由線路造成的壓降。電阻R212起到限流作用,保護(hù)處理器,鉗位管D11把輸入到處理器的信號(hào)幅值鉗住在-0.3 V~+3.6 V之間,保護(hù)處理器。

2.3 ZigBee模塊接口設(shè)計(jì)
 ZigBee模塊接口電路如圖6所示,RXD、TXD與單片機(jī)的UART相連,RESET1置低電平至少200 ns可讓ZigBee模塊復(fù)位重啟。當(dāng)該模塊配置為周期管腳休眠模式時(shí), 給Module_
Sleep一個(gè)下降沿電平可喚醒該模塊。當(dāng)ON/SLEEP輸出高電平時(shí),則表示模塊已被喚醒。ASSOC可表示設(shè)備的網(wǎng)絡(luò)狀態(tài),若模塊沒有連接網(wǎng)絡(luò),則ASSOC電平輸出高電平。一旦模塊成功連接上網(wǎng)絡(luò),ASSOC以一定規(guī)則的時(shí)間間隔進(jìn)行電平翻轉(zhuǎn)。
3 軟件設(shè)計(jì)與實(shí)現(xiàn)
3.1 系統(tǒng)流程簡(jiǎn)介

    系統(tǒng)分為兩種工作模式。(1)低功耗模式,即在傳感器采集結(jié)束后馬上關(guān)斷傳感器,此模式應(yīng)用于太陽(yáng)能供電的場(chǎng)合。(2)連續(xù)工作模式,即在整個(gè)采集周期里不關(guān)斷傳感器,此模式應(yīng)用于市電供電的場(chǎng)合。系統(tǒng)流程圖如圖7所示,系統(tǒng)初始化完成后進(jìn)行系統(tǒng)自檢。自檢內(nèi)容包括3.3 V、5 V、電池電壓自檢,以及外部RTC、外部EEPROM的自檢。如果自檢后有故障,則報(bào)警燈將閃爍,并將報(bào)警碼存儲(chǔ)到外部EEPROM中,然后讓所有傳感器上電。當(dāng)采集等待時(shí)間結(jié)束時(shí),給外部ADC上電,對(duì)模擬傳感器和電池電壓進(jìn)行采樣。采樣結(jié)束讓ADC斷電,再通過單總線方式對(duì)數(shù)字傳感器進(jìn)行信號(hào)采集。采集結(jié)束后,如果系統(tǒng)處于低功耗模式,則關(guān)斷傳感器,然后讀取當(dāng)前實(shí)時(shí)時(shí)間,發(fā)送采集數(shù)據(jù)包至中央服務(wù)器,等待下個(gè)采集周期到來。一旦采集周期到,先判斷傳感器是否關(guān)斷,如果仍是開啟狀態(tài),則再次對(duì)傳感器進(jìn)行信號(hào)采集,否則,就重新讓所有傳感器上電,緊接著開啟下一個(gè)新的循環(huán)。

3.2  ZigBee模塊的軟件設(shè)計(jì)
    ZigBee模塊采用美國(guó)DIGI公司的XBee Pro S2B,通過X-CTU軟件可配置該模塊的具體參數(shù),如波特率、局域網(wǎng)ID、休眠模式等[3]。把一個(gè)ZigBee模塊配置為終端設(shè)備,應(yīng)用于采集器中。然后把另一個(gè)ZigBee模塊配置為協(xié)調(diào)器,應(yīng)用于中央服務(wù)器中。為了適用低功耗場(chǎng)合,系統(tǒng)將ZigBee模塊終端設(shè)備配置成周期和管腳休眠模式。協(xié)調(diào)器的休眠時(shí)間SP配置成5 s。終端設(shè)備的休眠時(shí)間SP也配置為5 s,休眠前時(shí)間ST配置為1 s。
     采集器上的ZigBee模塊通過UART與單片機(jī)相連。在模塊初始化過程中,讀取信道、局域網(wǎng)ID、別名、信號(hào)強(qiáng)度、讀取和設(shè)置休眠模式、休眠時(shí)間、休眠前時(shí)間。初始化完成后,發(fā)送設(shè)備注冊(cè)包,用于節(jié)點(diǎn)地址、MAC地址、網(wǎng)絡(luò)地址的綁定,因?yàn)榫W(wǎng)絡(luò)地址會(huì)因某些情況發(fā)生變化,且節(jié)點(diǎn)地址比MAC地址更容易記憶。數(shù)據(jù)的接收和發(fā)送均采用串口中斷,同時(shí)使用該模塊的API通信方式。當(dāng)傳感器采集完畢后,ZigBee模塊即刻發(fā)送一個(gè)數(shù)據(jù)包,數(shù)據(jù)信息包括節(jié)點(diǎn)地址、系統(tǒng)狀態(tài)、上傳時(shí)間、各路傳感器的類型和開關(guān)情況,以及各路傳感器采集值,電池電量和信號(hào)強(qiáng)度。數(shù)據(jù)總長(zhǎng)度達(dá)97 B。當(dāng)連續(xù)10次發(fā)送數(shù)據(jù)無回應(yīng)時(shí),ZigBee模塊將重啟,并置網(wǎng)絡(luò)異常標(biāo)志。一旦ZigBee模塊接收到回應(yīng)后,就會(huì)清除該異常標(biāo)志。
3.3 信號(hào)采集和處理模塊的軟件設(shè)計(jì)
   4路模擬信號(hào)通過AD7689采樣,將實(shí)際電壓值(采樣值的2倍)直接上傳至中央服務(wù)器,由平臺(tái)軟件將其轉(zhuǎn)化成濃度值。4路數(shù)字信號(hào)則通過單總線方式讀取到空氣溫濕度值[2]和土壤溫度值。
    采集過程大致如下:在采集傳感器信號(hào)時(shí),打開AD7689電源,并延時(shí)100 ms,接著對(duì)各路模擬信號(hào)分別進(jìn)行8次采樣,每次采樣間隔為10 ms,排除最大值和最小值,再求平均得到最終采樣值。采樣完畢,關(guān)閉AD7689電源。在對(duì)數(shù)字信號(hào)采集前,先關(guān)閉全局中斷,采集完畢后,開啟全局中斷,原因是單總線通信對(duì)時(shí)序的要求非常嚴(yán)格。本系統(tǒng)對(duì)各路數(shù)字傳感器分別進(jìn)行連續(xù)2次采集,以保證數(shù)據(jù)的準(zhǔn)確性。
3.4 遠(yuǎn)程配置與本地配置的軟件設(shè)計(jì)

 


    中央服務(wù)器通過平臺(tái)軟件可發(fā)出一系列命令對(duì)每個(gè)采集器節(jié)點(diǎn)進(jìn)行遠(yuǎn)程配置。平臺(tái)軟件會(huì)維護(hù)一個(gè)數(shù)據(jù)庫(kù)。當(dāng)采集器初始化完成后,會(huì)主動(dòng)發(fā)出注冊(cè)包,這時(shí)每個(gè)采集器節(jié)點(diǎn)的MAC地址、網(wǎng)絡(luò)地址、節(jié)點(diǎn)地址都將綁定在一起。因此平臺(tái)軟件在收到這個(gè)注冊(cè)包后,便可對(duì)每個(gè)采集器節(jié)點(diǎn)進(jìn)行遠(yuǎn)程配置,如讀取和設(shè)置采集周期、采集等待時(shí)間、系統(tǒng)時(shí)間、系統(tǒng)工作模式等。
    通過RS232串口可對(duì)采集器進(jìn)行本地配置。串口波特率設(shè)定為9 600 B。本地配置采用MODBUS協(xié)議[4] 的RTU通信方式,實(shí)現(xiàn)了一系列的功能,如讀取和清空?qǐng)?bào)警信息、讀取和設(shè)置儀器序列號(hào)、讀取軟件版本號(hào)、電池電量和信號(hào)強(qiáng)度,讀取和設(shè)置采集周期和采集等待時(shí)間、系統(tǒng)時(shí)間、傳感器配置信息、系統(tǒng)工作模式、節(jié)點(diǎn)地址和ZigBee模塊的波特率等。
4 系統(tǒng)測(cè)試與總結(jié)
4.1 功耗測(cè)試

     本次測(cè)試在接有5種傳感器的種植業(yè)環(huán)境下進(jìn)行,同時(shí)系統(tǒng)運(yùn)行在低功耗模式下, 采集周期默認(rèn)設(shè)置為10 min,采集等待時(shí)間設(shè)置為4 min,剩余6 min傳感器處于關(guān)閉狀態(tài)。最終功耗記錄如表1所示。

    假定電池工作效率為0.9,則本系統(tǒng)可工作11天左右,符合預(yù)期要求。
4.2 通信距離測(cè)試
    通過按鍵可將運(yùn)行燈和報(bào)警燈轉(zhuǎn)換成網(wǎng)絡(luò)信號(hào)強(qiáng)度指示燈。網(wǎng)絡(luò)強(qiáng)度高的情況下,兩盞燈常亮;網(wǎng)絡(luò)強(qiáng)度中等的情況下,兩盞燈均2 s閃爍1 s,網(wǎng)絡(luò)強(qiáng)度弱的情況下,兩盞燈均5 s閃爍1 s。經(jīng)過測(cè)試,在比較理想的條件下,最大通信距離可到達(dá)500 m。
4.3 組網(wǎng)測(cè)試
    8臺(tái)采集器進(jìn)行組網(wǎng),系統(tǒng)運(yùn)行正常。中央服務(wù)器既可正常接收每個(gè)節(jié)點(diǎn)的數(shù)據(jù),也可正常進(jìn)行遠(yuǎn)程配置,且丟包率極低。
    本系統(tǒng)實(shí)現(xiàn)了低功耗的要求,即在太陽(yáng)能電池供電的情況下采集器能夠保證正常工作7天以上。通信距離也符合實(shí)際需求。中央服務(wù)器可遠(yuǎn)程地對(duì)各個(gè)采集器節(jié)點(diǎn)進(jìn)行參數(shù)配置,如配置采集周期和采集等待時(shí)間,為該系統(tǒng)增加了靈活性和實(shí)用性。ZigBee組成的mesh網(wǎng)絡(luò)擁有健壯性好、結(jié)構(gòu)靈活等優(yōu)點(diǎn)??傊痉桨笧檗r(nóng)業(yè)物聯(lián)網(wǎng)的無線監(jiān)測(cè)提供了一個(gè)很好的范例。
參考文獻(xiàn)
[1] 韓華峰, 杜克明, 孫忠富,等.基于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.
[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)載。