劉成濤,郭 伏,楊青松
(西安工程大學電子信息學院,西安710048)
植物的生長、發育與能量交換息息相關。在植物的生長環境中,溫度、濕度、光照、二氧化碳含量、土壤墑情等因素對其生長的每一階段都至關重要。而植物在其生長的每一階段里,不僅受周圍環境某一因素的影響,還受作物間耦合作用的影響[1]。因此,只有對植物生長環境進行實時監控監測,在結合不同植物的生長規律的基礎上,通過對環境參數的采集和分析,利用模糊智能灌溉技術實時控制植物生長的環境條件,才能使植物處于最佳生長狀態。
為此,開發出一個基于微信公眾平臺的遠程智能盆栽監測系統。該系統主要包括感知層、網絡層和應用層三部分,通過無線路由器互相連接。利用物聯網技術和微信公眾平臺建立環境監測系統,能實時獲取監測地點的溫度和濕度,實現遠程數據采集功能[2]。系統不受時間和地域限制,用戶可以在任何具備網絡覆蓋條件的場合從所關注的微信公眾號上獲取并瀏覽采集到的數據,且系統支持多用戶,多個手機客戶端可共享一臺服務器,為用戶提供很大的便捷性。用戶可借此完全掌握所監測植物的生長環境狀況,并可通過適當的調整,使盆栽生長的環境達到最優化。
基于微信公眾平臺的智能監測系統,針對的是不能實時監測以及不能自適應這一問題。它綜合利用了計算機技術、智能控制技術和農業節水技術,對農田信息,如土壤水分、空氣溫濕度、光照和二氧化碳等數據進行精確采集[3],并通過自動化控制技術智能決策灌溉的時間和用水量,只需要通過控制電磁閥的開關狀態就可對作物進行灌溉。本系統以繼電器和水泵模擬電磁閥作為執行模塊,與之前的研究相比具備以下幾點特性:
(1)實時性:作物周圍環境參數是實時變化的,因此自適應控制系統對數據的采集要做到實時精準。
(2)自適應性:作物周圍環境耦合關系復雜,因此應用模糊控制算法,構建溫室基本控制模型,實現溫室的自適應控制。
(3)安全可靠:作物周圍信息采集的準確性直接影響作物的生長狀態,因此不論STM32對環境參數的采集還是執行機構的動作都較為嚴格。
(4)低成本:低成本是本系統最基本的要求。只有低成本才能實現廣泛應用,才能體現本系統在溫室以及農業大棚中的重要意義。
本智能灌溉控制系統主要由微處理器、電磁閥、水泵、LCD液晶顯示器、傳感器、控制軟件、物聯網、微信平臺等組成。在為作物灌溉時,通過從農作物莊稼場地采集土壤溫濕度、空氣溫濕度、光照強度等數據,并基于控制算法經微控制器發送命令給執行機構,即驅動電磁閥使其做出相應動作,從而使作物長期處于最佳生長環境下。本設計是基于微信公眾平臺的智能監測系統,主要實現功能包括:土壤水分傳感器數據采集;DHT11溫濕度傳感器數據采集;LCD液晶數據顯示;參數數據存儲云平臺;微信端讀取;達到灌溉要求時電磁閥的開啟與關閉。系統框圖如圖1所示。

圖1 系統框架
傳感器模塊主要包括空氣溫濕度采集電路和土壤含水率采集電路;電源模塊是給整個系統供電;顯示模塊則是顯示當前系統所處環境的空氣溫濕度和土壤含水率數據。
執行模塊是繼電器驅動水泵電路[4],其主要控制原理為:對被控對象(灌溉區)的溫濕度和土壤水分進行實時采集,通過傳感器將模擬量轉為數字量送進控制器中,控制器將傳感器所采集到的數據經過模糊控制算法進行處理,再傳遞給各執行器(即控制器驅動電磁閥或繼電器),最終實現作物的水、光、二氧化碳等的自動補償。
微控制器運用模糊控制算法,根據當前采集到的數據進行處理,例如當溫度或濕度超過或小于預先設定的作物最適宜條件時,系統會根據當前的數據計算出偏差量,據此做出調整。系統由此實現了精確采集和實時調整,避免了作物因人力不能及時調整導致作物生長受限的局限性。這對于農作物生長大有助益,在解決勞力問題的同時也提高了作物的產量。
控制模塊(MCU)采用STM32F103,這是ARM芯片家族中通常會被用到的一款,它具有豐富的外設資源和強大的可擴展性,在同類的產品當中有較高的性價比。該模塊主要的作用是被用來控制采集到的溫濕度信息,將數據分兩路處理,一路借助Wi-Fi模塊傳入服務器,另外一路則經由串口顯示在LCD屏幕上。
環境的溫度和濕度等參數由傳感器DHT11負責采集,它是一種復合式傳感器,于出廠之前已校準其自身的數字信號輸出;在加工中也采取某種數字模塊采集及溫濕度傳感等技術[5],從而提高了傳感器的穩定度及可靠性。以電阻式濕度探測元件和NTC測溫元件構成傳感器的功能核心。對所有DHT11進行特定濕度環境下的校準,而后通過程序把采集的校準數據儲入OTP內存,供傳感器在信號檢測的工作過程中按需調用。接口通信方式選為單線制串行通信,方便快捷。除上述特點外,DHT11的體積也很小,功耗不大,信息傳輸距離最遠可達20m以上,這些優點使得它獲得了廣泛的應用。
該系統中DHT11與MCU的具體連接如圖2所示。

