白玉立,劉建粉
(平頂山學(xué)院 信息工程學(xué)院,河南 平頂山 467000)
隨著科技的發(fā)展,許多城鄉(xiāng)居民為了美化環(huán)境,凈化空氣,喜歡在家中陽臺(tái)種植花草。植物的生長需要一定的環(huán)境,土壤濕度、外界光照、溫度等都會(huì)影響植物的健康生長。若人們因?yàn)殚L時(shí)間出差不在家,植物會(huì)因?yàn)槿鄙僬兆o(hù)而枯萎死亡。缺水、光照強(qiáng)、溫度高等一系列環(huán)境的變化也會(huì)影響植物的正常生長,帶來經(jīng)濟(jì)損失和精神上的不愉悅。
大多數(shù)自動(dòng)澆花系統(tǒng)利用虹吸原理,即利用滲透方式澆花,這種澆花方式的過程是連續(xù)的、不間斷的,采用這種方式只能保證花不會(huì)干旱而死[1]。一些自動(dòng)澆水系統(tǒng)可以設(shè)定澆灌時(shí)間,但卻無法確定花卉是否需要澆水?;诖耍疚脑O(shè)計(jì)了實(shí)時(shí)監(jiān)測植物生長環(huán)境的改變,并及時(shí)作出相應(yīng)調(diào)整,以保證植物處于最佳生長環(huán)境的智能養(yǎng)花系統(tǒng)。
該系統(tǒng)根據(jù)功能不同設(shè)計(jì)了數(shù)據(jù)模塊、花卉識(shí)別模塊、云平臺(tái)模塊和顯示模塊?;ɑ茏R(shí)別模塊用于分析花卉的品種,并給出科學(xué)的種植數(shù)據(jù),鑒于此,數(shù)據(jù)模塊可以進(jìn)行花卉生長環(huán)境的調(diào)整。同時(shí),將相應(yīng)的數(shù)據(jù)通過云平臺(tái)解析并傳輸?shù)斤@示模塊,使用者還可以通過顯示模塊反向調(diào)整花卉的生長環(huán)境。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 智能養(yǎng)花系統(tǒng)結(jié)構(gòu)
智能養(yǎng)花系統(tǒng)主要包括數(shù)據(jù)模塊、花卉識(shí)別模塊、云平臺(tái)模塊和顯示模塊。智能養(yǎng)花系統(tǒng)功能模塊如圖2所示。
圖2 智能養(yǎng)花系統(tǒng)功能模塊
數(shù)據(jù)模塊分為環(huán)境數(shù)據(jù)采集和生長環(huán)境自動(dòng)調(diào)整兩部分。數(shù)據(jù)采集模塊主要采用土壤濕度傳感器、光敏傳感器、溫濕度傳感器實(shí)時(shí)監(jiān)測花卉生長環(huán)境,如果環(huán)境發(fā)生改變,不適合花卉的生長,系統(tǒng)會(huì)自動(dòng)調(diào)整,使環(huán)境盡可能滿足花卉植物的生長需求。
系統(tǒng)工作過程中,土壤濕度傳感器插入花盆之中,大概一秒采集一次土壤濕度值,假如低于預(yù)定的閾值700,水泵會(huì)自啟動(dòng),向花盆抽水。植物生長過程中,光線太過強(qiáng)烈也會(huì)產(chǎn)生不良影響。這時(shí),光敏傳感器會(huì)檢測花卉的光照程度,假如陽光過于強(qiáng)烈,相應(yīng)舵機(jī)啟動(dòng),遮光板打開,避免花卉受到過多光線的刺激。溫濕度傳感器監(jiān)測室內(nèi)的溫度和濕度。假如空氣過于干燥,加濕器啟動(dòng)。有些植物對溫度的要求較高,故系統(tǒng)加設(shè)了溫控?zé)簦覂?nèi)溫度一旦低于閾值,溫控?zé)糸_啟,保證植物處于最佳的生長環(huán)境[2]。
溫室里的盆栽需要每天通風(fēng),尤其是中午時(shí)分氣溫較高時(shí),流動(dòng)的空氣有助于植物的生長。系統(tǒng)配備的風(fēng)扇模塊每4 h進(jìn)行一次10 min的通風(fēng),保證植物正常生長。數(shù)據(jù)模塊的程序設(shè)計(jì)流程如圖3所示。
圖3 數(shù)據(jù)模塊的程序設(shè)計(jì)流程
花卉識(shí)別模塊主要借助百度云AI平臺(tái),通過對ESP32-CAM攝像頭獲取的視頻流截取相應(yīng)圖像,在百度云平臺(tái)創(chuàng)建API接口,編寫相應(yīng)API,實(shí)現(xiàn)圖片選取和識(shí)別功能[3]。將圖片上傳至云服務(wù)器進(jìn)行圖片預(yù)處理。預(yù)處理是訓(xùn)練獲得的花卉圖片,構(gòu)造需要的數(shù)據(jù)結(jié)構(gòu)。之后利用TensorFlow實(shí)現(xiàn)CNN模型,通過兩層卷積和池化處理,并使用梯度下降算法作為優(yōu)化器,使用Softmax算法作為分類器,將Ordinary Least Squares作為優(yōu)化器,構(gòu)建相應(yīng)的訓(xùn)練模型,之后再對模型進(jìn)行訓(xùn)練,最終得到訓(xùn)練后的模型數(shù)據(jù),并以文件形式存儲(chǔ)至服務(wù)器。最后,利用TensorFlow的reduce_mean方法作為評估模型,對構(gòu)建的花卉分類模型的準(zhǔn)確性進(jìn)行測試。在測試相應(yīng)實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確度之后,構(gòu)建測試模型[4]。
將測試完成的數(shù)據(jù)返還給開發(fā)板,在顯示模塊中可以清楚看到相應(yīng)花卉的種類以及科學(xué)的養(yǎng)殖方案。使用者可以根據(jù)方案進(jìn)行硬件模塊閾值的設(shè)定。
2.3.1 云服務(wù)器
本系統(tǒng)采用云服務(wù)器分析整合和傳輸數(shù)據(jù)。建立云服務(wù)器后接收采集的數(shù)據(jù)[5]。建立接收處理程序,該接收處理程序可有多個(gè)形式,只需提供接收數(shù)據(jù)的連接即可,系統(tǒng)使用MQTT服務(wù)。之后將采集的數(shù)據(jù)連接到云服務(wù)器提供的接收處理程序,完成相應(yīng)數(shù)據(jù)的上傳。將采集的數(shù)據(jù)通過WiFi傳輸?shù)椒?wù)器,數(shù)據(jù)傳輸協(xié)議視為接收處理程序。
之后在云服務(wù)器上存儲(chǔ)采集的數(shù)據(jù),本系統(tǒng)采用MySQL數(shù)據(jù)庫存儲(chǔ)相應(yīng)數(shù)據(jù)。最后在終端顯示相應(yīng)數(shù)據(jù),并通過安卓端顯示環(huán)境數(shù)據(jù)值。
2.3.2 數(shù)據(jù)通信
數(shù)據(jù)通信采用ESP8266模塊,ESP8266是一款UART轉(zhuǎn)WiFi SOC,是完整且自成體系的WiFi網(wǎng)絡(luò)解決方案,支持透傳,傳輸數(shù)據(jù)準(zhǔn)確率較高。在系統(tǒng)運(yùn)作過程中,主控板會(huì)將各傳感器采集的數(shù)據(jù)整合,并通過該模塊傳輸至云服務(wù)器[6]。數(shù)據(jù)在安卓端顯示,同時(shí)安卓端也可以通過該模塊反向控制開發(fā)板進(jìn)行相應(yīng)調(diào)整。ESP8266數(shù)據(jù)流程如圖4所示。
圖4 ESP8266數(shù)據(jù)流程
本系統(tǒng)采用物聯(lián)網(wǎng)開發(fā)平臺(tái)的移動(dòng)手機(jī)端平臺(tái),可提供服務(wù)器、應(yīng)用端和設(shè)備端SDK。支持高性能異步框架開發(fā)的服務(wù)器端,同時(shí)可以承載大量設(shè)備連接,讓設(shè)備所有者可以方便進(jìn)行設(shè)備管理。簡單便捷的應(yīng)用配合多設(shè)備支持的SDK,可以讓使用者在短時(shí)間內(nèi)實(shí)現(xiàn)設(shè)備接入[7]。
移動(dòng)手機(jī)端主要采用二維圖形實(shí)時(shí)顯示數(shù)據(jù),并且將這些數(shù)據(jù)進(jìn)行對比分析。另外,花卉識(shí)別模塊會(huì)給出科學(xué)的方案。通過具體的生長狀況和實(shí)驗(yàn)數(shù)據(jù)得出科學(xué)的種植方案[8]。
此外,使用者還可以通過移動(dòng)端實(shí)現(xiàn)手動(dòng)澆水,調(diào)整相應(yīng)的生長環(huán)境。安卓端顯示界面如圖5所示。
基于云平臺(tái)的智能養(yǎng)花系統(tǒng)適合喜歡養(yǎng)殖花卉卻工作繁忙或經(jīng)常出差的人群。使用者可以通過系統(tǒng)實(shí)時(shí)監(jiān)控花卉,同時(shí)系統(tǒng)會(huì)自動(dòng)識(shí)別相應(yīng)的植物種類,并提供科學(xué)的養(yǎng)殖經(jīng)驗(yàn),方便使用者科學(xué)養(yǎng)殖植物。但該系統(tǒng)還不能自動(dòng)識(shí)別植物的健康狀態(tài),這是需要持續(xù)改進(jìn)的方面[9-10]。