白玉立,劉建粉
(平頂山學院 信息工程學院,河南 平頂山 467000)
隨著科技的發展,許多城鄉居民為了美化環境,凈化空氣,喜歡在家中陽臺種植花草。植物的生長需要一定的環境,土壤濕度、外界光照、溫度等都會影響植物的健康生長。若人們因為長時間出差不在家,植物會因為缺少照護而枯萎死亡。缺水、光照強、溫度高等一系列環境的變化也會影響植物的正常生長,帶來經濟損失和精神上的不愉悅。
大多數自動澆花系統利用虹吸原理,即利用滲透方式澆花,這種澆花方式的過程是連續的、不間斷的,采用這種方式只能保證花不會干旱而死[1]。一些自動澆水系統可以設定澆灌時間,但卻無法確定花卉是否需要澆水。基于此,本文設計了實時監測植物生長環境的改變,并及時作出相應調整,以保證植物處于最佳生長環境的智能養花系統。
該系統根據功能不同設計了數據模塊、花卉識別模塊、云平臺模塊和顯示模塊。花卉識別模塊用于分析花卉的品種,并給出科學的種植數據,鑒于此,數據模塊可以進行花卉生長環境的調整。同時,將相應的數據通過云平臺解析并傳輸到顯示模塊,使用者還可以通過顯示模塊反向調整花卉的生長環境。系統總體結構如圖1所示。

圖1 智能養花系統結構
智能養花系統主要包括數據模塊、花卉識別模塊、云平臺模塊和顯示模塊。智能養花系統功能模塊如圖2所示。

圖2 智能養花系統功能模塊
數據模塊分為環境數據采集和生長環境自動調整兩部分。數據采集模塊主要采用土壤濕度傳感器、光敏傳感器、溫濕度傳感器實時監測花卉生長環境,如果環境發生改變,不適合花卉的生長,系統會自動調整,使環境盡可能滿足花卉植物的生長需求。
系統工作過程中,土壤濕度傳感器插入花盆之中,大概一秒采集一次土壤濕度值,假如低于預定的閾值700,水泵會自啟動,向花盆抽水。植物生長過程中,光線太過強烈也會產生不良影響。這時,光敏傳感器會檢測花卉的光照程度,假如陽光過于強烈,相應舵機啟動,遮光板打開,避免花卉受到過多光線的刺激。溫濕度傳感器監測室內的溫度和濕度。假如空氣過于干燥,加濕器啟動。有些植物對溫度的要求較高,故系統加設了溫控燈,室內溫度一旦低于閾值,溫控燈開啟,保證植物處于最佳的生長環境[2]。
溫室里的盆栽需要每天通風,尤其是中午時分氣溫較高時,流動的空氣有助于植物的生長。系統配備的風扇模塊每4 h進行一次10 min的通風,保證植物正常生長。數據模塊的程序設計流程如圖3所示。

圖3 數據模塊的程序設計流程
花卉識別模塊主要借助百度云AI平臺,通過對ESP32-CAM攝像頭獲取的視頻流截取相應圖像,在百度云平臺創建API接口,編寫相應API,實現圖片選取和識別功能[3]。將圖片上傳至云服務器進行圖片預處理。預處理是訓練獲得的花卉圖片,構造需要的數據結構。之后利用TensorFlow實現CNN模型,通過兩層卷積和池化處理,并使用梯度下降算法作為優化器,使用Softmax算法作為分類器,將Ordinary Least Squares作為優化器,構建相應的訓練模型,之后再對模型進行訓練,最終得到訓練后的模型數據,并以文件形式存儲至服務器。最后,利用TensorFlow的reduce_mean方法作為評估模型,對構建的花卉分類模型的準確性進行測試。在測試相應實驗數據的準確度之后,構建測試模型[4]。
將測試完成的數據返還給開發板,在顯示模塊中可以清楚看到相應花卉的種類以及科學的養殖方案。使用者可以根據方案進行硬件模塊閾值的設定。
2.3.1 云服務器
本系統采用云服務器分析整合和傳輸數據。建立云服務器后接收采集的數據[5]。建立接收處理程序,該接收處理程序可有多個形式,只需提供接收數據的連接即可,系統使用MQTT服務。之后將采集的數據連接到云服務器提供的接收處理程序,完成相應數據的上傳。將采集的數據通過WiFi傳輸到服務器,數據傳輸協議視為接收處理程序。
之后在云服務器上存儲采集的數據,本系統采用MySQL數據庫存儲相應數據。最后在終端顯示相應數據,并通過安卓端顯示環境數據值。
2.3.2 數據通信
數據通信采用ESP8266模塊,ESP8266是一款UART轉WiFi SOC,是完整且自成體系的WiFi網絡解決方案,支持透傳,傳輸數據準確率較高。在系統運作過程中,主控板會將各傳感器采集的數據整合,并通過該模塊傳輸至云服務器[6]。數據在安卓端顯示,同時安卓端也可以通過該模塊反向控制開發板進行相應調整。ESP8266數據流程如圖4所示。

圖4 ESP8266數據流程
本系統采用物聯網開發平臺的移動手機端平臺,可提供服務器、應用端和設備端SDK。支持高性能異步框架開發的服務器端,同時可以承載大量設備連接,讓設備所有者可以方便進行設備管理。簡單便捷的應用配合多設備支持的SDK,可以讓使用者在短時間內實現設備接入[7]。
移動手機端主要采用二維圖形實時顯示數據,并且將這些數據進行對比分析。另外,花卉識別模塊會給出科學的方案。通過具體的生長狀況和實驗數據得出科學的種植方案[8]。
此外,使用者還可以通過移動端實現手動澆水,調整相應的生長環境。安卓端顯示界面如圖5所示。
基于云平臺的智能養花系統適合喜歡養殖花卉卻工作繁忙或經常出差的人群。使用者可以通過系統實時監控花卉,同時系統會自動識別相應的植物種類,并提供科學的養殖經驗,方便使用者科學養殖植物。但該系統還不能自動識別植物的健康狀態,這是需要持續改進的方面[9-10]。