圖2 溫濕度DHT11模塊與MCU的連接
Wi-Fi模塊采用的是有人物聯網科技公司的USR-WIFI232-D2模塊,用于實現Wi-Fi與串口的轉換,將不具備網絡連接功能的單片機接入互聯網,使其配置為STA模式連接到路由器上,組成一個無線網絡,從而向服務器發送數據。
其原理如圖3所示。如圖可見,Wi-Fi模塊的TXD、RXD分別接到 ARM的 PA10(U1_RXD)與PA11(U1_TXD)上,從而完成ARM端與Wi-Fi模塊的串口。

圖3 Wi-Fi模塊原理圖
液屏顯示模塊原理如圖4所示,在硬件設計上同時支持LCD彩屏與OLED。
16萬色的LCD彩屏作為顯示元件,相對于普通的數碼管顯示元件具有更豐富的顯示色彩,且可觸屏操作,嵌入方便,可實現強大的用戶交互系統的設計。而另一方面,OLED具有功耗小、成本低等優勢。本系統采用兩種顯示方式,以適應不同用戶與不同場合[6]。

圖4 LCD顯示模塊原理圖
空氣溫度、空氣濕度和土壤濕度是影響作物生長的三個重要因子,互相之間具有較強的耦合關系;而光照與二氧化碳耦合度較低,易于獨立控制,因此以空氣溫濕度、土壤濕度作為輸入量來說明模糊控制方法。
輸入量模糊化采用瑪達尼法。如果輸入量X的實際變化范圍為[a,b],則把[a,b]映射為區間[-6,6],并使之離散化,構成論域[-6,6]內的13個整數元素的A,即A={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},此過程即為分級。若X∈[a,b],將X映射為[-6,6]內的離散變量為y,則y與X轉換公式為:

由式(1)計算出的y若不是整數,可將它歸入最接近于y的整數。然后再將區間[-6,6]分為若干檔,每一檔對應一個語言值,每一語言值對應一個模糊集合。若分為7檔,則有{NB,NM,NS,ZO,PS,PM,PB},集合中各元素的含義分別為:負大、負中、負小、零、正小、正中、正大。每一個這樣的模糊集合對應一個隸屬度函數,一般采用高斯函數。
輸入變量為空氣濕度偏差H、空氣溫度偏差T、土壤濕度偏差W,其論域皆為[-6,6];輸出變量為閥門開啟度,其論域為[0,3]。利用MATLAB模糊工具包進行規則推理,過程如圖5所示。
利用模糊規則所得結果如圖6所示。其中,W=-6,H=-2,T=0,U=2.27,表示當土壤濕度偏差為NB,空氣濕度偏差為ZO,空氣溫度偏差為ZO時閥門應盡量全開。又如W=0,H=1.6,T=6,U=1,則表示當土壤濕度偏差為ZO,空氣濕度偏差為PS,空氣溫度偏差為PB時閥門應半開。實際控制時控制量“2.27”級和“1”級要轉換為精確的物理量才有效。“2.27”和“1”這個等級的控制電壓精確值可根據事先確定的范圍計算出來。通過這個精確量去控制閥門的電壓,從而實現對閥門開啟度的控制。

圖5 Simulink仿真圖

圖6 模糊控制規則瀏覽器
服務器與數據庫是通過HTTP協議的GET請求方式將傳感器發送來的數據進行傳輸的,具體采用的是目前比較流行的PHP(Hypertext Preprocessor)腳本語言進行代碼實現。
為了將Wi-Fi模塊送上來的數據存儲到數據庫,這里采用GET的方式。具體的GET請求為:

