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