




摘要:采用傳感器技術(shù)和無(wú)線通信技術(shù)設(shè)計(jì)了一套集監(jiān)控、管理于一體的智能溫室系統(tǒng)。系統(tǒng)以CC2530為主控制器,以ZigBee協(xié)議棧為通信基礎(chǔ),將溫室的環(huán)境信息以GPRS方式傳送到控制中心。控制中心對(duì)采集的數(shù)據(jù)進(jìn)行分析處理,發(fā)出對(duì)應(yīng)的控制命令,以實(shí)現(xiàn)溫室作物生長(zhǎng)環(huán)境的精確控制。試驗(yàn)結(jié)果表明,系統(tǒng)操作簡(jiǎn)單、運(yùn)行可靠,對(duì)現(xiàn)代農(nóng)業(yè)具有一定的實(shí)用價(jià)值。
關(guān)鍵詞:無(wú)線通信;智能溫室;CC2530;ZigBee
中圖分類號(hào):TP277;S625 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):0439-8114(2016)15-4010-04
DOI:10.14088/j.cnki.issn0439-8114.2016.15.053
Abstract: An intelligent greenhouse system combined with monitoring and management was designed by using sensor technology and wireless communication technology. The system uses CC2530 as main controller and ZigBee protocol to communicate. The environment information in the greenhouse was sent to the control center by GPRS. The control center analyses and processes the data acquired and sends out the relevant control command to precisely control the crop physiological information in the greenhouse. The experimental results show that the system is easy to operate and performs reliably, and has some important application value for modern agriculture.
Key words: wireless communication; intelligent greenhouse; CC2530; ZigBee
中國(guó)是一個(gè)農(nóng)業(yè)大國(guó),隨著技術(shù)的發(fā)展,在溫室中培養(yǎng)各種蔬菜和作物越來(lái)越普及。為了給作物的生長(zhǎng)提供最適合的環(huán)境,需要對(duì)溫室中的溫度、空氣濕度、土壤水分、光照度、CO2含量等做出精確的控制。傳統(tǒng)的人工測(cè)量和管理方法效率低,需要浪費(fèi)大量的勞力。隨著溫室數(shù)量和溫室規(guī)模的增加,傳統(tǒng)的人工管理方法越來(lái)越顯得困難。因此,如何將農(nóng)作物的生長(zhǎng)規(guī)律和現(xiàn)代檢測(cè)技術(shù)結(jié)合起來(lái),實(shí)現(xiàn)溫室作物的高質(zhì)高產(chǎn)具有重要的意義[1]。
針對(duì)溫室環(huán)境實(shí)時(shí)監(jiān)測(cè)和控制的需要,開(kāi)發(fā)出一套基于無(wú)線傳感網(wǎng)絡(luò)的控制系統(tǒng)。系統(tǒng)能夠?qū)崟r(shí)采集并顯示溫室的各種環(huán)境參數(shù),同時(shí)能夠自動(dòng)或者手動(dòng)對(duì)溫室環(huán)境參數(shù)進(jìn)行控制。上位機(jī)軟件采用B/S和C/S架構(gòu)相結(jié)合的方式組成[2],用戶足不出戶就可以實(shí)現(xiàn)對(duì)溫室大棚的監(jiān)測(cè)和管理。
1 系統(tǒng)概述
圖1展示了系統(tǒng)的主要結(jié)構(gòu)。系統(tǒng)主要由無(wú)線傳感器網(wǎng)絡(luò)、執(zhí)行器和上位機(jī)系統(tǒng)組成。無(wú)線傳感器網(wǎng)絡(luò)分為傳感器節(jié)點(diǎn)、路由器節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)。執(zhí)行器用來(lái)控制相關(guān)設(shè)備以調(diào)節(jié)溫室環(huán)境參數(shù),包括卷簾機(jī)、通風(fēng)機(jī)、灌溉閥門(mén)、高亮度LED燈和加濕器。上位機(jī)系統(tǒng)包括監(jiān)測(cè)中心的后臺(tái)軟件和Web站點(diǎn)。
傳感器節(jié)點(diǎn)用于測(cè)量溫室CO2濃度、土壤水分含量、空氣溫度、濕度、光照度、pH等信息,然后通過(guò)路由器節(jié)點(diǎn)向協(xié)調(diào)器節(jié)點(diǎn)發(fā)送數(shù)據(jù)。協(xié)調(diào)器的GPRS模塊把數(shù)據(jù)發(fā)送到監(jiān)測(cè)中心的服務(wù)器上。監(jiān)控中心后臺(tái)軟件實(shí)時(shí)接收協(xié)調(diào)器發(fā)來(lái)的數(shù)據(jù),并把信息整理保存到數(shù)據(jù)庫(kù)。然后對(duì)采集到的數(shù)據(jù)進(jìn)行分析處理,根據(jù)用戶設(shè)置決定是否向協(xié)調(diào)器發(fā)送控制命令。當(dāng)控制命令發(fā)出后,協(xié)調(diào)器通過(guò)執(zhí)行器對(duì)溫室環(huán)境參數(shù)進(jìn)行調(diào)節(jié)。監(jiān)控中心服務(wù)器用來(lái)保存用戶的控制信息和系統(tǒng)采集到的溫室環(huán)境參數(shù)等信息,相關(guān)信息以Web站點(diǎn)發(fā)布。這樣用戶就可以通過(guò)各種網(wǎng)絡(luò)終端設(shè)備實(shí)現(xiàn)對(duì)溫室的控制。
2 系統(tǒng)硬件設(shè)計(jì)
硬件部分主要是設(shè)計(jì)無(wú)線傳感網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)電路。為了方便開(kāi)發(fā),統(tǒng)一選用TI公司的CC2530[3]作為節(jié)點(diǎn)的控制器。與路由器節(jié)點(diǎn)相比,傳感器節(jié)點(diǎn)多了傳感器模塊,其他方面和路由器節(jié)點(diǎn)完全相同。因此,硬件部分的設(shè)計(jì)主要是傳感器節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)的設(shè)計(jì)。
2.1 傳感器節(jié)點(diǎn)設(shè)計(jì)
傳感器節(jié)點(diǎn)主要包括傳感器模塊、微控制器模塊和電源模塊。微控制器模塊內(nèi)又包含一個(gè)無(wú)線通信模塊。結(jié)構(gòu)框圖如圖2所示。
1)傳感器模塊。傳感器節(jié)點(diǎn)主要用來(lái)檢測(cè)溫室環(huán)境參數(shù)。CO2傳感器采用MG811模塊,測(cè)量范圍為0.69~19.64 mg/L,輸出信號(hào)為電壓模擬量。光照傳感器采用BH1750FVI模塊,量程為1.1~100 000 lx,以I2C總線輸出數(shù)字信號(hào)。空氣溫濕度測(cè)量采用DHT22芯片,單總線通信,測(cè)量范圍為-40~80 ℃和0~100% RH,輸出為數(shù)字信號(hào)。pH傳感器使用JASP2801模塊,輸出信號(hào)為電壓模擬量,量程為0~14。紅外傳感器為HR-SR501,輸出為T(mén)TL電平信號(hào)。土壤水分傳感器為SM2801[4],輸出信號(hào)為電壓模擬量,測(cè)量范圍為0~100%。
2)微控制器模塊。微控制器是整個(gè)節(jié)點(diǎn)的核心,所有的信息采集、通信協(xié)議和數(shù)據(jù)傳輸都在這個(gè)模塊中實(shí)現(xiàn)。基于無(wú)線傳感網(wǎng)絡(luò)的智能溫室控制系統(tǒng)所有網(wǎng)絡(luò)節(jié)點(diǎn)微控制器都采用TI公司的CC2530。該控制器由一個(gè)增強(qiáng)型8051單片機(jī)和高性能射頻無(wú)線收發(fā)芯片組成,其中包括8路輸入的12位ADC和2個(gè)USART,完全滿足系統(tǒng)的需求。
3)電源模塊。節(jié)點(diǎn)的電源模塊由12 V蓄電池和電壓轉(zhuǎn)換芯片LM7805、AMS1117-3.3組成。該模塊能為系統(tǒng)提供5 V和3.3 V電壓,能夠?qū)崿F(xiàn)不同模塊對(duì)電壓的需求。微控制器將周期性地檢測(cè)蓄電池的電壓,將采集到的電壓信息發(fā)送到控制中心并且實(shí)時(shí)顯示。
2.2 協(xié)調(diào)器節(jié)點(diǎn)設(shè)計(jì)
協(xié)調(diào)器節(jié)點(diǎn)主要由微控制器、GPRS模塊、電源模塊、報(bào)警模塊和執(zhí)行器模塊組成。結(jié)構(gòu)框圖如圖3所示。
1)GPRS模塊。GPRS模塊選用西門(mén)子公司的SIMENS-MC55,該模塊性價(jià)比極高,自帶TCP/IP協(xié)議,和單片機(jī)通過(guò)串口連接。使用AT指令就可以將數(shù)據(jù)發(fā)送到固定IP的中心服務(wù)器。為了防止掉線,協(xié)調(diào)器每隔5 min向中心服務(wù)器發(fā)送一段心跳包[5]。
2)電源模塊。由于整個(gè)系統(tǒng)中只有一個(gè)協(xié)調(diào)器節(jié)點(diǎn),而且協(xié)調(diào)器用來(lái)直接驅(qū)動(dòng)執(zhí)行器模塊,是系統(tǒng)的關(guān)鍵部分。為了提高協(xié)調(diào)器節(jié)點(diǎn)的穩(wěn)定性,采用常用的5 V電源適配器,連接220 V交流電源供電。同時(shí)使用AMS1117-3.3降壓芯片得到3.3 V電壓,供微控制器使用。
3)報(bào)警模塊。報(bào)警模塊由蜂鳴器和發(fā)光二極管組成。當(dāng)傳感器節(jié)點(diǎn)通過(guò)紅外傳感器檢測(cè)到有人或者動(dòng)物闖入時(shí),協(xié)調(diào)器會(huì)啟動(dòng)聲光報(bào)警器進(jìn)行驅(qū)趕。
4)執(zhí)行器。執(zhí)行器由單片機(jī)I/O口連接繼電器來(lái)控制相關(guān)設(shè)備從而實(shí)現(xiàn)對(duì)溫室環(huán)境的控制。主要包括對(duì)卷簾機(jī)、通風(fēng)機(jī)、灌溉閥門(mén)、高亮度LED燈和加濕器的控制。卷簾機(jī)用來(lái)控制溫室大棚保溫簾的開(kāi)關(guān)。保溫簾可以起到調(diào)節(jié)光照和降溫或保溫的作用。通風(fēng)機(jī)打開(kāi),可以起到溫室內(nèi)外空氣流通的效果,能夠調(diào)節(jié)溫室空氣中CO2的含量和濕度。當(dāng)土壤較干燥時(shí),系統(tǒng)會(huì)打開(kāi)閥門(mén)進(jìn)行灌溉,根據(jù)具體要求選擇滴灌還是噴灌[6]。補(bǔ)光系統(tǒng)由多個(gè)高亮度的LED組成。當(dāng)需要增加濕度時(shí),協(xié)調(diào)器會(huì)打開(kāi)加濕器的開(kāi)關(guān)。
3 系統(tǒng)軟件設(shè)計(jì)
基于無(wú)線傳感網(wǎng)絡(luò)的智能溫室系統(tǒng),軟件設(shè)計(jì)部分包含無(wú)線傳感網(wǎng)絡(luò)節(jié)點(diǎn)軟件設(shè)計(jì)和監(jiān)控中心的上位機(jī)軟件開(kāi)發(fā)。網(wǎng)絡(luò)節(jié)點(diǎn)軟件設(shè)計(jì)主要以TI公司提供的Z-Stack協(xié)議棧為基礎(chǔ),具體分為傳感器節(jié)點(diǎn)、路由器節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)三個(gè)部分[7]。其中路由器節(jié)點(diǎn)軟件設(shè)計(jì)比較簡(jiǎn)單,只需將收到的數(shù)據(jù)傳給協(xié)議棧,節(jié)點(diǎn)就會(huì)找出一條最佳路徑把數(shù)據(jù)發(fā)送到目的節(jié)點(diǎn)。因此,節(jié)點(diǎn)軟件主要包含傳感器節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)兩部分。上位機(jī)軟件設(shè)計(jì)用.NET環(huán)境下的Windows窗體應(yīng)用程序和ASP網(wǎng)站來(lái)實(shí)現(xiàn)。
3.1 傳感器節(jié)點(diǎn)軟件設(shè)計(jì)
傳感器節(jié)點(diǎn)主要負(fù)責(zé)數(shù)據(jù)的采集,并把采集到的數(shù)據(jù)和節(jié)點(diǎn)狀態(tài)信息發(fā)送到協(xié)調(diào)器節(jié)點(diǎn)。由于傳感器節(jié)點(diǎn)采用電池供電,而且無(wú)線通信會(huì)產(chǎn)生很大的功耗,為了延長(zhǎng)節(jié)點(diǎn)的工作時(shí)間,使用適當(dāng)?shù)墓ぷ鞣绞焦?jié)能顯得很重要。本設(shè)計(jì)采用節(jié)點(diǎn)周期性的休眠和工作以及數(shù)據(jù)周期性的發(fā)送來(lái)實(shí)現(xiàn)降低功耗。通常情況下,節(jié)點(diǎn)每隔一段時(shí)間采集一次數(shù)據(jù)并發(fā)送,然后進(jìn)入休眠。休眠結(jié)束后,向協(xié)調(diào)器節(jié)點(diǎn)獲取采集參數(shù)設(shè)置信息,例如改變?cè)摴?jié)點(diǎn)的采集間隔等。然后再進(jìn)入下一次采集過(guò)程。傳感器節(jié)點(diǎn)軟件流程如圖4所示。
3.2 協(xié)調(diào)器節(jié)點(diǎn)軟件設(shè)計(jì)
圖5是協(xié)調(diào)器節(jié)點(diǎn)軟件流程。協(xié)調(diào)器節(jié)點(diǎn)是整個(gè)無(wú)線傳感網(wǎng)絡(luò)的核心,負(fù)責(zé)網(wǎng)絡(luò)的建立、節(jié)點(diǎn)的添加、數(shù)據(jù)收發(fā)以及對(duì)執(zhí)行器的控制[8]。當(dāng)網(wǎng)絡(luò)建立成功后,節(jié)點(diǎn)主要是接收從其他節(jié)點(diǎn)傳來(lái)的數(shù)據(jù),同時(shí)把數(shù)據(jù)發(fā)送到監(jiān)控中心的服務(wù)器。當(dāng)上位機(jī)對(duì)采集的信息經(jīng)過(guò)分析處理后,需要控制執(zhí)行器時(shí),會(huì)向協(xié)調(diào)器發(fā)送控制命令,然后控制對(duì)應(yīng)的執(zhí)行機(jī)構(gòu)。
3.3 上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件運(yùn)行在監(jiān)控中心的服務(wù)器上,通過(guò)Visual Studio 2012集成開(kāi)發(fā)工具實(shí)現(xiàn)Windows窗體應(yīng)用程序的開(kāi)發(fā)和ASP網(wǎng)站的設(shè)計(jì)。每個(gè)節(jié)點(diǎn)的歷史數(shù)據(jù)以及相關(guān)設(shè)置參數(shù)等都保存在SQL Server 2008R2數(shù)據(jù)庫(kù)中。
服務(wù)器端的窗體應(yīng)用程序采用C# Socket和多線程的機(jī)制。用來(lái)實(shí)現(xiàn)和協(xié)調(diào)器以及和網(wǎng)頁(yè)的通信[9]。服務(wù)器端窗體程序有以下功能:實(shí)現(xiàn)和無(wú)線傳感網(wǎng)絡(luò)的通信,即接收無(wú)線傳感網(wǎng)絡(luò)傳來(lái)的數(shù)據(jù)和向協(xié)調(diào)器發(fā)送控制命令;把協(xié)調(diào)器傳來(lái)的數(shù)據(jù)保存到數(shù)據(jù)庫(kù),以供網(wǎng)站數(shù)據(jù)顯示使用;和多個(gè)網(wǎng)頁(yè)實(shí)現(xiàn)多條Socket通信信道,以便用戶通過(guò)網(wǎng)頁(yè)實(shí)現(xiàn)對(duì)溫室執(zhí)行機(jī)構(gòu)的控制;智能決策模塊的實(shí)現(xiàn)。
該系統(tǒng)具有手動(dòng)和自動(dòng)控制溫室環(huán)境的2種模式。在手動(dòng)模式下,用戶可以通過(guò)網(wǎng)頁(yè)直接控制一個(gè)或者多個(gè)執(zhí)行器的開(kāi)關(guān),實(shí)現(xiàn)對(duì)溫室環(huán)境的直接控制。而在自動(dòng)模式下,系統(tǒng)將采集到的環(huán)境參數(shù)如CO2濃度、空氣溫濕度、土壤水分等與設(shè)定值進(jìn)行比較,通過(guò)智能決策算法,控制執(zhí)行機(jī)構(gòu)使環(huán)境參數(shù)達(dá)到理想值。
用戶操作界面由ASP網(wǎng)頁(yè)實(shí)現(xiàn)[10]。主要有以下功能。
1)實(shí)時(shí)顯示。用來(lái)顯示各個(gè)傳感器節(jié)點(diǎn)采集到的數(shù)據(jù)。可以分別查看每個(gè)節(jié)點(diǎn)每個(gè)參數(shù)隨時(shí)間變化的趨勢(shì)圖,便于用戶深入分析。
2)報(bào)表打印。用戶可以根據(jù)選擇的時(shí)間段和節(jié)點(diǎn)把這一時(shí)間段內(nèi)所選節(jié)點(diǎn)采集到的數(shù)據(jù)打印出來(lái),便于重要數(shù)據(jù)的管理。
3)網(wǎng)絡(luò)結(jié)構(gòu)顯示。顯示無(wú)線傳感網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),可以查看節(jié)點(diǎn)的位置、電壓和工作狀態(tài)等信息。
4)異常提醒。當(dāng)某個(gè)節(jié)點(diǎn)意外停止工作,系統(tǒng)會(huì)顯示這個(gè)節(jié)點(diǎn)的位置信息。根據(jù)設(shè)定的時(shí)間延時(shí)后,系統(tǒng)開(kāi)始重新組網(wǎng),使系統(tǒng)重新開(kāi)始工作。當(dāng)某個(gè)節(jié)點(diǎn)采集到的數(shù)據(jù)超過(guò)設(shè)定值的上下閾時(shí),系統(tǒng)會(huì)將節(jié)點(diǎn)位置信息、采集參數(shù)醒目地顯示在主界面上。
4 試驗(yàn)與分析
試驗(yàn)中,使用一個(gè)溫室作為控制對(duì)象。其中使用了5個(gè)傳感器節(jié)點(diǎn),系統(tǒng)安裝設(shè)置好后,首先是傳感器網(wǎng)絡(luò)完成自組網(wǎng)。然后打開(kāi)瀏覽器進(jìn)入監(jiān)控頁(yè)面,設(shè)置好相關(guān)參數(shù)。然后系統(tǒng)根據(jù)設(shè)定的時(shí)間向中心服務(wù)器發(fā)送數(shù)據(jù),最后網(wǎng)頁(yè)根據(jù)節(jié)點(diǎn)編號(hào)依次顯示CO2濃度、土壤水分、空氣濕度、空氣溫度、光照度、pH和采集時(shí)間。網(wǎng)站主界面如圖6所示。試驗(yàn)結(jié)果表明,系統(tǒng)運(yùn)行穩(wěn)定,各傳感器的誤差均在3%以內(nèi),滿足農(nóng)業(yè)監(jiān)測(cè)精度的要求。系統(tǒng)能夠完成對(duì)溫室環(huán)境參數(shù)的采集、傳輸、保存和控制,集成度較高,操作簡(jiǎn)單方便。基于Web的監(jiān)控界面使得用戶通過(guò)互聯(lián)網(wǎng)就可以實(shí)現(xiàn)對(duì)溫室環(huán)境的監(jiān)測(cè)和控制。
5 小結(jié)
基于無(wú)線傳感網(wǎng)絡(luò)的智能溫室控制系統(tǒng),系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,靈敏度高,穩(wěn)定性強(qiáng),易擴(kuò)展。實(shí)現(xiàn)了對(duì)溫室環(huán)境參數(shù)的實(shí)時(shí)監(jiān)測(cè)和控制。系統(tǒng)通過(guò)互聯(lián)網(wǎng)終端進(jìn)行控制,提高了溫室系統(tǒng)的智能水平,同時(shí)降低了勞動(dòng)成本,提高了管理效率,具有較高的推廣和應(yīng)用價(jià)值。
參考文獻(xiàn):
[1] 秦懷斌,李道亮,郭 理.農(nóng)業(yè)物聯(lián)網(wǎng)的發(fā)展及關(guān)鍵技術(shù)應(yīng)用進(jìn)展[J].農(nóng)機(jī)化研究,2014(4):246-248.
[2] 蔡文科,俞阿龍,李 將,等.基于WSN的大區(qū)域農(nóng)田土壤遠(yuǎn)程監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].農(nóng)機(jī)化研究,2015(9):77-81.
[3] 王 鑫,潘 賀,楊 簡(jiǎn).基于CC2530的ZigBee無(wú)線溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].中國(guó)農(nóng)機(jī)化學(xué)報(bào),2014,35(3):217-220.
[4] 錢(qián)春陽(yáng),陸文龍,王建春,等.基于物聯(lián)網(wǎng)的設(shè)施溫室監(jiān)控系統(tǒng)中無(wú)線傳感器節(jié)點(diǎn)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2015,23(2):673-676.
[5] 萬(wàn)興兵,周鳳星,張志堅(jiān).基于STM32的山體地質(zhì)形變實(shí)時(shí)監(jiān)測(cè)系統(tǒng)[J].自動(dòng)化與儀表,2014,29(8):29-32.
[6] 賈艷玲,朱瑜紅,劉思遠(yuǎn).基于無(wú)線傳感網(wǎng)絡(luò)的枸杞園智能灌溉系統(tǒng)設(shè)計(jì)[J].湖北農(nóng)業(yè)科學(xué),2014,53(23):5861-5864.
[7] 李 彤,李 闖,常 成.基于ZigBee協(xié)議的短距離無(wú)線通信節(jié)點(diǎn)設(shè)計(jì)[J].四川兵工學(xué)報(bào),2012,33(7):103-105.
[8] 劉 濤.多嵌入不兼容設(shè)備的無(wú)線傳感網(wǎng)絡(luò)路由優(yōu)化設(shè)計(jì)[J].科技通報(bào),2014(9):139-142.
[9] 王 磊,許小琳.GPRS無(wú)線數(shù)據(jù)傳輸中服務(wù)器端軟件的設(shè)計(jì)和實(shí)現(xiàn)[J].測(cè)控技術(shù),2007,26(11):55-56.
[10] 唐植華.ASP.NET 4.0動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2012.