劉成濤,郭 伏,楊青松
(西安工程大學(xué)電子信息學(xué)院,西安710048)
植物的生長(zhǎng)、發(fā)育與能量交換息息相關(guān)。在植物的生長(zhǎng)環(huán)境中,溫度、濕度、光照、二氧化碳含量、土壤墑情等因素對(duì)其生長(zhǎng)的每一階段都至關(guān)重要。而植物在其生長(zhǎng)的每一階段里,不僅受周圍環(huán)境某一因素的影響,還受作物間耦合作用的影響[1]。因此,只有對(duì)植物生長(zhǎng)環(huán)境進(jìn)行實(shí)時(shí)監(jiān)控監(jiān)測(cè),在結(jié)合不同植物的生長(zhǎng)規(guī)律的基礎(chǔ)上,通過(guò)對(duì)環(huán)境參數(shù)的采集和分析,利用模糊智能灌溉技術(shù)實(shí)時(shí)控制植物生長(zhǎng)的環(huán)境條件,才能使植物處于最佳生長(zhǎng)狀態(tài)。
為此,開(kāi)發(fā)出一個(gè)基于微信公眾平臺(tái)的遠(yuǎn)程智能盆栽監(jiān)測(cè)系統(tǒng)。該系統(tǒng)主要包括感知層、網(wǎng)絡(luò)層和應(yīng)用層三部分,通過(guò)無(wú)線路由器互相連接。利用物聯(lián)網(wǎng)技術(shù)和微信公眾平臺(tái)建立環(huán)境監(jiān)測(cè)系統(tǒng),能實(shí)時(shí)獲取監(jiān)測(cè)地點(diǎn)的溫度和濕度,實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集功能[2]。系統(tǒng)不受時(shí)間和地域限制,用戶可以在任何具備網(wǎng)絡(luò)覆蓋條件的場(chǎng)合從所關(guān)注的微信公眾號(hào)上獲取并瀏覽采集到的數(shù)據(jù),且系統(tǒng)支持多用戶,多個(gè)手機(jī)客戶端可共享一臺(tái)服務(wù)器,為用戶提供很大的便捷性。用戶可借此完全掌握所監(jiān)測(cè)植物的生長(zhǎng)環(huán)境狀況,并可通過(guò)適當(dāng)?shù)恼{(diào)整,使盆栽生長(zhǎng)的環(huán)境達(dá)到最優(yōu)化。
基于微信公眾平臺(tái)的智能監(jiān)測(cè)系統(tǒng),針對(duì)的是不能實(shí)時(shí)監(jiān)測(cè)以及不能自適應(yīng)這一問(wèn)題。它綜合利用了計(jì)算機(jī)技術(shù)、智能控制技術(shù)和農(nóng)業(yè)節(jié)水技術(shù),對(duì)農(nóng)田信息,如土壤水分、空氣溫濕度、光照和二氧化碳等數(shù)據(jù)進(jìn)行精確采集[3],并通過(guò)自動(dòng)化控制技術(shù)智能決策灌溉的時(shí)間和用水量,只需要通過(guò)控制電磁閥的開(kāi)關(guān)狀態(tài)就可對(duì)作物進(jìn)行灌溉。本系統(tǒng)以繼電器和水泵模擬電磁閥作為執(zhí)行模塊,與之前的研究相比具備以下幾點(diǎn)特性:
(1)實(shí)時(shí)性:作物周圍環(huán)境參數(shù)是實(shí)時(shí)變化的,因此自適應(yīng)控制系統(tǒng)對(duì)數(shù)據(jù)的采集要做到實(shí)時(shí)精準(zhǔn)。
(2)自適應(yīng)性:作物周圍環(huán)境耦合關(guān)系復(fù)雜,因此應(yīng)用模糊控制算法,構(gòu)建溫室基本控制模型,實(shí)現(xiàn)溫室的自適應(yīng)控制。
(3)安全可靠:作物周圍信息采集的準(zhǔn)確性直接影響作物的生長(zhǎng)狀態(tài),因此不論STM32對(duì)環(huán)境參數(shù)的采集還是執(zhí)行機(jī)構(gòu)的動(dòng)作都較為嚴(yán)格。
(4)低成本:低成本是本系統(tǒng)最基本的要求。只有低成本才能實(shí)現(xiàn)廣泛應(yīng)用,才能體現(xiàn)本系統(tǒng)在溫室以及農(nóng)業(yè)大棚中的重要意義。
本智能灌溉控制系統(tǒng)主要由微處理器、電磁閥、水泵、LCD液晶顯示器、傳感器、控制軟件、物聯(lián)網(wǎng)、微信平臺(tái)等組成。在為作物灌溉時(shí),通過(guò)從農(nóng)作物莊稼場(chǎng)地采集土壤溫濕度、空氣溫濕度、光照強(qiáng)度等數(shù)據(jù),并基于控制算法經(jīng)微控制器發(fā)送命令給執(zhí)行機(jī)構(gòu),即驅(qū)動(dòng)電磁閥使其做出相應(yīng)動(dòng)作,從而使作物長(zhǎng)期處于最佳生長(zhǎng)環(huán)境下。本設(shè)計(jì)是基于微信公眾平臺(tái)的智能監(jiān)測(cè)系統(tǒng),主要實(shí)現(xiàn)功能包括:土壤水分傳感器數(shù)據(jù)采集;DHT11溫濕度傳感器數(shù)據(jù)采集;LCD液晶數(shù)據(jù)顯示;參數(shù)數(shù)據(jù)存儲(chǔ)云平臺(tái);微信端讀?。贿_(dá)到灌溉要求時(shí)電磁閥的開(kāi)啟與關(guān)閉。系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)框架
傳感器模塊主要包括空氣溫濕度采集電路和土壤含水率采集電路;電源模塊是給整個(gè)系統(tǒng)供電;顯示模塊則是顯示當(dāng)前系統(tǒng)所處環(huán)境的空氣溫濕度和土壤含水率數(shù)據(jù)。
執(zhí)行模塊是繼電器驅(qū)動(dòng)水泵電路[4],其主要控制原理為:對(duì)被控對(duì)象(灌溉區(qū))的溫濕度和土壤水分進(jìn)行實(shí)時(shí)采集,通過(guò)傳感器將模擬量轉(zhuǎn)為數(shù)字量送進(jìn)控制器中,控制器將傳感器所采集到的數(shù)據(jù)經(jīng)過(guò)模糊控制算法進(jìn)行處理,再傳遞給各執(zhí)行器(即控制器驅(qū)動(dòng)電磁閥或繼電器),最終實(shí)現(xiàn)作物的水、光、二氧化碳等的自動(dòng)補(bǔ)償。
微控制器運(yùn)用模糊控制算法,根據(jù)當(dāng)前采集到的數(shù)據(jù)進(jìn)行處理,例如當(dāng)溫度或濕度超過(guò)或小于預(yù)先設(shè)定的作物最適宜條件時(shí),系統(tǒng)會(huì)根據(jù)當(dāng)前的數(shù)據(jù)計(jì)算出偏差量,據(jù)此做出調(diào)整。系統(tǒng)由此實(shí)現(xiàn)了精確采集和實(shí)時(shí)調(diào)整,避免了作物因人力不能及時(shí)調(diào)整導(dǎo)致作物生長(zhǎng)受限的局限性。這對(duì)于農(nóng)作物生長(zhǎng)大有助益,在解決勞力問(wèn)題的同時(shí)也提高了作物的產(chǎn)量。
控制模塊(MCU)采用STM32F103,這是ARM芯片家族中通常會(huì)被用到的一款,它具有豐富的外設(shè)資源和強(qiáng)大的可擴(kuò)展性,在同類的產(chǎn)品當(dāng)中有較高的性價(jià)比。該模塊主要的作用是被用來(lái)控制采集到的溫濕度信息,將數(shù)據(jù)分兩路處理,一路借助Wi-Fi模塊傳入服務(wù)器,另外一路則經(jīng)由串口顯示在LCD屏幕上。
環(huán)境的溫度和濕度等參數(shù)由傳感器DHT11負(fù)責(zé)采集,它是一種復(fù)合式傳感器,于出廠之前已校準(zhǔn)其自身的數(shù)字信號(hào)輸出;在加工中也采取某種數(shù)字模塊采集及溫濕度傳感等技術(shù)[5],從而提高了傳感器的穩(wěn)定度及可靠性。以電阻式濕度探測(cè)元件和NTC測(cè)溫元件構(gòu)成傳感器的功能核心。對(duì)所有DHT11進(jìn)行特定濕度環(huán)境下的校準(zhǔn),而后通過(guò)程序把采集的校準(zhǔn)數(shù)據(jù)儲(chǔ)入OTP內(nèi)存,供傳感器在信號(hào)檢測(cè)的工作過(guò)程中按需調(diào)用。接口通信方式選為單線制串行通信,方便快捷。除上述特點(diǎn)外,DHT11的體積也很小,功耗不大,信息傳輸距離最遠(yuǎn)可達(dá)20m以上,這些優(yōu)點(diǎn)使得它獲得了廣泛的應(yīng)用。
該系統(tǒng)中DHT11與MCU的具體連接如圖2所示。
圖2 溫濕度DHT11模塊與MCU的連接
Wi-Fi模塊采用的是有人物聯(lián)網(wǎng)科技公司的USR-WIFI232-D2模塊,用于實(shí)現(xiàn)Wi-Fi與串口的轉(zhuǎn)換,將不具備網(wǎng)絡(luò)連接功能的單片機(jī)接入互聯(lián)網(wǎng),使其配置為STA模式連接到路由器上,組成一個(gè)無(wú)線網(wǎng)絡(luò),從而向服務(wù)器發(fā)送數(shù)據(jù)。
其原理如圖3所示。如圖可見(jiàn),Wi-Fi模塊的TXD、RXD分別接到 ARM的 PA10(U1_RXD)與PA11(U1_TXD)上,從而完成ARM端與Wi-Fi模塊的串口。
圖3 Wi-Fi模塊原理圖
液屏顯示模塊原理如圖4所示,在硬件設(shè)計(jì)上同時(shí)支持LCD彩屏與OLED。
16萬(wàn)色的LCD彩屏作為顯示元件,相對(duì)于普通的數(shù)碼管顯示元件具有更豐富的顯示色彩,且可觸屏操作,嵌入方便,可實(shí)現(xiàn)強(qiáng)大的用戶交互系統(tǒng)的設(shè)計(jì)。而另一方面,OLED具有功耗小、成本低等優(yōu)勢(shì)。本系統(tǒng)采用兩種顯示方式,以適應(yīng)不同用戶與不同場(chǎng)合[6]。
圖4 LCD顯示模塊原理圖
空氣溫度、空氣濕度和土壤濕度是影響作物生長(zhǎng)的三個(gè)重要因子,互相之間具有較強(qiáng)的耦合關(guān)系;而光照與二氧化碳耦合度較低,易于獨(dú)立控制,因此以空氣溫濕度、土壤濕度作為輸入量來(lái)說(shuō)明模糊控制方法。
輸入量模糊化采用瑪達(dá)尼法。如果輸入量X的實(shí)際變化范圍為[a,b],則把[a,b]映射為區(qū)間[-6,6],并使之離散化,構(gòu)成論域[-6,6]內(nèi)的13個(gè)整數(shù)元素的A,即A={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},此過(guò)程即為分級(jí)。若X∈[a,b],將X映射為[-6,6]內(nèi)的離散變量為y,則y與X轉(zhuǎn)換公式為:
由式(1)計(jì)算出的y若不是整數(shù),可將它歸入最接近于y的整數(shù)。然后再將區(qū)間[-6,6]分為若干檔,每一檔對(duì)應(yīng)一個(gè)語(yǔ)言值,每一語(yǔ)言值對(duì)應(yīng)一個(gè)模糊集合。若分為7檔,則有{NB,NM,NS,ZO,PS,PM,PB},集合中各元素的含義分別為:負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大。每一個(gè)這樣的模糊集合對(duì)應(yīng)一個(gè)隸屬度函數(shù),一般采用高斯函數(shù)。
輸入變量為空氣濕度偏差H、空氣溫度偏差T、土壤濕度偏差W,其論域皆為[-6,6];輸出變量為閥門(mén)開(kāi)啟度,其論域?yàn)閇0,3]。利用MATLAB模糊工具包進(jìn)行規(guī)則推理,過(guò)程如圖5所示。
利用模糊規(guī)則所得結(jié)果如圖6所示。其中,W=-6,H=-2,T=0,U=2.27,表示當(dāng)土壤濕度偏差為NB,空氣濕度偏差為ZO,空氣溫度偏差為ZO時(shí)閥門(mén)應(yīng)盡量全開(kāi)。又如W=0,H=1.6,T=6,U=1,則表示當(dāng)土壤濕度偏差為ZO,空氣濕度偏差為PS,空氣溫度偏差為PB時(shí)閥門(mén)應(yīng)半開(kāi)。實(shí)際控制時(shí)控制量“2.27”級(jí)和“1”級(jí)要轉(zhuǎn)換為精確的物理量才有效?!?.27”和“1”這個(gè)等級(jí)的控制電壓精確值可根據(jù)事先確定的范圍計(jì)算出來(lái)。通過(guò)這個(gè)精確量去控制閥門(mén)的電壓,從而實(shí)現(xiàn)對(duì)閥門(mén)開(kāi)啟度的控制。
圖5 Simulink仿真圖
圖6 模糊控制規(guī)則瀏覽器
服務(wù)器與數(shù)據(jù)庫(kù)是通過(guò)HTTP協(xié)議的GET請(qǐng)求方式將傳感器發(fā)送來(lái)的數(shù)據(jù)進(jìn)行傳輸?shù)?,具體采用的是目前比較流行的PHP(Hypertext Preprocessor)腳本語(yǔ)言進(jìn)行代碼實(shí)現(xiàn)。
為了將Wi-Fi模塊送上來(lái)的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù),這里采用GET的方式。具體的GET請(qǐng)求為:
其中wangerniu.com是阿里云服務(wù)器的主機(jī)域名;tj.php為存儲(chǔ)數(shù)據(jù)到數(shù)據(jù)庫(kù)的文件,w為指標(biāo)溫度,s為指標(biāo)濕度。用PHP腳本語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)。PHP是一種通用開(kāi)源腳本語(yǔ)言,幾乎支持所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng),而且是免費(fèi)的,因此使用極其廣泛。此處采用PHP語(yǔ)言來(lái)與MYSQL進(jìn)行數(shù)據(jù)庫(kù)連接,如圖7即為PHP實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)的語(yǔ)句與界面。
圖7 用PHP實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)
利用微信公眾平臺(tái)的遠(yuǎn)程檢測(cè)系統(tǒng),在手機(jī)端微信軟件中開(kāi)展與實(shí)現(xiàn)本系統(tǒng)。要使得手機(jī)微信公眾號(hào)發(fā)送的請(qǐng)求命令能夠被響應(yīng),需要將手機(jī)微信公眾號(hào)與服務(wù)器綁定。綁定之后,微信公眾號(hào)發(fā)送請(qǐng)求指令到服務(wù)器,服務(wù)器讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)送回微信公眾號(hào)[7]。該指令和返回消息的具體文字信息是在服務(wù)器端用PHP語(yǔ)言寫(xiě)好的,比如本系統(tǒng)中公眾微信號(hào)發(fā)送請(qǐng)求指令“溫度”,會(huì)得到回復(fù)信息當(dāng)前時(shí)間的硬件設(shè)備所處位置的溫度數(shù)據(jù);公眾微信號(hào)發(fā)送請(qǐng)求指令“濕度”,同樣會(huì)得到回復(fù)信息當(dāng)前時(shí)間的硬件設(shè)備所在地的濕度數(shù)據(jù)。這樣的阿里云服務(wù)器-微信服務(wù)器-客戶端消息收發(fā)系統(tǒng)的工作原理如圖8所示。
數(shù)學(xué)知識(shí)內(nèi)容是嚴(yán)謹(jǐn)?shù)?,很多單純的?shù)學(xué)知識(shí)教學(xué),會(huì)讓學(xué)生感到枯燥無(wú)味,教師可以結(jié)合教學(xué)內(nèi)容,依據(jù)小學(xué)生的心理特點(diǎn),創(chuàng)設(shè)相應(yīng)的故事情節(jié),不但可以吸引學(xué)生的注意力,還可以激發(fā)學(xué)生的學(xué)習(xí)興趣,讓學(xué)生樂(lè)于參與數(shù)學(xué)學(xué)習(xí)。
圖8 阿里服務(wù)器-微信服務(wù)器-客戶端消息收發(fā)原理
程序下載后進(jìn)行調(diào)試,采集模塊測(cè)試如下:
(1)TFTLCD顯示
采用逐步調(diào)試,先對(duì)LCD顯示模塊進(jìn)行調(diào)試,用于顯示本設(shè)計(jì)課題、學(xué)校名稱以及后續(xù)要采集的空氣溫度、濕度和土壤濕度數(shù)值。
(2)DHT11空氣溫濕度采集
同樣采用逐步調(diào)試方式,將DHT11傳感器采集的溫濕度值顯示在LCD屏上,此數(shù)據(jù)將用于模糊控制算法中。
該模塊同樣也采用逐步調(diào)試方法,利用AD轉(zhuǎn)換將采集到的土壤濕度值顯示在LCD屏上。此數(shù)值表示當(dāng)前土壤實(shí)際濕度,利用AD轉(zhuǎn)換采集10次,求取平均值,再以百分比的形式表示[8]。該數(shù)值將用于模糊神控制算法中。
整體界面顯示效果如圖9所示。
圖9 TFTLCD顯示效果
手機(jī)用戶通過(guò)微信與阿里云平臺(tái)連接,下位機(jī)將采集來(lái)的數(shù)據(jù)發(fā)送給云平臺(tái)存儲(chǔ)。微信端可以通過(guò)發(fā)送指令的方式讀取當(dāng)前植物所處環(huán)境的參數(shù)數(shù)據(jù)。圖10為微信端讀取到下位機(jī)數(shù)據(jù)時(shí)的效果。
圖10 微信讀取到下位機(jī)的數(shù)據(jù)
控制模塊運(yùn)行情況如下:
本系統(tǒng)以水泵的抽水時(shí)間來(lái)表示電磁閥的4個(gè)狀態(tài)——關(guān)(水泵不工作,抽水時(shí)間為0min)、半開(kāi)(水泵工作,抽水時(shí)間 0~3min)、中等(水泵工作,抽水時(shí)間 3~4min)、全開(kāi)(水泵工作,抽水時(shí)間 5min)。經(jīng)多次測(cè)試,所得空氣溫度、空氣濕度、土壤濕度三個(gè)參量和水泵抽水時(shí)間的關(guān)系如表1所示。
表1 空氣溫濕度、土壤濕度與水泵抽水時(shí)間的關(guān)系
表1中,如第二組數(shù)據(jù),空氣溫度12℃,空氣濕度23%,土壤濕度73%時(shí),抽水時(shí)間為0 min,表示在當(dāng)前環(huán)境下水泵不抽水,對(duì)應(yīng)電磁閥為關(guān)閉狀態(tài);第四組數(shù)據(jù)中空氣溫度45℃,空氣濕度5%,土壤濕度19%時(shí),抽水時(shí)間為2min,表示在當(dāng)前環(huán)境下水泵抽水,對(duì)應(yīng)電磁閥為半開(kāi)狀態(tài);第五組數(shù)據(jù)中空氣溫度43℃,空氣濕度29%,土壤濕度5%時(shí),抽水時(shí)間為5min,表示在當(dāng)前環(huán)境下水泵抽水,對(duì)應(yīng)電磁閥為全開(kāi)狀態(tài)。
從大量測(cè)試實(shí)驗(yàn)的結(jié)果中可知,本設(shè)計(jì)的基于微信公眾平臺(tái)的智能型環(huán)境監(jiān)測(cè)系統(tǒng)運(yùn)行正常,能夠完成溫濕度參數(shù)的信息采集,完成公眾號(hào)的基本信息收發(fā)和高級(jí)消息推送功能,也可有效實(shí)時(shí)遠(yuǎn)程監(jiān)測(cè)生活環(huán)境的溫濕度變化情況。該設(shè)備采用目前國(guó)內(nèi)較少使用的物聯(lián)網(wǎng)與微信公眾平臺(tái)相結(jié)合的模式,使得系統(tǒng)不受時(shí)間和地域的限制即可將檢測(cè)結(jié)果對(duì)外共享,方便其他用戶了解環(huán)境情況;同時(shí)還具有用戶操作簡(jiǎn)單、高效且易于推廣等優(yōu)點(diǎn)。但由于Wi-Fi無(wú)線網(wǎng)絡(luò)傳送數(shù)據(jù)有時(shí)會(huì)有延遲,在微信端請(qǐng)求指令的過(guò)程中,檢測(cè)的數(shù)據(jù)為數(shù)據(jù)庫(kù)前8~9s的數(shù)據(jù),使得獲取的當(dāng)前信息可能與LCD顯示屏上的信息出現(xiàn)不同步的現(xiàn)象,在下一步的研究工作中將會(huì)針對(duì)這一問(wèn)題著手改善。