馬浩倫,謝亞明,齊 錦
(西北大學(xué) 信息科學(xué)與技術(shù)學(xué)院,陜西 西安 710127)
植物病害的預(yù)測、預(yù)報是有效防治和控制植物病害發(fā)生及發(fā)展的重要依據(jù),是植物病害管理的重要組成部分,對農(nóng)林生產(chǎn)管理及決策起著重要作用。植物病害預(yù)測、預(yù)報是一門應(yīng)用性極強的學(xué)科。傳統(tǒng)植物病害分類與識別主要通過經(jīng)驗豐富的生產(chǎn)者或植保專家基于一定標(biāo)準(zhǔn),在田間通過肉眼觀察所得。該方法耗時、費力、預(yù)報滯后,且不宜大范圍展開,無法進行實時、快速的病害識別[1]。
近年來,智能化信息技術(shù)在植物病害檢測領(lǐng)域的應(yīng)用日益增多,很多專家、學(xué)者都對此進行了研究。王聃等人探索了機器學(xué)習(xí)在綠植病害識別中的應(yīng)用[2];劉洋等人使用輕量級CNN對綠植病害識別進行研究[3];高士等人以基于RGB特征值的方式研究苧麻葉片病理[4]。結(jié)果表明,各種智能化信息技術(shù)在綠植病害檢測方面頗為成功。但截至目前,對于綠植病害的相關(guān)診療卻依然停留在人工診療層面,非人工診療大多采用大面積廣泛噴灌方式,該噴灌方式并不適合所有地區(qū)的土地作物[5]。基于此,本文設(shè)計了一種結(jié)合物聯(lián)網(wǎng)云端的綠植自動化診療智慧農(nóng)業(yè)系統(tǒng)。該系統(tǒng)利用顏色傳感器獲得葉面光譜特征,與系統(tǒng)中預(yù)存的植物特征識別庫進行比對,選取最符合當(dāng)前植物病害特征的診療方案,再通過系統(tǒng)內(nèi)部的機械控制裝置進行自動化診療,確保周圍環(huán)境始終處于適宜植物生長的狀態(tài)。此外,種植區(qū)內(nèi)還設(shè)有物聯(lián)網(wǎng)傳感模塊,可實時檢測農(nóng)作物生長狀態(tài),并反饋到控制系統(tǒng)中,通過實際觀測與電腦分析即可進行環(huán)境調(diào)控。
綠植自動化診療智慧農(nóng)業(yè)系統(tǒng)由外支撐鋼架、單晶12 V/100 W太陽能電池板、葉面檢測與診療控制系統(tǒng)、物聯(lián)網(wǎng)云端、環(huán)境調(diào)控端組成。其中,葉面檢測與診療控制系統(tǒng)包括Arduino嵌入式開發(fā)板、TCS3200顏色傳感器、多路電磁閥控制灌溉裝置、多路舵機控制機械臂裝置。Arduino通過I2C通信[6]方式接收TCS3200傳回的顏色數(shù)據(jù),然后與系統(tǒng)中的植物識別庫進行比對,從而確定診療方案。該植物識別庫通過植物病理學(xué)知識分析與多次實驗得到。
診療方案確定后,Arduino嵌入式控制系統(tǒng)依照該方案執(zhí)行相應(yīng)子程序,子程序通過代碼控制多路電磁閥與舵機,在一個診療周期內(nèi),電磁閥、舵機將不斷交替工作用以實現(xiàn)診療方案中的小范圍噴灌或精確滴灌診療。診療過程的環(huán)境參數(shù)通過包含有多路傳感器的NB-IoT物聯(lián)網(wǎng)系統(tǒng)進行實時監(jiān)測,并將監(jiān)測結(jié)果顯示在云端APP,刷新周期為1 s。針對植物生長環(huán)境情況,線上編解碼插件已定義好閾值,一旦超過閾值,系統(tǒng)即發(fā)出警告,用戶可通過移動端或云端控制裝置內(nèi)的排氣、照明系統(tǒng)等改善裝置內(nèi)環(huán)境。綠植自動化診療智慧農(nóng)業(yè)系統(tǒng)工作流程如圖1所示。
綠植自動化診療智慧農(nóng)業(yè)系統(tǒng)控制核心采用兩塊獨立的嵌入式開發(fā)板。其中,Arduino系列開發(fā)板用于葉面顏色檢測及植物診療方案的選定;物聯(lián)網(wǎng)端的STM32L431系列開發(fā)板通過BC35 NB-IoT模塊與云端連接。在Arduino開發(fā)板上,利用板載I/O口和多路傳感器連接,可直接采集植物各項數(shù)據(jù),并經(jīng)由BC35 NB-IoT模塊實時上報到華為云平臺。
圖1 綠植自動化診療智慧農(nóng)業(yè)系統(tǒng)工作流程
環(huán)境監(jiān)控傳感器模塊包括溫濕度傳感器、土壤濕度傳感器、CO2傳感器。
土壤濕度傳感器選用TELESKY FC-28。該傳感器工作電壓為3.3~5 V,可將土壤環(huán)境濕度以模擬數(shù)據(jù)形式傳輸,通過A/D模塊轉(zhuǎn)換后[7],將數(shù)據(jù)傳輸至單片機,使數(shù)據(jù)精確度更高。
溫濕度傳感器選用DHT11。該傳感器包括一個電容式濕度元件和一個NTC測溫元件,在流體環(huán)境(如空氣)中可有效測量溫度和濕度,并通過ADC通道以4位有效的方式傳輸給單片機。
CO2傳感器選用MG811。相比另一款常用的CO2傳感器CCS811 HDC1080,MG811傳感器自帶熱電偶,對氣體分子濃度測量更準(zhǔn)確。MG811 CO2傳感器采用ADC方式傳輸數(shù)據(jù)。該傳感器直接采集電壓變化,并通過板載ADC通道將電壓值傳輸給單片機。查閱資料可知,MG811采集的數(shù)據(jù)與電壓值呈指數(shù)關(guān)系,因而在程序中通過計算采集數(shù)據(jù)的平均值,并依照如上算法即可得出實際濃度值。MG811傳感器模擬電壓輸出范圍為0~2 V,由此可確定電壓閾值。ADC采樣注解見表1所列。
綠植診療硬件采用TCS3200顏色傳感器進行光譜采集。該顏色傳感器可采集255×255的光譜位陣列,可敏銳察覺顏色變化。
表1 ADC采樣注解
人們?nèi)粘K吹降奈矬w顏色,實際是物體表面反射的照射該部分的有色光進入人眼的反應(yīng)。白光由各種頻率可見光混合而成。根據(jù)三原色理論可知,各種顏色是由不同比例的三原色,即紅色、綠色、藍(lán)色混合而成。
基于三原色感應(yīng)原理可知,若能測出物體表面顏色的三原色值,即可得知該物體的實際顏色。針對TCS3200顏色傳感器而言,當(dāng)選定一個顏色濾波器時,它只允許對應(yīng)原色通過,將阻止其他原色通過。例如,當(dāng)選擇紅色濾波器時,則入射光中只有紅光可通過,即得到紅光光強;同理,選擇其他濾波器就可得到藍(lán)光和綠光的光強。通過三原色值可分析出投射到TCS3200傳感器上的光線顏色。葉面光譜檢測流程如圖2所示。
圖2 葉面光譜檢測流程
系統(tǒng)內(nèi)部采用多路電磁閥控制藥劑滴灌設(shè)備。通過基于時序的診療方案,電磁閥即可按診療流程開啟或斷開。電磁閥控制多路藥劑聯(lián)通管道示意如圖3所示。
基于成本及物力,本裝置的電磁閥采用直動式電磁閥。其原理如下:通電時,電磁線圈產(chǎn)生電磁力把敞開件從閥座上提起,閥門打開;斷電時,電磁力消失,彈簧把敞開件壓在閥座上,閥門關(guān)閉。直動式電磁閥結(jié)構(gòu)原理如圖4所示。
圖4 直動式電磁閥結(jié)構(gòu)原理
綠植自動化診療智慧農(nóng)業(yè)系統(tǒng)通過NB-IoT協(xié)議與物聯(lián)網(wǎng)云端相連。NB-IoT是一種新興的物聯(lián)網(wǎng)通信技術(shù),具備小功耗、低成本、海量連接、深度覆蓋等特性,從而使物聯(lián)網(wǎng)的通信能力極大增強,實用性得到保障,成為低功耗廣域網(wǎng)中最具競爭力的蜂窩物聯(lián)網(wǎng)技術(shù)[8]。
在系統(tǒng)單片機程序內(nèi),NB-IoT通過串口程序的AT指令控制與基站的通信,主要改寫了連接域名地址及網(wǎng)絡(luò)端口號。任務(wù)程序如下:
華為OceanConnect IoT云平臺[9]支持NB-IoT、2G/3G/4G網(wǎng)絡(luò)、有線網(wǎng)絡(luò)等接入方式。不同類型設(shè)備接入物聯(lián)網(wǎng)平臺并構(gòu)建互聯(lián)互通方案需經(jīng)過Profile定義、設(shè)備開發(fā)、插件開發(fā)、測試認(rèn)證等過程。針對本系統(tǒng),我們在“plant_device”項目下開發(fā)了“二氧化碳數(shù)據(jù)與調(diào)風(fēng)應(yīng)答”“空氣溫度、濕度數(shù)據(jù)與加濕應(yīng)答”“土壤濕度數(shù)據(jù)提醒”三個子項目。
在設(shè)備開發(fā)與調(diào)試方面,我們采用集成了NB-IoT模組的STM32L431開發(fā)板。NB-IoT協(xié)議支持海量連接,具有低成本優(yōu)勢。其應(yīng)用場景與本項目契合,數(shù)據(jù)包較小,設(shè)備位置變化較小。我們通過在線編寫編解碼插件,將從設(shè)備側(cè)傳輸?shù)皆贫说亩M制數(shù)據(jù)解碼為JSON格式,通過IoT云平臺進行數(shù)據(jù)處理。
數(shù)據(jù)處理結(jié)果可由平臺接收與轉(zhuǎn)發(fā)。在線上做好Profile和編解碼插件開發(fā)工作后,設(shè)備側(cè)使用設(shè)備模擬器進行數(shù)據(jù)收發(fā)測試。調(diào)測處將數(shù)據(jù)調(diào)測好后,在Web APP端進行云應(yīng)用程序開發(fā)。
華為OceanConnect IoT云提供了名為IoT Booster的應(yīng)用開發(fā)平臺,通過該平臺可進行線上應(yīng)用開發(fā)。應(yīng)用側(cè)需使用該平臺進行調(diào)試,用于數(shù)據(jù)監(jiān)測、預(yù)警、上報。云端與APP端北向通信流程如圖5所示。
圖5 云端與APP端北向通信流程
系統(tǒng)的自動化診療部分由Arduino嵌入式系統(tǒng)及其相關(guān)部件構(gòu)成。物聯(lián)網(wǎng)云端南北向通信部分由STM32L431嵌入式系統(tǒng)構(gòu)成。
系統(tǒng)上電后,兩塊單片機分別初始化。Arduino嵌入式系統(tǒng)初始化后,TCS3200開始工作。在掃描周期內(nèi),若光譜不符合一般綠植顏色閾值,則循環(huán)等待;當(dāng)檢測到綠植色域后,Arduino嵌入式系統(tǒng)將選擇相應(yīng)方案對植物進行治療。
STM32L431嵌入式系統(tǒng)上電后,BC35模塊[10]初始化,并通過AT指令向云端發(fā)送密匙,獲取連接地址及端口號。在連接成功之前循環(huán)運行該程序。
線下與云端連接成功后,STM32L431嵌入式系統(tǒng)將讀取各傳感器(如MG811、DHT11、FC-28等)采樣數(shù)據(jù),數(shù)據(jù)按照發(fā)送接收的完整周期上報,并在云平臺轉(zhuǎn)碼顯示。Arduino嵌入式系統(tǒng)軟件工作流程如圖6所示,STM32L431嵌入式系統(tǒng)軟件工作流程如圖7所示。
圖6 Arduino嵌入式系統(tǒng)軟件工作流程
圖7 STM32L431嵌入式系統(tǒng)軟件工作流程
測試中,我們選用帶有蟲害的單枝橘黃色橡樹葉作為實驗材料,發(fā)現(xiàn)系統(tǒng)可成功制定蟲害治療方案,并在一個周期內(nèi)按照設(shè)定的步驟進行藥物噴灌,定時上報物聯(lián)網(wǎng)云端,并顯示環(huán)境監(jiān)測數(shù)據(jù)。治療3天之后,橡樹葉光譜檢測結(jié)果表明,RGB三色中紅色減少,而綠色和藍(lán)色增加。
缺水狀態(tài)下使用MATLAB統(tǒng)計的RGB三色相對差值如圖8所示。治療3天后使用MATLAB統(tǒng)計的RGB三色相對差值如圖9所示。由圖9可知,檢測結(jié)果、治療效果均有效。
圖8 缺水狀態(tài)下使用MATLAB統(tǒng)計的RGB三色相對差值
圖9 治療3天后用MATLAB統(tǒng)計的RGB三色相對差值
物聯(lián)網(wǎng)與智能化是未來智慧農(nóng)業(yè)的發(fā)展趨勢,本文結(jié)合已有病害檢測技術(shù)與方法,提出一種在此基礎(chǔ)上的自動化診療方案。該方案通過光譜檢測,由嵌入式系統(tǒng)自主選擇對應(yīng)治療方案,治療效果顯著,在智慧農(nóng)業(yè)領(lǐng)域應(yīng)用前景廣闊。