其中wangerniu.com是阿里云服務器的主機域名;tj.php為存儲數據到數據庫的文件,w為指標溫度,s為指標濕度。用PHP腳本語言實現數據的存儲。PHP是一種通用開源腳本語言,幾乎支持所有流行的數據庫以及操作系統,而且是免費的,因此使用極其廣泛。此處采用PHP語言來與MYSQL進行數據庫連接,如圖7即為PHP實現數據存儲的語句與界面。

圖7 用PHP實現數據的存儲
利用微信公眾平臺的遠程檢測系統,在手機端微信軟件中開展與實現本系統。要使得手機微信公眾號發送的請求命令能夠被響應,需要將手機微信公眾號與服務器綁定。綁定之后,微信公眾號發送請求指令到服務器,服務器讀取數據庫中的數據發送回微信公眾號[7]。該指令和返回消息的具體文字信息是在服務器端用PHP語言寫好的,比如本系統中公眾微信號發送請求指令“溫度”,會得到回復信息當前時間的硬件設備所處位置的溫度數據;公眾微信號發送請求指令“濕度”,同樣會得到回復信息當前時間的硬件設備所在地的濕度數據。這樣的阿里云服務器-微信服務器-客戶端消息收發系統的工作原理如圖8所示。
數學知識內容是嚴謹的,很多單純的數學知識教學,會讓學生感到枯燥無味,教師可以結合教學內容,依據小學生的心理特點,創設相應的故事情節,不但可以吸引學生的注意力,還可以激發學生的學習興趣,讓學生樂于參與數學學習。

圖8 阿里服務器-微信服務器-客戶端消息收發原理
程序下載后進行調試,采集模塊測試如下:
(1)TFTLCD顯示
采用逐步調試,先對LCD顯示模塊進行調試,用于顯示本設計課題、學校名稱以及后續要采集的空氣溫度、濕度和土壤濕度數值。
(2)DHT11空氣溫濕度采集
同樣采用逐步調試方式,將DHT11傳感器采集的溫濕度值顯示在LCD屏上,此數據將用于模糊控制算法中。
該模塊同樣也采用逐步調試方法,利用AD轉換將采集到的土壤濕度值顯示在LCD屏上。此數值表示當前土壤實際濕度,利用AD轉換采集10次,求取平均值,再以百分比的形式表示[8]。該數值將用于模糊神控制算法中。
整體界面顯示效果如圖9所示。

圖9 TFTLCD顯示效果
手機用戶通過微信與阿里云平臺連接,下位機將采集來的數據發送給云平臺存儲。微信端可以通過發送指令的方式讀取當前植物所處環境的參數數據。圖10為微信端讀取到下位機數據時的效果。

圖10 微信讀取到下位機的數據
控制模塊運行情況如下:
本系統以水泵的抽水時間來表示電磁閥的4個狀態——關(水泵不工作,抽水時間為0min)、半開(水泵工作,抽水時間 0~3min)、中等(水泵工作,抽水時間 3~4min)、全開(水泵工作,抽水時間 5min)。經多次測試,所得空氣溫度、空氣濕度、土壤濕度三個參量和水泵抽水時間的關系如表1所示。

表1 空氣溫濕度、土壤濕度與水泵抽水時間的關系
表1中,如第二組數據,空氣溫度12℃,空氣濕度23%,土壤濕度73%時,抽水時間為0 min,表示在當前環境下水泵不抽水,對應電磁閥為關閉狀態;第四組數據中空氣溫度45℃,空氣濕度5%,土壤濕度19%時,抽水時間為2min,表示在當前環境下水泵抽水,對應電磁閥為半開狀態;第五組數據中空氣溫度43℃,空氣濕度29%,土壤濕度5%時,抽水時間為5min,表示在當前環境下水泵抽水,對應電磁閥為全開狀態。
從大量測試實驗的結果中可知,本設計的基于微信公眾平臺的智能型環境監測系統運行正常,能夠完成溫濕度參數的信息采集,完成公眾號的基本信息收發和高級消息推送功能,也可有效實時遠程監測生活環境的溫濕度變化情況。該設備采用目前國內較少使用的物聯網與微信公眾平臺相結合的模式,使得系統不受時間和地域的限制即可將檢測結果對外共享,方便其他用戶了解環境情況;同時還具有用戶操作簡單、高效且易于推廣等優點。但由于Wi-Fi無線網絡傳送數據有時會有延遲,在微信端請求指令的過程中,檢測的數據為數據庫前8~9s的數據,使得獲取的當前信息可能與LCD顯示屏上的信息出現不同步的現象,在下一步的研究工作中將會針對這一問題著手改善。