陶銘,吳嘉豪,洪嘉聰
(東莞理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,廣東東莞 523808)
隨著信息化帶來的銷售途徑的拓展,農(nóng)戶的種植規(guī)模不斷擴(kuò)大,農(nóng)作物管理越來越復(fù)雜化,控制不同種植區(qū)域的生長環(huán)境因素也愈發(fā)重要。而作物的管理與生長環(huán)境的調(diào)整在種植過程中起著舉足輕重的作用[1-2]。一個(gè)種植方案的好壞,直接影響到作物的收益,從而影響農(nóng)戶的經(jīng)濟(jì)收入。傳統(tǒng)的農(nóng)業(yè)大棚種植方法,如手動(dòng)檢測生長環(huán)境因素及手動(dòng)控制設(shè)備開關(guān)進(jìn)行補(bǔ)水、排氣、補(bǔ)光等操作早已不適應(yīng)時(shí)代的發(fā)展,借用信息化技術(shù)自動(dòng)進(jìn)行大棚內(nèi)環(huán)境監(jiān)測及設(shè)備操作已經(jīng)成為迫切需求[3-4]。
資料顯示,現(xiàn)實(shí)生活中的各類溫室大棚解決方案普遍存在不足之處,需要人工進(jìn)行復(fù)雜的相關(guān)設(shè)置,甚至在特定情況下需要大量人工為之服務(wù),自動(dòng)化程度偏低。雖然半自動(dòng)化溫室大棚解決方案可以節(jié)省農(nóng)戶在調(diào)整作物生長環(huán)境的工作量,但面對日漸增大的種植規(guī)模卻顯得束手無策[5]。
文中設(shè)計(jì)并實(shí)現(xiàn)一種基于STM32 的智能農(nóng)業(yè)大棚系統(tǒng),搭載系統(tǒng)所需要的各式傳感器,如空氣溫濕度傳感器、光照傳感器及土壤溫度傳感器等,實(shí)時(shí)采集大棚內(nèi)部的環(huán)境參數(shù)[6],并結(jié)合了長距離無線傳輸技術(shù)(Long Range,LoRa)將采集到的環(huán)境數(shù)據(jù)通過無線局域網(wǎng)傳送到服務(wù)器端軟件[7-10],由服務(wù)端軟件對數(shù)據(jù)進(jìn)行分析處理,使用戶能夠直觀地看到棚內(nèi)環(huán)境的變化并進(jìn)行相應(yīng)的調(diào)控。
基于STM32 的智能農(nóng)業(yè)大棚系統(tǒng)由硬件系統(tǒng)、WEB 后臺管理系統(tǒng)及微信小程序管理系統(tǒng)三部分組成。其中,硬件系統(tǒng)主要負(fù)責(zé)數(shù)據(jù)采集、數(shù)據(jù)傳輸以及執(zhí)行用戶指令操控設(shè)備;WEB 后臺管理系統(tǒng)主要負(fù)責(zé)對監(jiān)測到的大棚內(nèi)環(huán)境數(shù)據(jù)進(jìn)行分析處理,并進(jìn)行可視化展示;微信小程序管理系統(tǒng)主要負(fù)責(zé)掌上數(shù)據(jù)可視化以及各類設(shè)備的管理[11]。
硬件系統(tǒng)使用了STM32F103ZET6 作為開發(fā)板,同時(shí)搭載了系統(tǒng)所需要的各類傳感器、OLED 屏幕模塊、LED 等模塊及通信模塊等,并將整體硬件系統(tǒng)分割為數(shù)據(jù)采集層(包括各類傳感器)、數(shù)據(jù)處理層(數(shù)據(jù)處理模塊)、數(shù)據(jù)傳輸層(數(shù)據(jù)傳輸模塊)、數(shù)據(jù)通信層(ESP8266WiFi 通信模塊)[12-13]。其架構(gòu)設(shè)計(jì)如圖1 所示。
信息感知能力是測控單元的基本能力。在設(shè)計(jì)的系統(tǒng)中需要部署各類傳感器,用于精準(zhǔn)測量環(huán)境中的各種參數(shù),從而實(shí)現(xiàn)對大棚內(nèi)環(huán)境的掌握及控制。系統(tǒng)所需監(jiān)測的環(huán)境參數(shù)包括大氣溫濕度、光照強(qiáng)度、一氧化碳濃度及土壤溫濕度等[14-15]。因此,在數(shù)據(jù)采集層采用了如下傳感器:①DHT11空氣溫濕度傳感器,該傳感器具有低功耗特性,通過單片機(jī)等微處理器進(jìn)行簡單的電路連接就能夠?qū)崟r(shí)地采集本地濕度和溫度;②光敏傳感器,該傳感器受到不同強(qiáng)度的光照會產(chǎn)生電流的變化,通過串接電阻及STM32的ADC即可獲得電壓值,通過轉(zhuǎn)換公式:光照強(qiáng)度=100-(temp_val/40)(注:temp_val為ADC多次取值后獲得的電壓均值)即可獲得光照強(qiáng)度值;③火焰?zhèn)鞲衅?,LM393、火焰檢測探頭組成感光火焰?zhèn)鞲衅?,該傳感器對火焰光波長極為敏感,能將火焰的強(qiáng)弱變化轉(zhuǎn)化為電流變化,并采用LM393 輸出監(jiān)測信號,STM32 通過檢測所屬針腳的電平信號高低確決定是否發(fā)生火災(zāi)。
在數(shù)據(jù)傳輸層,STM32 系統(tǒng)通過串口與LoRa 模塊連接,發(fā)送環(huán)境監(jiān)測數(shù)據(jù)包實(shí)現(xiàn)長距離精準(zhǔn)傳輸。LoRa 模塊接收到環(huán)境監(jiān)測數(shù)據(jù)包后通過串口傳輸給網(wǎng)絡(luò)通信模塊進(jìn)行處理。數(shù)據(jù)通信層在STM32 系統(tǒng)控制下,借助ESP8266 模塊將監(jiān)測數(shù)據(jù)轉(zhuǎn)換為WiFi 信號,通過無線局域網(wǎng)將數(shù)據(jù)傳送到云服務(wù)器端軟件,最后由服務(wù)器端軟件對數(shù)據(jù)進(jìn)行分析處理。LoRa 模塊上傳環(huán)境監(jiān)測數(shù)據(jù)的功能時(shí)序圖如圖2 所示。
軟件系統(tǒng)采用MVC 框架,整體框架垂直切分為視圖層(View)、控制層(Controller)、業(yè)務(wù)邏輯層(Service)和持久層(DAO)[16]。各層之間相互獨(dú)立,通過接口進(jìn)行通信,整體框架具有高內(nèi)聚、低耦合的特點(diǎn)。軟件系統(tǒng)架構(gòu)如圖3 所示。
該系統(tǒng)開發(fā)了基于SSM 的WEB 端和微信小程序端作為后臺管理系統(tǒng),主要為用戶提供整個(gè)系統(tǒng)的監(jiān)測數(shù)據(jù)可視化功能以及硬件設(shè)備的管控功能。具體的系統(tǒng)數(shù)據(jù)流圖如圖4 所示,相應(yīng)的關(guān)系數(shù)據(jù)庫模型設(shè)計(jì)如下(其中主鍵用下劃線表示,外鍵用雙下劃線表示):
遮光簾設(shè)置(設(shè)備ID,設(shè)備觸發(fā)光照強(qiáng)度閾值,設(shè)備開關(guān)標(biāo)志)。
風(fēng)扇設(shè)置(設(shè)備ID,設(shè)備觸發(fā)大氣溫度閾值,設(shè)備觸發(fā)大氣濕度閾值,設(shè)備開關(guān)標(biāo)志)。
水泵設(shè)置(設(shè)備ID,設(shè)備觸發(fā)土壤溫度閾值,設(shè)備觸發(fā)土壤濕度閾值,設(shè)備開關(guān)標(biāo)志)。
燈設(shè)置(設(shè)備ID,設(shè)備觸發(fā)光照強(qiáng)度閾值,設(shè)備觸發(fā)顏色,設(shè)備開關(guān)標(biāo)志)。
用戶(用戶名,用戶郵箱,密碼,激活狀態(tài),權(quán)限)。
預(yù)警信息(設(shè)置時(shí)間,用戶名,土壤溫度,土壤濕度,大氣溫度,大氣濕度,光照強(qiáng)度)。
數(shù)據(jù)(收集時(shí)間,土壤溫度,土壤濕度,大氣溫度,大氣濕度,光照強(qiáng)度,火焰標(biāo)志,液位標(biāo)志,一氧化碳濃度)。
植物指數(shù)(植物名字,土壤溫度,土壤濕度,大氣溫度,大氣濕度,光照強(qiáng)度)。
啟動(dòng)系統(tǒng)硬件端的開關(guān)后,大棚內(nèi)所部署的各類傳感器開始監(jiān)測空氣溫濕度、土壤濕度、一氧化碳濃度等環(huán)境參數(shù),并通過LoRa 模塊和ESP8266WiFi通信模塊將環(huán)境監(jiān)測數(shù)據(jù)上傳至云端服務(wù)器。此時(shí),用戶打開WEB 端或小程序端能夠查看大棚內(nèi)的環(huán)境監(jiān)測參數(shù)信息,如圖5 和圖6 所示。
系統(tǒng)也會將監(jiān)測所得到的數(shù)據(jù)與用戶設(shè)置的閾值進(jìn)行對比,如果超出預(yù)設(shè)閾值,則會自動(dòng)進(jìn)行手機(jī)預(yù)警通知,讓用戶第一時(shí)間掌握大棚內(nèi)環(huán)境動(dòng)態(tài)并及時(shí)作出響應(yīng)。同時(shí),系統(tǒng)也會自動(dòng)操控相應(yīng)硬件設(shè)備來調(diào)節(jié)大棚內(nèi)植物的生長環(huán)境。
文中設(shè)計(jì)并實(shí)現(xiàn)了一種基于STM32 的智能農(nóng)業(yè)大棚系統(tǒng),通過部署各類傳感器來實(shí)時(shí)監(jiān)測大棚內(nèi)的環(huán)境參數(shù),然后將數(shù)據(jù)由LoRa 通信模塊傳送至WiFi 中心節(jié)點(diǎn)并上傳至云端服務(wù)器。后臺管理系統(tǒng)接收到環(huán)境監(jiān)測數(shù)據(jù)后進(jìn)行分析處理,從而為用戶提供監(jiān)測數(shù)據(jù)可視化以及根據(jù)監(jiān)測數(shù)據(jù)管控大棚內(nèi)部各類硬件設(shè)備的功能。雖然該系統(tǒng)能滿足智能農(nóng)業(yè)大棚的基本需求,但仍存在不足及可擴(kuò)展之處,需進(jìn)一步完善,如硬件端不支持浮點(diǎn)數(shù)運(yùn)算,導(dǎo)致數(shù)據(jù)處理無法做到更精細(xì)化。