陳茂芳,譚程霈,李偉賓,鄧帶弟,阮芝鶯
(玉林師范學(xué)院,廣西玉林,537000)
當(dāng)前農(nóng)業(yè)在將多個參數(shù)融合在一起方面存在一些挑戰(zhàn)。盡管農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)的應(yīng)用已經(jīng)實現(xiàn)了對溫室大棚土壤、氣候、作物生長等數(shù)據(jù)的實時監(jiān)測和管理,但是目前還沒有很好地實現(xiàn)將這些參數(shù)融合在一起進行綜合分析和決策的技術(shù)手段。究其原因,一方面農(nóng)業(yè)數(shù)據(jù)的收集和管理尚未建立起完善的數(shù)據(jù)平臺和標(biāo)準(zhǔn)。農(nóng)業(yè)生產(chǎn)中涉及的參數(shù)眾多,包括土壤水分、溫度、濕度、光照強度、作物生長情況等,這些數(shù)據(jù)往往分散在不同的系統(tǒng)和設(shè)備中,缺乏統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn)和接口,導(dǎo)致數(shù)據(jù)的整合和分析困難。另一方面,農(nóng)業(yè)數(shù)據(jù)的分析和決策支持技術(shù)還不夠成熟。雖然現(xiàn)有的數(shù)據(jù)分析技術(shù)可以對單個參數(shù)進行分析和預(yù)測,但是將多個參數(shù)融合在一起進行綜合分析和決策仍然面臨一定的挑戰(zhàn)。例如,如何確定不同參數(shù)之間的關(guān)聯(lián)性和權(quán)重,如何建立多參數(shù)的模型和算法等都是需要進一步研究和探索的問題?;谝陨喜蛔?,設(shè)計基于STM32 的溫室大棚調(diào)節(jié)系統(tǒng)。
基于STM32 的溫室大棚調(diào)節(jié)系統(tǒng)由數(shù)據(jù)采集部分,數(shù)據(jù)傳輸部分,數(shù)據(jù)處理部分,控制執(zhí)行模塊部分,數(shù)據(jù)顯示部分及目標(biāo)設(shè)定與人為調(diào)節(jié)部分組成。數(shù)據(jù)采集部分負責(zé)采集溫室大棚的農(nóng)作物生長相關(guān)的數(shù)據(jù)。數(shù)據(jù)傳輸負責(zé)把采集到的數(shù)據(jù)上傳到服務(wù)器。數(shù)據(jù)處理負責(zé)將采集回來的數(shù)據(jù)進行分析得到是否與系統(tǒng)允許的參數(shù)存在偏差,當(dāng)存在偏差時。控制執(zhí)行部分負責(zé)調(diào)節(jié)相應(yīng)機器時使系統(tǒng)的參數(shù)在系統(tǒng)允許的參數(shù)區(qū)間上。數(shù)據(jù)顯示部分負責(zé)將采集回來的數(shù)據(jù)顯示出來。目標(biāo)設(shè)定與人為調(diào)節(jié)部分是在系統(tǒng)存在偏差或為系統(tǒng)提供數(shù)據(jù)集時使用,具體流程如圖1 所示。
圖1 系統(tǒng)設(shè)計示意圖
數(shù)據(jù)采集主要負責(zé)采集溫室大棚中的氣象信息、土壤信息、農(nóng)作物圖像信息,數(shù)據(jù)采集模塊具體采集的數(shù)據(jù)見圖2。STM32 通過協(xié)議獲取來自不同傳感器檢測到的信息,并通過數(shù)據(jù)傳輸模塊將數(shù)據(jù)上傳到服務(wù)器中。
圖2 數(shù)據(jù)采集示意圖
2.1.1 氣象信息
氣象信息主要由氣象站檢測系統(tǒng)模塊負責(zé),用于采集影響農(nóng)作物生長的各類氣象信息,如空氣溫度,空氣濕度,光照強度,風(fēng)速風(fēng)向,大氣壓,降雨量等[1],考慮野外環(huán)境的特點,氣象站監(jiān)測系統(tǒng)采用風(fēng)能、太陽能互補供電的模式[2]。
2.1.2 土壤信息
土壤信息主要通過土壤檢測模塊來完成,用于采集影響農(nóng)作物生長的各類信息(包括土壤溫度,土壤濕度,土壤水分、鹽度等),由于需要長時間在土壤中放置土壤檢測模塊,其對于傳感器的耐腐蝕和抗氧化有極高的要求,同時為了提高土壤檢測模塊數(shù)據(jù)的準(zhǔn)確性,需要定期對土壤檢測模塊的數(shù)據(jù)進行檢查,當(dāng)超過一定誤差值后需要進行更換。
2.1.3 農(nóng)作物圖像信息
農(nóng)作物圖像信息主要通過OpenMV 攝像頭來實現(xiàn),通過攝像頭來獲取該區(qū)域溫室大棚的農(nóng)作物信息,攝像頭里面含有農(nóng)作物生長狀況評分模型,能對農(nóng)作物進行分析并將評分結(jié)果通過串口發(fā)送給主控模塊。
考慮到數(shù)據(jù)傳輸過程中應(yīng)具有準(zhǔn)確性、高速性、安全性,數(shù)據(jù)傳輸模塊采用GPRS 通信方式的SIM900A 可以很好地滿足要求,主控模塊將采集到的數(shù)據(jù)轉(zhuǎn)換為GPRS 協(xié)議格式進行打包,SIM900A 將數(shù)據(jù)包通過 GPRS 網(wǎng)絡(luò)和 Internet遠程傳輸?shù)奖O(jiān)測中心的服務(wù)器進行傳輸。在Web 服務(wù)器端設(shè)置接收程序,接收來自GPRS 模塊傳輸?shù)臄?shù)據(jù)。Web 服務(wù)器連接了SQL 數(shù)據(jù)庫服務(wù)器,SQL 數(shù)據(jù)庫通過TCP/IP協(xié)議接收來自服務(wù)器的數(shù)據(jù)并解析成相應(yīng)格式插入到對應(yīng)的數(shù)據(jù)庫的表格中,插入數(shù)據(jù)完成后,關(guān)閉數(shù)據(jù)庫的連接。
當(dāng)用戶在Web 瀏覽器中訪問Web 應(yīng)用時,瀏覽器會向Web 服務(wù)器發(fā)送包含需要從數(shù)據(jù)庫中檢索的數(shù)據(jù)的HTTP 請求。Web 服務(wù)器接收到客戶端發(fā)送的請求后,會根據(jù)請求的URL 和其他參數(shù)來確定要執(zhí)行的操作。如果請求需要從數(shù)據(jù)庫中檢索數(shù)據(jù),Web 服務(wù)器會使用數(shù)據(jù)庫連接庫來連接到SQL 服務(wù)器,并執(zhí)行相應(yīng)的SQL 查詢語句。SQL 服務(wù)器接收到查詢請求后,會執(zhí)行查詢操作,并返回查詢結(jié)果給Web 服務(wù)器。Web 服務(wù)器接收到SQL 服務(wù)器返回的查詢結(jié)果后,對結(jié)果進行數(shù)據(jù)進行計算和轉(zhuǎn)換處理。根據(jù)查詢結(jié)果,Web 服務(wù)器生成HTTP 響應(yīng),包含要向客戶端返回的數(shù)據(jù)。Web 服務(wù)器將生成的HTTP 響應(yīng)發(fā)送回客戶端,瀏覽器解析響應(yīng)并顯示在用戶界面上。在用戶界面可以看到數(shù)據(jù)處理后顯示出來的表格。
當(dāng)用戶需要修改目標(biāo)值,使溫室大棚系統(tǒng)達到用戶認為的理想狀態(tài),客戶端會將用戶修改的目標(biāo)值按照協(xié)議發(fā)送到Web 服務(wù)器中,Web 服務(wù)器會將數(shù)據(jù)通過SIM900A 下發(fā)到主控模塊,主控模塊收到數(shù)據(jù)后,控制執(zhí)行模塊執(zhí)行。
在數(shù)據(jù)庫服務(wù)器中分別存有數(shù)據(jù)采集模塊采集到溫室大棚的多個參數(shù)和系統(tǒng)允許的參數(shù)區(qū)間以及用戶認為理想的值,數(shù)據(jù)庫服務(wù)器會根據(jù)用戶的需要,將對應(yīng)的數(shù)據(jù)通過web 服務(wù)器發(fā)送到用戶端顯示出來。
在數(shù)據(jù)傳輸過程中,可能會在傳輸過程中丟包,導(dǎo)致數(shù)據(jù)存在錯誤,故在傳輸?shù)臄?shù)據(jù)中設(shè)置了校驗碼,當(dāng)接收到的數(shù)據(jù)中校驗碼與計算得到的要處理的數(shù)據(jù)的校驗碼不對時,自動丟棄該數(shù)據(jù)。當(dāng)系統(tǒng)丟包嚴(yán)重,導(dǎo)致系統(tǒng)久久沒有收到數(shù)據(jù)采集模塊采集回來的數(shù)據(jù),系統(tǒng)將會認為數(shù)據(jù)傳輸模塊存在損壞,提醒用戶更換。
數(shù)據(jù)處理主要在服務(wù)器后端通過機器學(xué)習(xí)來實現(xiàn)。
機器學(xué)習(xí)分為三個階段,第一個階段為數(shù)據(jù)采集和數(shù)據(jù)處理,第二個階段為模型訓(xùn)練和調(diào)優(yōu),第三個階段為模型部署應(yīng)用和模型改進。由于該溫室大棚系統(tǒng)需要分析多項參數(shù),并通過機器學(xué)習(xí)得到各個參數(shù)的最佳值后返回給控制執(zhí)行模塊執(zhí)行,而且多個參數(shù)之間并不存在很好的線性關(guān)系,故采用支持向量機和決策樹可以很好地滿足要求,通過大量數(shù)據(jù)分析可以得到,支持向量機取得的效果較好,故采用支持向量機(SVM)來對數(shù)據(jù)進行分析得到溫室大棚調(diào)節(jié)的最佳參數(shù)。
在數(shù)據(jù)采集和數(shù)據(jù)處理階段,通過數(shù)據(jù)采集模塊借助數(shù)據(jù)傳輸模塊傳入到Web 服務(wù)器中,Web 服務(wù)器后端對采集的數(shù)據(jù)進行劃分標(biāo)記然后存入數(shù)據(jù)庫中。在該階段,主要通過人為調(diào)節(jié)溫室大棚的控制執(zhí)行部分,數(shù)據(jù)采集模塊采集來獲取參數(shù),數(shù)據(jù)采集模塊中的攝像頭會對農(nóng)作物生長情況進行分析得到該區(qū)域溫室大棚的農(nóng)作物結(jié)果,結(jié)果的分?jǐn)?shù)越高,說明該區(qū)域的溫室大棚和生長狀況良好,此外,在農(nóng)作物成熟后,用戶需要對該區(qū)域的農(nóng)作物進行評分,評分越高,用戶越滿意,系統(tǒng)會將用戶的評分和攝像頭處理得到的農(nóng)作物生長情況按照一定的權(quán)重分別相乘后相加得到最終的結(jié)果并記為農(nóng)作物的品質(zhì)系數(shù)[3],并將其存入數(shù)據(jù)庫中。
在模型訓(xùn)練和調(diào)優(yōu)階段,服務(wù)器從數(shù)據(jù)庫中獲取溫室大棚生長農(nóng)作物生長的品質(zhì)系數(shù),通過SVM 模型對數(shù)據(jù)進行分析訓(xùn)練,得到該溫室大棚的農(nóng)作物生長階段的最佳參數(shù)。在模型部署應(yīng)用和模型改進階段,將上述的最佳參數(shù)下放給控制執(zhí)行模塊執(zhí)行,并再次通過攝像頭對該區(qū)域溫室大棚進行分析得到品質(zhì)系數(shù),不斷調(diào)整最佳參數(shù)的值,得到最后品質(zhì)系數(shù)最高的值對應(yīng)的參數(shù)作為最佳參數(shù)。由于在當(dāng)前參數(shù)與最佳參數(shù)差值不大時,系統(tǒng)還是可以獲得比較滿意的評分結(jié)果,且控制執(zhí)行模塊調(diào)節(jié)系統(tǒng)時使參數(shù)在最佳參數(shù)上上下抖動,不利于系統(tǒng)的穩(wěn)定性,所以設(shè)置了系統(tǒng)允許參數(shù)區(qū)間。
通過機器學(xué)習(xí),結(jié)合當(dāng)?shù)販厥掖笈锃h(huán)境的參數(shù),可以得到溫室大棚的系統(tǒng)允許參數(shù)區(qū)間,當(dāng)溫室大棚系統(tǒng)參數(shù)偏離系統(tǒng)允許的參數(shù)區(qū)間時,通過控制執(zhí)行模塊調(diào)節(jié)溫室大棚,使溫室大棚在系統(tǒng)允許的參數(shù)區(qū)間上。
控制執(zhí)行主要對溫室大棚采集回來的數(shù)據(jù)與系統(tǒng)允許參數(shù)區(qū)間存在偏差時進行處理,使得系統(tǒng)的參數(shù)在系統(tǒng)允許參數(shù)區(qū)間之內(nèi)。具體控制如圖3 所示。
數(shù)據(jù)顯示部分由觸摸屏部分和無線部分組成,無線部分由手機端和PC 端組成。用戶可以親自到現(xiàn)場,通過LCD 觸摸屏查看此時溫室大棚的溫度,濕度等和通過觸摸屏幕設(shè)置目標(biāo),不僅如此,農(nóng)民還可以通過手機APP 或PC 端來了解溫室大棚情況并通過手機APP 或PC 端來設(shè)定目標(biāo)值。
2.5.1 觸摸屏部分
觸摸屏部分使用觸摸屏,通過在觸摸屏上顯示參數(shù)讓農(nóng)民可以了解溫室大棚的情況,此外用戶按下按鍵切換到GUI圖形用戶界面,通過GUI 圖形用戶界面,農(nóng)民點擊屏幕上對應(yīng)的對象,觸摸屏根據(jù)農(nóng)民接觸到的觸摸屏上對應(yīng)電阻值的變化推測出該位置被農(nóng)民觸摸到,該位置對應(yīng)的對象隨之被認為是要處理的對象,接著觸摸屏跳轉(zhuǎn)到鍵盤操作界面,農(nóng)民通過點擊鍵盤操作界面上的鍵盤值設(shè)定該對象的目標(biāo)值,然后按下確定鍵,便將該對象的目標(biāo)值設(shè)定完成,然后觸摸屏跳回到參數(shù)顯示界面。主控模塊會通過控制執(zhí)行模塊執(zhí)行相應(yīng)的操作,使數(shù)據(jù)到達用戶設(shè)定的目標(biāo)值,并將用戶設(shè)定的數(shù)據(jù)通過SIM900A 上傳到Web 服務(wù)器中,Web 服務(wù)器根據(jù)需要進行處理和存儲到數(shù)據(jù)庫中。
2.5.2 無線部分
無線顯示部分使用無線通信模塊,用戶通過打開手機對應(yīng)的APP 或PC端了解溫室大棚的情況,手機APP 或PC 端會將服務(wù)器傳過來的當(dāng)前數(shù)據(jù)進行描點顯示,用戶可以通過圖表可以清楚地了解到溫室大棚當(dāng)前與之前的狀況,此外,用戶對于當(dāng)前系統(tǒng)的調(diào)節(jié)不滿意,用戶可以通過手機端或PC 端設(shè)定目標(biāo)值,手機端或PC 端會將數(shù)據(jù)封裝成合適的格式通過網(wǎng)絡(luò)發(fā)送到服務(wù)器上。服務(wù)器對數(shù)據(jù)進行校準(zhǔn),確認沒有問題后,下發(fā)至主控模塊,主控模塊收到數(shù)據(jù)后執(zhí)行相應(yīng)的操作。
主控模塊采用STM32F407ZGT6 開發(fā)板,該開發(fā)板是一款基于ARM Cortex-M4 內(nèi)核的微控制器,其主頻高達168MHz,且價格實惠,運算能力強,低功耗,有多個外設(shè)接口,能極大地保證溫室大棚灌溉系統(tǒng)的工作效率。主控模塊原理圖如圖4 所示。
圖4 主控模塊原理圖
土壤檢測模塊使用的是來自威廉士的五插針土壤多參數(shù)傳感器。當(dāng)傳感器插入土壤時,電解液溶液在傳感器和土壤之間獲得平衡。液體中的離子將迅速擴散到土壤中,并與水中的離子達到平衡。通過這種方式,傳感器可以測量出有用的信息,例如土壤水分、鹽度以及溫度等參數(shù)。同時,傳感器還可以通過計算這些信息來預(yù)測其他參數(shù),如根部吸收力和養(yǎng)分含量。該模塊穩(wěn)定靈敏度高,響應(yīng)快,輸出穩(wěn)定,適用于各種土質(zhì),能很好地勝任土壤檢測。其外形如圖5所示。
圖5 土壤檢測模塊外形圖
SIM900A 是一款基于GSM/GPRS 技術(shù)的無線通信模塊,具有全球通信覆蓋,支持全球四頻段(850/900/1800/1900 MHz)的GSM 網(wǎng)絡(luò),可以在世界范圍內(nèi)進行通信;高性能:SIM900A 模塊具有強大的處理能力和高速數(shù)據(jù)傳輸能力,最大下載速率為85.6 kbps,最大上傳速率為42.8 kbps;多種通信接口:支持多種通信接口;低功耗設(shè)計:采用了低功耗設(shè)計,工作電流較低,適合應(yīng)用于電池供電的設(shè)備,可以延長設(shè)備的續(xù)航時間;豐富的功能:SIM900A 支持語音通話、短信發(fā)送與接收、GPRS 數(shù)據(jù)傳輸、TCP/IP 協(xié)議等功能,可以廣泛應(yīng)用于物聯(lián)網(wǎng)、遠程監(jiān)控、智能家居等領(lǐng)域;穩(wěn)定可靠:SIM900A 模塊具有穩(wěn)定可靠的性能,能夠在各種環(huán)境條件下正常工作。其原理圖如圖6 所示。
圖6 SIM900A原理圖
OpenMV 攝像頭是一款基于MicroPython 的嵌入式計算機視覺模塊,具有強大的計算能力:OpenMV 攝像頭搭載了高性能的ARM Cortex-M7 處理器,運行頻率高達216 MHz,能夠?qū)崿F(xiàn)實時的圖像處理和計算視覺算法;具有豐富的圖像處理功能:OpenMV 攝像頭內(nèi)置了豐富的圖像處理庫和算法,包括顏色追蹤、形狀檢測、人臉識別、條碼識別等,可以滿足各種計算機視覺應(yīng)用的需求,能很好地對溫室大棚的環(huán)境進行拍攝。OpenMV 攝像頭原理圖如圖7 所示。
圖7 OpenMV 原理圖
觸摸屏使用的是ILI9341 液晶顯示屏,它是一款主流的TFT 液晶屏驅(qū)動芯片,它具有以下幾個優(yōu)點:(1)高分辨率:ILI9341 支持最高320×240 分辨率,可以滿足大多數(shù)嵌入式設(shè)備的顯示需求。(2)低功耗:ILI9341 采用了先進的電源管理技術(shù),能夠有效降低電源消耗,延長使用時間。(3)高速傳輸:ILI9341 支持SPI 接口和8 位并口接口兩種數(shù)據(jù)傳輸方式,在SPI 模式下可達到最高60fps 的刷新速度。(4)顯示效果好:ILI9341 采用16 位色彩格式,可以呈現(xiàn)出豐富的顏色,并具有較高的對比度和亮度。能很好地顯示數(shù)據(jù)并觸摸屏幕設(shè)置目標(biāo)值。其原理圖如圖8 所示。
圖8 觸摸屏原理圖
針對當(dāng)前農(nóng)業(yè)在將多個參數(shù)融合存在的問題,本文提出采用機器學(xué)習(xí)來解決,借助服務(wù)器強大的處理數(shù)據(jù)能力,得到系統(tǒng)的允許參數(shù)區(qū)間,此外,使用精準(zhǔn)的數(shù)據(jù)采集模塊獲取到準(zhǔn)確的數(shù)據(jù)和可靠的數(shù)據(jù)傳輸模塊傳輸數(shù)據(jù),使得用戶可以遠程了解溫室大棚的實時情況,對于農(nóng)業(yè)智能化有一定的推動作用。