楊忠華 何向鋒
1.南寧科泰機(jī)械設(shè)備有限公司,廣西 南寧 530007;2.廣西農(nóng)業(yè)職業(yè)技術(shù)大學(xué),廣西 南寧 530007
溫室大棚因具有透光、保溫性能,受環(huán)境影響較小,可為農(nóng)作物提供良好的生長(zhǎng)條件。但是,傳統(tǒng)的溫室大棚存在保溫能力差、抗壓能力差、通風(fēng)不良等局限,極大地影響了其中農(nóng)作物的產(chǎn)量和品質(zhì)。筆者研究設(shè)計(jì)的智能農(nóng)業(yè)大棚系統(tǒng)可實(shí)時(shí)采集空氣溫濕度、土壤濕度、光照強(qiáng)度等數(shù)據(jù)信息,并通過(guò)ZigBee技術(shù)將各終端采集的數(shù)據(jù)進(jìn)行集中處理,實(shí)現(xiàn)遠(yuǎn)距離實(shí)時(shí)監(jiān)控溫室大棚內(nèi)土壤濕度、光照強(qiáng)度等。同時(shí),該系統(tǒng)可自動(dòng)調(diào)節(jié)相關(guān)設(shè)備參數(shù),保障農(nóng)作物能夠獲取充足的光照、水分等,有效提高棚內(nèi)農(nóng)作物的產(chǎn)量和品質(zhì)[1]。
國(guó)外在智能農(nóng)業(yè)大棚方面的研究比我國(guó)起步早,研究成果豐碩。例如,美國(guó)學(xué)者研發(fā)了一種集溫濕度控制、農(nóng)業(yè)灌溉、肥料供給于一體的溫室智能管理系統(tǒng),能夠?qū)崟r(shí)監(jiān)控和自動(dòng)控制溫室內(nèi)的一系列指標(biāo)[2]。以色列智能農(nóng)業(yè)大棚發(fā)展迅速,借助計(jì)算機(jī)等設(shè)備實(shí)現(xiàn)了對(duì)環(huán)境條件的自動(dòng)控制,如將控制中心的計(jì)算機(jī)與大棚內(nèi)的噴灌設(shè)備建立通信,可無(wú)線控制滴灌和微噴灌系統(tǒng)進(jìn)行灌溉和施肥,提高了水資源和肥料的利用率[3]。加拿大的智能農(nóng)業(yè)大棚使用溫室控制軟件采集并分析大棚內(nèi)的相關(guān)數(shù)據(jù),顯著降低了生產(chǎn)成本,有效減少了農(nóng)藥使用量[3]。
隨著各種先進(jìn)技術(shù)的不斷涌現(xiàn),融入計(jì)算機(jī)、互聯(lián)網(wǎng)技術(shù)的溫室大棚智能監(jiān)控、控制系統(tǒng)真正使設(shè)施農(nóng)業(yè)邁入了智能化、網(wǎng)絡(luò)化階段[4]。目前,我國(guó)溫室大棚種植面積位列世界第一,但智能農(nóng)業(yè)大棚的發(fā)展起步較晚,基礎(chǔ)薄弱,依舊以普通塑料大棚為主,與國(guó)外相比存在較大差距[2]。我國(guó)智能農(nóng)業(yè)大棚的不足主要表現(xiàn)在關(guān)鍵技術(shù)不夠成熟、計(jì)算機(jī)一體化程度低、對(duì)環(huán)境指標(biāo)的采集與控制較為落后。目前,國(guó)內(nèi)開(kāi)發(fā)的智能農(nóng)業(yè)大棚系統(tǒng)只能進(jìn)行監(jiān)測(cè)和簡(jiǎn)單的控制,成本較高,對(duì)棚內(nèi)環(huán)境的調(diào)節(jié)作用小,且?guī)?lái)的經(jīng)濟(jì)效益不高。因此,研究開(kāi)發(fā)性?xún)r(jià)比高的智能農(nóng)業(yè)大棚系統(tǒng)意義深遠(yuǎn)。
通過(guò)實(shí)際考察,筆者選擇利用ZigBee 技術(shù)、窄帶物聯(lián)網(wǎng)(Narrow Band Internet of Things,NB-IoT)技術(shù)、CC2530 芯片編程原理、阿里云技術(shù)等,結(jié)合應(yīng)用各類(lèi)傳感器和功能元件,開(kāi)發(fā)設(shè)計(jì)智能農(nóng)業(yè)大棚系統(tǒng),以期實(shí)現(xiàn)對(duì)大棚環(huán)境的遠(yuǎn)程監(jiān)控和自動(dòng)控制。該系統(tǒng)的具體功能需求如表1所示。
表1 農(nóng)業(yè)大棚環(huán)境監(jiān)測(cè)控制系統(tǒng)系統(tǒng)功能需求表
根據(jù)系統(tǒng)的需求分析,農(nóng)業(yè)大棚環(huán)境監(jiān)測(cè)控制系統(tǒng)的總體框架如圖1所示。系統(tǒng)分為ZigBee傳感器終端、ZigBee協(xié)調(diào)器、云端三大部分。
圖1 農(nóng)業(yè)大棚環(huán)境監(jiān)測(cè)控制系統(tǒng)系統(tǒng)總體框圖
1.2.1 ZigBee 終端。該系統(tǒng)共包含兩個(gè)傳感器終端節(jié)點(diǎn)(可擴(kuò)展為多個(gè)),且兩者功能相同。終端節(jié)點(diǎn)接入傳感器測(cè)量大棚環(huán)境溫濕度、土壤濕度、光照強(qiáng)度,將采集的數(shù)據(jù)通過(guò)協(xié)議棧以單播模式發(fā)送給協(xié)調(diào)器。針對(duì)3種數(shù)據(jù)分別設(shè)置閾值,當(dāng)采集的數(shù)據(jù)低于下限閾值時(shí),系統(tǒng)會(huì)通過(guò)繼電器自動(dòng)控制水泵、打開(kāi)補(bǔ)光燈;當(dāng)大棚環(huán)境各項(xiàng)數(shù)據(jù)恢復(fù)正常后,繼電器會(huì)自動(dòng)關(guān)閉。
1.2.2 ZigBee 協(xié)調(diào)器。協(xié)調(diào)器作為該系統(tǒng)的主控平臺(tái),主要負(fù)責(zé)兩個(gè)方面的工作:一是通過(guò)連接Air724UG實(shí)現(xiàn)與阿里云的連接,將兩個(gè)傳感器終端節(jié)點(diǎn)的數(shù)據(jù)上傳到阿里云平臺(tái)進(jìn)行實(shí)時(shí)監(jiān)控;二是連接兩個(gè)傳感器終端節(jié)點(diǎn),接收終端節(jié)點(diǎn)單播發(fā)送過(guò)來(lái)的數(shù)據(jù)。協(xié)調(diào)器可以通過(guò)按鍵分別控制兩個(gè)終端節(jié)點(diǎn)上水泵、補(bǔ)光燈的開(kāi)關(guān),實(shí)現(xiàn)遠(yuǎn)程監(jiān)控與控制。
1.2.3 云端。云端這一部分包含NB-IoT 模塊和阿里云平臺(tái)。NB-IoT 模塊即Air724UG 芯片,在數(shù)據(jù)傳輸單元(Data Transfer Unit,DTU)管理平臺(tái)注冊(cè)賬號(hào)登錄建立設(shè)備,通過(guò)三元組連接阿里云平臺(tái),將協(xié)調(diào)器的數(shù)據(jù)通過(guò)串口上傳至阿里云,實(shí)現(xiàn)數(shù)據(jù)上云。NBIoT 模塊可插物聯(lián)網(wǎng)卡,當(dāng)終端上傳數(shù)據(jù)超出設(shè)定閾值時(shí),Air724UG自動(dòng)發(fā)送短信給預(yù)留手機(jī)號(hào)。阿里云平臺(tái)通過(guò)建立物模型將NB-IoT模塊上傳的數(shù)據(jù)實(shí)時(shí)顯示在面板,實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)智能農(nóng)業(yè)大棚的可視化管理。
大棚內(nèi)部環(huán)境較為復(fù)雜,需要經(jīng)常松土、澆水、施肥、噴藥,不利于布線,并且布線成本高。無(wú)線通信方式節(jié)點(diǎn)布置較為靈活,更容易調(diào)整監(jiān)控范圍,所以筆者設(shè)計(jì)的農(nóng)業(yè)大棚環(huán)境監(jiān)測(cè)控制系統(tǒng)采用無(wú)線通信方式進(jìn)行數(shù)據(jù)傳輸和遠(yuǎn)程控制[5]。常用的無(wú)線通信技術(shù)主要有ZigBee、Wi-Fi、藍(lán)牙等。
1.3.1 ZigBee 技術(shù)?;赯igBee 技術(shù)的無(wú)線傳感網(wǎng)絡(luò)技術(shù)是物聯(lián)網(wǎng)行業(yè)應(yīng)用非常廣泛的技術(shù)之一,是以IEEE 組織的802.15.4 無(wú)線通信標(biāo)準(zhǔn)為基礎(chǔ)實(shí)現(xiàn)的無(wú)線組網(wǎng)技術(shù),可以很好地滿足傳輸數(shù)據(jù)量小、傳輸范圍在10~100 m 的業(yè)務(wù)需求[3]。ZigBee 技術(shù)具備設(shè)備成本低、設(shè)備兼容性強(qiáng)等特點(diǎn)[4],在增加射頻發(fā)射功率后,傳輸范圍可增加到1~3 km,能很好地適應(yīng)占地面積廣、環(huán)境溫度較高、鋪設(shè)電路困難等溫室大棚環(huán)境,是無(wú)線傳感器通信方案的最佳選擇。
1.3.2 Wi-Fi 無(wú)線通信技術(shù)。Wi-Fi 俗稱(chēng)無(wú)線寬帶,是一種可以將各種搭載Wi-Fi的終端設(shè)備連接在一起的技術(shù)。Wi-Fi無(wú)線通信技術(shù)覆蓋范圍小,只有30~45 m。Wi-Fi設(shè)備功耗較大,溫室大棚環(huán)境下設(shè)備發(fā)熱嚴(yán)重,影響設(shè)備壽命,并不適用于農(nóng)業(yè)大棚環(huán)境監(jiān)測(cè)控制系統(tǒng)。
1.3.3 藍(lán)牙技術(shù)。藍(lán)牙技術(shù)可以用于數(shù)據(jù)無(wú)線傳輸和語(yǔ)音通信。藍(lán)牙設(shè)備價(jià)格友好、功耗低、穩(wěn)定性強(qiáng),但在傳輸過(guò)程中數(shù)據(jù)包較小,傳輸距離短,最大的組網(wǎng)規(guī)模只有8 臺(tái)設(shè)備,不適用于筆者所設(shè)計(jì)的農(nóng)業(yè)大棚環(huán)境監(jiān)測(cè)控制系統(tǒng)。
筆者設(shè)計(jì)的農(nóng)業(yè)大棚環(huán)境監(jiān)測(cè)控制系統(tǒng)硬件主要分為無(wú)線通信模塊、傳感器采集模塊、其他模塊3部分。
無(wú)線通信模塊包括1個(gè)協(xié)調(diào)器、2個(gè)傳感器終端節(jié)點(diǎn)及NB-IoT 模塊,負(fù)責(zé)將傳感器采集模塊采集的數(shù)據(jù)上傳至云端。協(xié)調(diào)器和終端節(jié)點(diǎn)均選用CC2530 芯片作為處理器。當(dāng)參數(shù)出現(xiàn)異常時(shí),云端發(fā)出指令進(jìn)行有效控制,使得大棚的環(huán)境溫度、環(huán)境濕度、土壤濕度、光照強(qiáng)度維持在合理范圍。
2.1.1 CC2530芯片
CC2530 芯片是德州儀器公司生產(chǎn)的一款無(wú)線射頻芯片[1]。CC2530芯片搭載增強(qiáng)型8051內(nèi)核,具有很強(qiáng)的兼容性,可以兼容模數(shù)轉(zhuǎn)換器、串口、各種傳感器和外接模塊。CC2530芯片具有穩(wěn)定、安全的數(shù)據(jù)收發(fā)功能,能滿足此次設(shè)計(jì)的需求。
2.1.2 NB-IoT模塊
NB-IoT 模塊內(nèi)置的Air724UG 芯片由上海合宙公司研發(fā),內(nèi)置消息隊(duì)列遙測(cè)傳輸(Message Queuing Telemetry Transport,MQTT)協(xié)議,可以通過(guò)串口與CC2530芯片相連,實(shí)現(xiàn)系統(tǒng)與阿里云的連接。系統(tǒng)通過(guò)DTU 管理平臺(tái)配置參數(shù),并將Air724UG 芯片通過(guò)三元組采用“一機(jī)一密”的方式進(jìn)行通信,將數(shù)據(jù)實(shí)時(shí)顯示在阿里云平臺(tái)。用戶(hù)可以隨時(shí)通過(guò)阿里云平臺(tái)查看大棚環(huán)境溫濕度、土壤濕度、光照強(qiáng)度,還可以設(shè)置各項(xiàng)參數(shù)閾值。當(dāng)環(huán)境數(shù)值超出閾值范圍時(shí),Core-Air724 芯片可通過(guò)物聯(lián)網(wǎng)卡發(fā)送短信給用戶(hù),實(shí)現(xiàn)警報(bào)功能。
傳感器采集模塊主要由DHT11 溫濕度傳感器、GY-302光強(qiáng)度傳感器及YL-69土壤濕度傳感器組成。
2.2.1 DHT11 溫濕度傳感器。DHT11 溫濕度傳感器主要依靠數(shù)字信號(hào)采集技術(shù)和溫濕度傳感技術(shù)采集數(shù)據(jù),由1 個(gè)電阻式測(cè)濕元件和1 個(gè)NTC 測(cè)溫元件構(gòu)成,并與1 個(gè)高性能8 位單片機(jī)相連接[5]。設(shè)計(jì)中,每個(gè)ZigBee終端節(jié)點(diǎn)連接一個(gè)DHT11溫濕度傳感器,采集的溫濕度數(shù)據(jù)精準(zhǔn)度高、穩(wěn)定性強(qiáng)。
2.2.2 GY-302光強(qiáng)度傳感器。GY-302模塊是一款基于I2C 通信的16 bit的數(shù)字型傳感器[6]。該傳感器的核心是一塊BH1750數(shù)字型光強(qiáng)感應(yīng)芯片。BH1750是一種用于兩線式串行總線接口的數(shù)字型光強(qiáng)度傳感器,采用標(biāo)準(zhǔn)的I2C總線傳輸方式。筆者設(shè)計(jì)的系統(tǒng)包含2塊GY-302模塊,光照強(qiáng)度范為0~65 535 lx,不區(qū)分環(huán)境光源,接近于人眼的視覺(jué)靈敏度,在設(shè)計(jì)中表現(xiàn)良好。
2.2.3 YL-69土壤濕度傳感器。該系統(tǒng)所使用的是電阻式土壤濕度傳感器,包括傳感器探頭和傳感器芯片。其中,傳感器金屬探頭采用鍍鎳處理,防止傳感器生銹。濕敏電阻為傳感器的敏感元件。該土壤濕度傳感器具有反應(yīng)速度快、集成度高等特點(diǎn),能夠很好地反映溫室大棚的土壤濕度情況。
2.3.1 有機(jī)發(fā)光二極管(Organic Light-Emitting Diode,OLED)顯示屏。OLED 顯示屏在玻璃基板上涂上有機(jī)涂層,整個(gè)屏幕水平方向分為8 page,垂直方向分為128 column,每個(gè)page-column 包含8 個(gè)像素,通過(guò)一個(gè)十六進(jìn)制數(shù)控制,每個(gè)比特控制一個(gè)像素。當(dāng)接通電源時(shí),這些有機(jī)材料會(huì)發(fā)光,通過(guò)控制每個(gè)像素點(diǎn)的明滅實(shí)現(xiàn)對(duì)相應(yīng)文字或圖案的顯示。OLED 屏幕可視角大、功耗低、對(duì)比度高、厚度薄、反應(yīng)速度快,可用于顯示ZigBee協(xié)調(diào)器和終端的連接狀態(tài)。
2.3.2 串口通信模塊。CC2530 芯片有2 個(gè)串行通信接口:通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)模式(USART0)和串行 外 設(shè) 接 口(Serial Peripheral Interface,SPI)模 式(USART1)。每個(gè)通用同步/異步串行接收/發(fā)送器(Universal Synchronous/Asynchronous Receiver/Transmitter,USART)外設(shè)有5 個(gè)相關(guān)的寄存器,通過(guò)寄存器可以設(shè)置2個(gè)USART接口,對(duì)應(yīng)外部輸入/輸出(Input/Output,I/O)引腳的映射關(guān)系。筆者設(shè)計(jì)的系統(tǒng)采用CH340 實(shí)現(xiàn)通用串行總線(Universal Serial Bus,USB)轉(zhuǎn)串口。
筆者采用事件輪詢(xún)機(jī)制構(gòu)建ZigBee 協(xié)議棧。協(xié)議棧經(jīng)過(guò)一系列硬件初始化后進(jìn)入任務(wù)輪詢(xún),判斷是否有事件發(fā)生。如果有,則比較優(yōu)先級(jí),調(diào)用事件處理函數(shù)執(zhí)行事件,執(zhí)行完畢繼續(xù)輪詢(xún),判斷是否有新的事件發(fā)生,周而復(fù)始地循環(huán),直到有新任務(wù)出現(xiàn)。
系統(tǒng)包含2 個(gè)功能相同的ZigBee 終端節(jié)點(diǎn),主要作用有2個(gè):一是發(fā)送數(shù)據(jù),通過(guò)單播模式將DHT11溫濕度傳感器、GY-302 光強(qiáng)度傳感器、YL-69 土壤濕度傳感器采集的數(shù)據(jù)發(fā)送給ZigBee 協(xié)調(diào)器;二是自動(dòng)控制,預(yù)設(shè)土壤濕度和光照強(qiáng)度的報(bào)警值,當(dāng)環(huán)境數(shù)據(jù)超出正常范圍時(shí),ZigBee 終端節(jié)點(diǎn)通過(guò)繼電器自動(dòng)控制水泵和打開(kāi)補(bǔ)光燈,當(dāng)數(shù)據(jù)恢復(fù)正常后,自動(dòng)控制水泵和關(guān)閉補(bǔ)光燈。
ZigBee 協(xié)調(diào)器作為系統(tǒng)的總控制中心,主要的工作內(nèi)容有2 項(xiàng):一是將傳感器終端節(jié)點(diǎn)發(fā)送的數(shù)據(jù)通過(guò)串口上傳阿里云;二是通過(guò)按鍵無(wú)線控制2 個(gè)終端節(jié)點(diǎn)上的水泵和補(bǔ)光燈的開(kāi)關(guān)狀態(tài)。
協(xié)調(diào)器通過(guò)“SampleApp_MessageMSGCB”函數(shù)接收終端單播發(fā)送過(guò)來(lái)的溫濕度、土壤濕度、光照強(qiáng)度等數(shù)據(jù),通過(guò)“case SAMPLEAPP_P2P_CLUSTERID”語(yǔ)句實(shí)現(xiàn)接收,之后通過(guò)串口發(fā)送給阿里云;協(xié)調(diào)器通過(guò)按鍵無(wú)線控制終端利用“SampleApp HandleKeys(uint8 shift,uint8 keys)”函數(shù)實(shí)現(xiàn)。當(dāng)按下按鍵時(shí),協(xié)調(diào)器會(huì)通過(guò)“SampleApp_SendPeriodicMessage”函數(shù)廣播發(fā)送一個(gè)變量給終端,終端收到對(duì)應(yīng)變量,會(huì)在“SampleApp_MessageMSGCB”下 的“SAMPLEAPP_PERIODIC_CLUSTERID”執(zhí)行相應(yīng)操作,使繼電器閉合或斷開(kāi)。
阿里云是阿里巴巴開(kāi)發(fā)的一個(gè)云平臺(tái),致力于提供在線云計(jì)算與調(diào)試。筆者設(shè)計(jì)的農(nóng)業(yè)大棚環(huán)境監(jiān)測(cè)控制系統(tǒng)用到了阿里云的物聯(lián)網(wǎng)平臺(tái)。連上阿里云是系統(tǒng)實(shí)現(xiàn)遠(yuǎn)程監(jiān)控的關(guān)鍵一步,具體有以下5 個(gè)步驟。
①通過(guò)淘寶賬號(hào)登錄阿里云。②進(jìn)入物聯(lián)網(wǎng)平臺(tái),開(kāi)通公共實(shí)例。③新建產(chǎn)品,選擇自定義設(shè)備,直連設(shè)備節(jié)點(diǎn)類(lèi)型,蜂窩聯(lián)網(wǎng)方式,ICA 標(biāo)準(zhǔn)數(shù)據(jù)格式。④添加設(shè)備,輸入設(shè)備名稱(chēng)。⑤進(jìn)入DTU 管理平臺(tái),通過(guò)三元組配置參數(shù),連接阿里云。
筆者設(shè)計(jì)的農(nóng)業(yè)大棚環(huán)境監(jiān)測(cè)控制系統(tǒng)由1 個(gè)ZigBee 協(xié)調(diào)器、2 個(gè)ZigBee 終端及傳感器節(jié)點(diǎn)構(gòu)成。ZigBee協(xié)調(diào)器連接著1塊Air724UG芯片和1塊1×4鍵盤(pán)。2臺(tái)ZigBee終端及傳感器完全相同。ZigBee終端節(jié)點(diǎn)上連接有DHT11 溫濕度傳感器、YL-69 土壤濕度傳感器、GY-302 光強(qiáng)度傳感器及兩個(gè)繼電器,兩個(gè)繼電器分別連接水泵和補(bǔ)光燈。每臺(tái)設(shè)備上都裝有天線。該系統(tǒng)總體構(gòu)成如圖2所示。
圖2 系統(tǒng)整體實(shí)物圖
ZigBee 協(xié)調(diào)器上擁有4 個(gè)按鍵,按下按鍵“1”時(shí),終端1啟動(dòng)補(bǔ)光燈,再按下按鍵“1”時(shí),終端1補(bǔ)光燈關(guān)閉;按下按鍵“2”時(shí),終端1 啟動(dòng)水泵,再按下后水泵關(guān)閉;同理,按下按鍵“3”“4”時(shí)分別控制終端2 補(bǔ)光燈和水泵的打開(kāi)或關(guān)閉。
傳感器模塊上設(shè)置有閾值。當(dāng)土壤濕度、光照強(qiáng)度低于所設(shè)閾值時(shí),ZigBee 終端可以控制ZigBee 協(xié)調(diào)器上的蜂鳴器報(bào)警,經(jīng)過(guò)水泵補(bǔ)水、補(bǔ)光燈補(bǔ)光,指標(biāo)恢復(fù)正常后,蜂鳴器停止報(bào)警。
ZigBee 終端節(jié)點(diǎn)采集環(huán)境數(shù)據(jù)后通過(guò)單播模式發(fā)送給ZigBee 協(xié)調(diào)器,ZigBee 協(xié)調(diào)器通過(guò)串口將數(shù)據(jù)發(fā)送至計(jì)算機(jī)。ZigBee 終端通過(guò)移動(dòng)電源供電,串口助手依舊能收到“T&H&G&S”參數(shù)值,依次為溫濕度、土壤濕度、光照強(qiáng)度。在ZigBee 終端設(shè)置土壤濕度和光照強(qiáng)度的閾值,當(dāng)土壤濕度低于所設(shè)下限閾值時(shí),水泵自動(dòng)打開(kāi)。同理,當(dāng)光照強(qiáng)度低于所設(shè)下限閾值時(shí),補(bǔ)光燈自動(dòng)開(kāi)啟。
ZigBee 協(xié)調(diào)器接收來(lái)自ZigBee 終端節(jié)點(diǎn)無(wú)線發(fā)送的溫濕度、土壤濕度、光照強(qiáng)度數(shù)據(jù),通過(guò)串口按照阿里云的固定格式將數(shù)據(jù)上傳阿里云,利用功能定義構(gòu)建物模型,實(shí)現(xiàn)數(shù)據(jù)上云。
筆者以ZigBee 技術(shù)為基礎(chǔ),設(shè)計(jì)了一套具有遠(yuǎn)程監(jiān)控功能的智能農(nóng)業(yè)大棚系統(tǒng)。該系統(tǒng)具有精準(zhǔn)采集、遠(yuǎn)程監(jiān)控、自動(dòng)控制、實(shí)時(shí)警報(bào)等功能,通過(guò)功能測(cè)試和系統(tǒng)調(diào)試基本符合功能預(yù)期,理論上可以解決傳統(tǒng)溫室大棚光照不足、農(nóng)作物缺水等問(wèn)題。