溫宗周,豆朋達,錢佳佳,周冬
(西安工程大學電子信息學院,西安710048)
基于ZigBee的智能灌溉系統(tǒng)設計
溫宗周,豆朋達,錢佳佳,周冬
(西安工程大學電子信息學院,西安710048)
設計開發(fā)了一種基于ZigBee技術實現(xiàn)農(nóng)田節(jié)水灌溉、施肥以及信息采集與處理的系統(tǒng)。系統(tǒng)采用CC2530、DHT11、TH-FDR2000、MPM4700和SRS-05VDC作為農(nóng)田溫濕度、土壤水分測量和無線管道壓力測量以及繼電器動作的終端。采用CC2530設計路由器和協(xié)調(diào)器,通過路由器接收協(xié)調(diào)器的命令或發(fā)送各節(jié)點數(shù)據(jù)給終端PC。使用C語言開發(fā)了上位機程序來控制數(shù)據(jù)的采集,最終實現(xiàn)了智能灌溉系統(tǒng)的各項功能。經(jīng)過實驗驗證,該設計具有精度高、功耗低、穩(wěn)定性好、可視化強,以及集成度高等優(yōu)點。
ZigBee;CC2530;智能灌溉;數(shù)據(jù)采集
[1]將ZigBee技術應用于農(nóng)業(yè)灌溉中,雖然實現(xiàn)了農(nóng)田無線灌溉,但是不能實時監(jiān)測農(nóng)田溫濕度、土壤墑情和輸水管道壓力等信息,這樣就造成灌溉不精確、范圍小、不及時或者超量灌溉。參考文獻[8]將GPRS技術和ZigBee技術應用于農(nóng)業(yè)灌溉中,同時使用各種傳感器來監(jiān)測農(nóng)田信息,實現(xiàn)了智能灌溉。但是設計中基于GPRS的協(xié)調(diào)器只能進行終端節(jié)點和PC機的通信,本身無法和終端節(jié)點一樣采集數(shù)據(jù),并且無法自身建立網(wǎng)絡以及進行網(wǎng)絡的維護。這樣既加大了設計難度,又浪費了資源,同時設計中采用太陽能電池供電,雖然設計先進,但是不切合實際并且增加了成本。使用太陽能電池供電,為了不被農(nóng)田作物遮擋,要豎立長桿高于農(nóng)作物處收集陽光。而農(nóng)作物都采用機械化收割,長桿對于收割非常不便,每次收割前都需拆除。因此,為了解決智能灌溉存在的高成本、范圍小、精度低等問題,設計開發(fā)了基于ZigBee技術的智能灌溉系統(tǒng),不僅大大增加了灌溉范圍,降低了功耗,提高了灌溉精度,而且可以實時監(jiān)測農(nóng)田信息進行智能灌溉。
系統(tǒng)主要由ZigBee終端節(jié)點、ZigBee路由器節(jié)點、ZigBee協(xié)調(diào)器節(jié)點以及上位機4部分組成,系統(tǒng)無線網(wǎng)絡部分構成樹形結構,系統(tǒng)結構圖如圖1所示。
圖1 系統(tǒng)結構圖
終端節(jié)點作為路由器節(jié)點的子節(jié)點,負責數(shù)據(jù)的采集和轉(zhuǎn)發(fā)。路由器節(jié)點作為協(xié)調(diào)器的子節(jié)點,增加了ZigBee無線網(wǎng)絡的覆蓋區(qū)域及健壯性,路由器負責終端節(jié)點和協(xié)調(diào)器節(jié)點間的通信,同時具有監(jiān)測網(wǎng)絡的功能。協(xié)調(diào)器節(jié)點通過GPRS模塊與上位機相連,負責建立和維護ZigBee網(wǎng)絡、傳遞路由器節(jié)點發(fā)送來的數(shù)據(jù)給上位機以及返回上位機的控制命令。上位機主要負責命令的發(fā)送以及供工作人員實時查看,并通過已設定的參數(shù)自主控制農(nóng)田的智能灌溉。
因為設備用于空曠、電力不便的農(nóng)田,所以供電是一個難點,加上太陽能電池的不便之處,因此在設計時充分考慮節(jié)能問題,在設備器件的選取上以功耗低為優(yōu)先考慮因素。CC2530芯片最大的特點就是低功耗以及自組網(wǎng),在接收和發(fā)射模式下,電流損耗分別低于27 m A和25 m A。兩節(jié)5號電池就可支持節(jié)點工作近一年時間,因此, ZigBee各節(jié)點均采用CC2530作為主控芯片。
系統(tǒng)硬件設計包括各個節(jié)點的硬件設計。系統(tǒng)各個節(jié)點的主控電路大部分相同,在此僅就終端節(jié)點核心模塊加以說明。模塊包括電源接口設計、天線電路設計和晶振電路設計。圖2所示為設計好的終端節(jié)點核心模塊。圖中,電源采用3.3 V供電,兩個外部晶振分別為32 MHz、32.769 8 k Hz,C14~C17分別為它們的去耦電容和土壤水分傳感器數(shù)據(jù)采集口與終端節(jié)點模塊P0.0引腳連接,另外兩個引腳分別連接電源和GND。DHT11溫濕度傳感器數(shù)據(jù)采集口與終端節(jié)點模塊的P1.1引腳連接,另外兩個引腳分別連接電源和GND。MPM4700型智能液位變送器與終端節(jié)點模塊的P0.1引腳連接,輸出4~20 m A電流,之后用電阻將電流信號轉(zhuǎn)換成電壓信號輸出,輸出電壓為0.6~3 V。繼電器選用SRS-05 VDC型號,在電路中與終端節(jié)點模塊P0.7引腳連接。
系統(tǒng)軟件設計的主要任務是實現(xiàn)無線網(wǎng)絡的組網(wǎng)以及各個節(jié)點的加入、傳感器數(shù)據(jù)的采集與發(fā)送、路由器與協(xié)調(diào)器的控制、GPRS模塊的控制以及繼電器的開關控制等。本系統(tǒng)所用的開發(fā)環(huán)境是IAR,采用的協(xié)議棧為TI的Z-STACK。使用C#設計開發(fā)了上位機程序,可通過人機交互的方式實時監(jiān)測和控制農(nóng)田的智能灌溉,也可設定參數(shù)實現(xiàn)智能灌溉。
3.1 協(xié)調(diào)器軟件設計
協(xié)調(diào)器組網(wǎng)包括協(xié)調(diào)器節(jié)點建立網(wǎng)絡、路由器節(jié)點加入網(wǎng)絡2個過程。協(xié)調(diào)器節(jié)點建立網(wǎng)絡時,首先初始化硬件設備,然后執(zhí)行掃描,選擇信道加入網(wǎng)絡,選擇1個唯一的PANID,并設置相應的PIB參數(shù)允許路由器節(jié)點加入網(wǎng)絡,最后選擇0x0000作為協(xié)調(diào)器的網(wǎng)絡地址。在路由器加入網(wǎng)絡后,協(xié)調(diào)器會自動給它們分配16位的網(wǎng)絡地址,協(xié)調(diào)器軟件設計流程圖如圖3所示。
本系統(tǒng)采用樹狀結構,節(jié)點地址由其父節(jié)點即協(xié)調(diào)器節(jié)點采用分布式地址方案進行分配,協(xié)調(diào)器確定整個網(wǎng)絡的數(shù)目,每個節(jié)點擁有一個網(wǎng)絡深度,用以指示其數(shù)據(jù)傳輸?shù)絽f(xié)調(diào)器的最小跳數(shù)。協(xié)調(diào)器的深度為0,而它的子節(jié)點(路由器節(jié)點)深度為1,也可得終端節(jié)點的深度為2。網(wǎng)絡的深度由協(xié)調(diào)器決定,在ZigBee網(wǎng)絡中,用Cm表示父節(jié)點的最大子節(jié)點數(shù),Lm為網(wǎng)絡的最大深度,Rm為最大路由數(shù),因此可以計算網(wǎng)絡中每個節(jié)點的工程函數(shù)Cskip(d),d是節(jié)點到協(xié)調(diào)器的深度,其函數(shù)式為:
首先一個子節(jié)點的地址被分配,子節(jié)點地址比父節(jié)點的地址多1,然后其余節(jié)點根據(jù)下式求出:
圖2 終端節(jié)點核心模塊電路
式中,1≤n≤(Cm-Rm),Aparent代表父節(jié)點的地址。
當協(xié)調(diào)器收到信息時,根據(jù)數(shù)據(jù)的第一個標識字符,判斷網(wǎng)絡地址是來自傳感器還是傳感器采集的數(shù)據(jù)。若是傳感器的,則把該地址存儲在協(xié)調(diào)器中,然后把此地址發(fā)送給上位機(PC),由上位機作進一步處理;若是傳感器采集的數(shù)據(jù)信息,則需要通過標識符進一步判斷。數(shù)據(jù)通過上位機界面進行顯示與操作,通過MSComm與CC2530進行通信。
圖3 協(xié)調(diào)器軟件設計流程圖
系統(tǒng)上電后,各個節(jié)點需將自身設備類型、節(jié)點網(wǎng)絡地址、父節(jié)點網(wǎng)絡地址發(fā)送給協(xié)調(diào)器,因此,需要設計一個數(shù)據(jù)結構,用來表示這個節(jié)點的信息,本文中設計的數(shù)據(jù)結構如表1所列。
表1 數(shù)據(jù)結構
3.2 路由器節(jié)點軟件設計
路由協(xié)議是無線傳感器網(wǎng)絡的核心技術之一,用于解決網(wǎng)絡的數(shù)據(jù)傳輸問題,是保證網(wǎng)絡性能的關鍵技術[8]。路由器接收到信息后,設備的地址計算方法使用Cskip(6)函數(shù),之后通過簡單的比較,判斷該向父節(jié)點發(fā)送還是向子節(jié)點發(fā)送。用A表示設備地址,D表示目的地址,如果A 路由器上電初始化后,需要申請加入?yún)f(xié)調(diào)器建立的網(wǎng)絡,當它成功加入網(wǎng)絡后,就工作于監(jiān)控狀態(tài)。監(jiān)控是否有終端節(jié)點申請加入網(wǎng)絡,如果有,則同樣需要給該節(jié)點分配網(wǎng)絡地址;判斷是否有從協(xié)調(diào)器發(fā)來的命令,如果有且是設置命令,則需要根據(jù)命令參數(shù)設置該節(jié)點,如果有且是讀狀態(tài)命令,則需要發(fā)送相應的節(jié)點工作狀態(tài)給協(xié)調(diào)器。 3.3 終端節(jié)點軟件設計 終端節(jié)點的軟件類似于路由器節(jié)點軟件,只是終端節(jié)點不支持其他節(jié)點的加入,它的主要任務是采集數(shù)據(jù)。終端節(jié)點模塊上電初始化后將掃描網(wǎng)絡,加入到建立好的網(wǎng)絡,搜索到路由器后便申請加入成為它的子節(jié)點,并進行注冊。 加入網(wǎng)絡后,路由器會給子節(jié)點分配16位網(wǎng)絡地址,之后,終端節(jié)點把16位網(wǎng)絡地址由路由器發(fā)給協(xié)調(diào)器,設備工作時將周期地輪詢路由器,監(jiān)測是否有來自協(xié)調(diào)器采集數(shù)據(jù)的命令。當接收到主節(jié)點發(fā)出經(jīng)路由器轉(zhuǎn)發(fā)的查詢信號后,終端節(jié)點根據(jù)上位機設定的采樣間隔來采集傳感器的數(shù)據(jù),并通過無線路由器轉(zhuǎn)發(fā)至協(xié)調(diào)器。終端節(jié)點軟件設計流程圖如圖4所示。 圖4 終端節(jié)點軟件設計流程圖 3.4 傳感器軟件設計 (1)DHT11軟件設計 DHT11接收到主機的開始信號,此時主機把總線拉低(必須大于18 ms),保證DHT11能檢測到開始信號。等待主機開始信號結束,然后發(fā)送80μs低電平信號,延時等待20~40μs后,讀取DHT11的響應信號。當總線為低電平時,說明DHT11已發(fā)送響應信號,之后,再把總線拉高80μs,準備發(fā)送數(shù)據(jù),共送出40位的數(shù)據(jù),每一位數(shù)據(jù)都以50μs低電平間隔開始,高電平的長短決定了數(shù)據(jù)位是0還是1,短的是0,長的是1。但如果響應信號為高電平,則說明DHT11沒有響應。當最后一位數(shù)據(jù)傳送完畢后,拉低總線50μs,隨后總線由上拉電阻拉高,重新進入空閑狀態(tài)。一次完整的數(shù)據(jù)傳輸為40位,從高位輸出。數(shù)據(jù)格式為8位濕度整數(shù)數(shù)據(jù)+8位濕度小數(shù)數(shù)據(jù)+ 8位溫度整數(shù)數(shù)據(jù)+8位溫度小數(shù)數(shù)據(jù)+8位校驗和。數(shù)據(jù)傳送正確時,校驗和數(shù)據(jù)等于所得結果的末8位,分辨率分別為8位(溫度)、8位(濕度)。 (2)TH-FDR2000土壤水分傳感器 本設計選擇0~2.5 V電壓輸出,采用控制器CC2530自帶的ADC進行采樣,ADC參考電壓選擇CC2530內(nèi)部穩(wěn)壓器生成的參考電壓,在AVDD5引腳的參考電壓為3 V,可以滿足采集要求。 以下是土壤容積含水量的標定公式: θv代表土壤容積含水量;V代表采集器采集到的電壓值,單位為V。 (3)MPM4700壓力變送器 本傳感器為4~20 m A電流輸出,電流轉(zhuǎn)換電路中的電阻選用150Ω的精密電阻,可以將電流轉(zhuǎn)換為0.6~ 3 V的電壓,使采樣電路的精度達到最高。使用控制器CC2530自帶的ADC進行采樣。用P代表管道壓強,單位為m(H2O);U代表輸出電壓,單位為V,得出的壓力計算公式為: 將m(H2O)轉(zhuǎn)換成k Pa,1 m(H2O)=10 kPa,即壓力與電壓的函數(shù)關系為: 智能灌溉系統(tǒng)的應用,主要是對各個傳感器數(shù)據(jù)的采集,以及對繼電器動作的控制。實驗步驟如下: ①選擇地勢開闊,類似于農(nóng)田的地點測試,將協(xié)調(diào)器上電,GPRS模塊調(diào)試成功并與上位機建立連接,之后將路由器節(jié)點放置在與協(xié)調(diào)器距離約70 m的地方。協(xié)調(diào)器上電建立好網(wǎng)絡后,路由器加入網(wǎng)絡,然后將終端節(jié)點放置于距離路由器約70 m,與協(xié)調(diào)器約140 m成樹狀網(wǎng)的地方,之后上電加入網(wǎng)絡,等待協(xié)調(diào)器的控制指令。各個節(jié)點模塊實物圖如圖5所示。 圖5 設計實物圖 ②設備安裝調(diào)試完畢后進行實驗,上位機發(fā)送采集命令給各個分節(jié)點,各個終端節(jié)點收到命令后,開始采集數(shù)據(jù)。根據(jù)設定好的采樣間隔發(fā)送數(shù)據(jù)給路由器,接著路由器將數(shù)據(jù)發(fā)送給協(xié)調(diào)器,經(jīng)GPRS傳輸顯示在上位機界面上,可以實時查看收到的數(shù)據(jù),然后控制繼電器的動作。實驗中,在某一終端節(jié)點處改變土壤墑情,上位機成功地實現(xiàn)了控制;另外改變溫濕度或者輸水管道壓力,系統(tǒng)工作正常,實驗成功,上位機界面圖如圖6所示。 圖6 數(shù)據(jù)采集顯示界面 ③施肥時,將肥料撒入水池中,開啟攪拌器,充分將肥料溶入水中,通過輸水管道進行施肥,這樣施肥可以增加對肥料的吸收,降低浪費。 ④自主控制時,上位機此時已經(jīng)設置好了各個參數(shù)值,當采集的數(shù)據(jù)值低于設定參數(shù)時,啟動繼電器進行灌溉,當壓力值低于設定值時,開啟水泵對輸水管道加壓,當再次采集回來的值大于設定參數(shù)時,關閉繼電器,停止灌溉。 本文對智能灌溉國內(nèi)外現(xiàn)狀進行分析,提出了基于ZigBee技術的智能灌溉系統(tǒng)的設計方案,設計開發(fā)了相應的終端節(jié)點、路由器節(jié)點和協(xié)調(diào)器節(jié)點。同時對各個模塊硬件、軟件進行了設計,最后完成了各個模塊的組網(wǎng)、數(shù)據(jù)采集、數(shù)據(jù)傳輸和控制指令的執(zhí)行,實現(xiàn)了智能灌溉系統(tǒng)的設計。實驗結果表明,本文設計的智能灌溉系統(tǒng)有效解決了農(nóng)田無線智能灌溉面臨的問題,而且實用性強、操作簡單。 參考文獻 [1]趙翠儉,孫素靜,李莉,等.基于無線傳感器網(wǎng)絡的智能灌溉系統(tǒng)設計[J].信息化研究,2013,8(4):44-47. [2]高守瑋,吳燦陽.ZigBee實踐教程[M].北京:北京航空航天大學出版社,2009. [3]王慧斌,肖賢建,嚴錫君.無線傳感器檢測網(wǎng)絡信息處理技術[M].北京:國防工業(yè)出版社,2010. [4]陜西頤信網(wǎng)絡科技有限責任公司.TH- FDR2000型土壤水分傳感器產(chǎn)品使用書,2014. [5]荊磊.簡析Zigbee技術的適用[J].現(xiàn)代工業(yè)經(jīng)濟和信息化, 2014(6):85-89. [6]張正軍.淺析ZigBee技術[J].工程技術,2011(23):86-91. [7]王小強,歐陽駿,黃寧淋.ZigBee無線傳感器網(wǎng)絡設計與實現(xiàn)[M].北京:化學工業(yè)出版社,2012. [8]張?zhí)K穎.基于物聯(lián)網(wǎng)的智能節(jié)水灌溉控制網(wǎng)絡設計[J].電子科技,2013,8(8):139-145. [9]德州儀器公司.CC2530數(shù)據(jù)手冊,2009. [10]Kim Y,Evans RG,Iversen WM.Evaluation of closed-loop site-specific irrigat-ion with wireless sensor network[J]. Journal of Irrigation and Drainage Engineering,2009,135 (1):25-31. 溫宗周(副教授),豆朋達、錢佳佳(碩士研究生):主要研究方向為嵌入式系統(tǒng)應用與開發(fā)。 Intelligent Irrigation System Based on ZigBee Wen Zongzhou,Dou Pengda,Qian Jiajia,Zhou Dong In the paper,a water-saving irrigation,fertilization and information acquisition and processing system is proposed based on Zig-Bee technology.The system uses CC2530,DHT11,TH-FDR2000,MPM4700 and SRS-05VDCin the fields of temperature and humidity, soil moisture measurement and pipeline pressure measurement and wireless relay terminal.The CC2530 is used to design the router and coordinator.The router receives the command or coordinator sends the each node data to the PC.The C language is used to develop the upper program to control the data collection.The functions of the intelligent irrigation system all are achieved.The experiment results show that the design has the advantages of high precision,low-power consumption,good stability,strong visualization and high integration. ZigBee;CC2530;intelligent irrigation;data acquisition S275.4 :A 引 言 薛士然 2016-05-23) 由于資金、技術等方面的原因,我國農(nóng)田多數(shù)沿用傳統(tǒng)落后的漫灌,而漫灌對于水資源是極大地浪費[1]。隨著社會現(xiàn)代化的發(fā)展,因農(nóng)業(yè)技術滯后造成的經(jīng)濟損失逐年增多。“十三五”規(guī)劃提出要靠創(chuàng)新驅(qū)動,發(fā)揮科技的乘數(shù)效應來發(fā)展現(xiàn)代化農(nóng)業(yè)技術,促進節(jié)水、環(huán)保以及小康社會的全面建成,因此發(fā)展先進農(nóng)業(yè)技術對我國至關重要。傳統(tǒng)的滴灌控制多采用有線方式,且只通過觀察地表潮濕度來進行灌溉,這樣不僅造成水資源和人力的浪費,而且灌溉不精確。因此,為了解決有線傳輸存在的問題,無線通信技術被不斷應用于農(nóng)業(yè)灌溉中。4 實驗驗證
結 語
(College of Electronics and Information,Xi’an Polytechnic University,Xi’an 710048,China)