李思佳 賀福強(qiáng) 張明月 何 昊
(貴州大學(xué)機(jī)械工程學(xué)院 貴州貴陽(yáng)550025)
一種農(nóng)業(yè)智能灌溉節(jié)水系統(tǒng),可遠(yuǎn)程監(jiān)控現(xiàn)場(chǎng)環(huán)境的空氣溫濕度、土壤濕度以及通過(guò)云端傳輸數(shù)據(jù)分析,可以自動(dòng)控制內(nèi)部環(huán)境參數(shù)、施肥澆灌等設(shè)備[1];同時(shí),還可以通過(guò)手機(jī)、串口、計(jì)算機(jī)等用戶終端向管理者推送動(dòng)態(tài)監(jiān)測(cè)信息,通過(guò)分析采集信息來(lái)控制灌溉量[2]。終端多樣化提供了更大的便利,實(shí)現(xiàn)農(nóng)作物現(xiàn)場(chǎng)環(huán)境的信息化、智能化遠(yuǎn)程監(jiān)測(cè),其主要是依靠信息感知技術(shù)、網(wǎng)絡(luò)通信技術(shù)、自動(dòng)控制技術(shù)等先進(jìn)技術(shù)。本設(shè)計(jì)通過(guò)WiFi通訊技術(shù),基于由中國(guó)移動(dòng)開(kāi)發(fā)的OneNET物聯(lián)網(wǎng)云平臺(tái)[3]對(duì)智能農(nóng)業(yè)灌溉節(jié)水系統(tǒng)進(jìn)行研究,該系統(tǒng)以PC為下位機(jī),以O(shè)neNET為應(yīng)用平臺(tái)終端,在可控范圍內(nèi)減少灌溉用水的浪費(fèi),可大量減少人工成本,實(shí)現(xiàn)無(wú)人值守、精準(zhǔn)調(diào)控的環(huán)境,達(dá)到高效節(jié)水[4]。
本系統(tǒng)由5部分構(gòu)成,分別為硬件設(shè)備、微控制器模塊、被控模塊、無(wú)線WiFi通訊模塊、物聯(lián)網(wǎng)云服務(wù)器等,該設(shè)計(jì)是根據(jù)農(nóng)產(chǎn)品溫濕度信息實(shí)現(xiàn)實(shí)時(shí)執(zhí)行的自動(dòng)化灌溉。圖1為系統(tǒng)方案設(shè)計(jì)框架。
圖1 系統(tǒng)方案設(shè)計(jì)框架
傳感器通過(guò)無(wú)線傳感器網(wǎng)絡(luò)作為農(nóng)業(yè)信息感知硬件設(shè)備,將結(jié)果提供給生產(chǎn)者,主要用于采集和獲取各種農(nóng)業(yè)資源信息,比如種植業(yè)中的溫濕度和土壤濕度等參數(shù)。將采集到的數(shù)據(jù)上傳到以STC12C5A60S2為主控芯片的微控制器模塊??蓪⒙酚善鳠狳c(diǎn)通過(guò)WiFi無(wú)線模塊進(jìn)行連接,實(shí)現(xiàn)數(shù)據(jù)和主控芯片之間的通訊??赏ㄟ^(guò)路由器的中轉(zhuǎn)上傳數(shù)據(jù),傳輸?shù)竭h(yuǎn)端云服務(wù)器后,采用OneNET平臺(tái)進(jìn)行數(shù)據(jù)的處理和存儲(chǔ),從而使農(nóng)業(yè)管理員能夠通過(guò)網(wǎng)絡(luò)對(duì)農(nóng)作物進(jìn)行數(shù)據(jù)存儲(chǔ)和分析決策,下達(dá)命令對(duì)作為智能灌溉系統(tǒng)被控終端的繼電器開(kāi)關(guān)、LED燈光照明進(jìn)行反饋數(shù)據(jù)并控制。
OneNET作為一個(gè)PaaS物聯(lián)網(wǎng)開(kāi)放平臺(tái),能夠幫助開(kāi)發(fā)者輕松實(shí)現(xiàn)設(shè)備與設(shè)備連接,通過(guò)多種環(huán)境監(jiān)控傳感器設(shè)備介入環(huán)境監(jiān)控平臺(tái),實(shí)現(xiàn)海量數(shù)據(jù)并發(fā)接入,保證傳感器數(shù)據(jù)采集的安全性與穩(wěn)定性。同時(shí),還可以準(zhǔn)確及詳盡地歸檔,獲取時(shí)間序列化的數(shù)據(jù),并有效解決設(shè)備控制命令下行和實(shí)時(shí)通知消息推送,以及實(shí)時(shí)傳輸和路由等問(wèn)題[5]。OneNET平臺(tái)作為一個(gè)媒介,以多功能為主導(dǎo),可以看到通過(guò)多個(gè)傳感器所采集到的信息。因此,云服務(wù)平臺(tái)最好的選擇就是OneNET。
本次設(shè)計(jì)選用了ESP8266的AP+Station,ESP8266是一款超低功耗的WiFi透?jìng)髂K[6],可實(shí)現(xiàn)互聯(lián)網(wǎng)或局域網(wǎng)的通信。工作時(shí)傳輸性能穩(wěn)定、傳 輸 距 離 遠(yuǎn)[7]。圖2為WiFi-ESP8266工 作原理。
WiFi模塊是由編碼模塊和高頻發(fā)射模塊組成,編碼模塊是具有遠(yuǎn)程管理功能,支持遠(yuǎn)程參數(shù)設(shè)置。高頻發(fā)射模塊可以采集串口設(shè)備數(shù)據(jù),通信功能是將TTL電平轉(zhuǎn)為符合WiFi無(wú)線通信網(wǎng)絡(luò)標(biāo)準(zhǔn)的嵌入式模塊,通過(guò)異步收發(fā)器(UATR)接口連接到設(shè)備上。STC12C5A60S2和ESP8266之間的通信主要是通過(guò)STC12C5A60S2上的P0.0與端口TXD,STC12C5A60S2上的P0.1與ESP8266端口RXD之間的數(shù)據(jù)交換來(lái)完成,其中RXD屬于串行數(shù)據(jù)接收端口,TXD屬于串行數(shù)據(jù)發(fā)送端口[8]。
圖2 WiFi-ESP8266的原理
單片機(jī)其CPU可以對(duì)其I/O端口直接進(jìn)行操作,位控能力更是無(wú)法比擬的。還可以用于各種物理量的采集與控制。選擇單片機(jī)作為本系統(tǒng)的主控元件,因?yàn)閱纹瑱C(jī)是為了滿足工業(yè)控制而設(shè)計(jì)的,控制功能特別強(qiáng),且成本低數(shù)據(jù)采集方便靈活,更加適合本文設(shè)計(jì)的主控芯片。
根據(jù)功能作用,本設(shè)計(jì)采用STC12C5A60S2[9]作為系統(tǒng)設(shè)計(jì)核心,是高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),可當(dāng)作2路D/A使用,芯片的電路設(shè)計(jì)和軟件設(shè)計(jì)都特別方便,匯編程序也比較簡(jiǎn)單。
傳感器模塊包括溫濕度傳感器和土壤濕度傳感器[10]。圖3為空氣溫濕度測(cè)量電路圖??紤]性能和測(cè)試結(jié)果準(zhǔn)確等,選擇DHT11溫濕度傳感器。DHT11數(shù)字傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接[11]。該傳感器容易受多方面因素影響,但DHT11是一個(gè)穩(wěn)定性很高的溫濕度傳感器,響應(yīng)時(shí)間短也滿足本設(shè)計(jì)實(shí)時(shí)性的要求。
圖3 溫濕度測(cè)量電路圖
土壤濕度傳感器又稱為土壤水分傳感器,主要用來(lái)測(cè)量土壤相對(duì)含水量,也就是指土壤含水量占田間持水量的百分?jǐn)?shù),不同農(nóng)作物的相對(duì)含水量有所不同。其優(yōu)點(diǎn)是土壤濕度傳感器測(cè)量精度高,性能強(qiáng),響應(yīng)速度極快,數(shù)據(jù)傳輸效率高,在本系統(tǒng)中有著不可缺少的重要性。采用FDR頻域反射原理,利用電磁波在介質(zhì)中傳波頻率來(lái)測(cè)量土壤介電常數(shù)[12]。因?yàn)橐L(zhǎng)期埋在土壤里,所以由不銹鋼針和防水探頭構(gòu)成,對(duì)表層和深層土壤進(jìn)行定點(diǎn)監(jiān)測(cè)和在線監(jiān)測(cè)。工作原理是當(dāng)傳感器插入土壤后,輸出電壓隨著土壤濕度升高而增大,本設(shè)計(jì)采用的是叉型設(shè)計(jì),方便插入土壤。傳感器探頭a、b是由長(zhǎng)160 mm、直徑為5 mm的兩根不銹鋼棒制成,相間55 mm。圖4是土壤濕度測(cè)量電路。
圖4 土壤濕度測(cè)量電路
系統(tǒng)澆灌模塊是該設(shè)計(jì)的重要組成部分,所謂智能灌溉,就必須要有著自動(dòng)灌溉的能力,通過(guò)數(shù)據(jù)分析何時(shí)應(yīng)該打開(kāi)水泵開(kāi)始灌溉,何時(shí)應(yīng)該關(guān)閉水泵停止灌溉。臥式潛水泵是潛水泵的一種,其優(yōu)點(diǎn)體積小、攜帶方便,可以廣泛應(yīng)用到農(nóng)業(yè)中去[13]。主要用于農(nóng)田灌溉及高山區(qū)人畜用水。但是在現(xiàn)實(shí)中卻要考慮自然因素的影響,水泵的工作環(huán)境有:(1)額定電壓為110V,最高電壓137V,最低電壓77V;(2)在240 KPa的氣壓下保壓1 min不會(huì)存在漏氣。水泵電路見(jiàn)圖5。本設(shè)計(jì)中,水泵模塊的電壓是5 V,用LED指示燈來(lái)判定水泵是否正常工作。
圖5 水泵電路
本設(shè)計(jì)的電源都是采用5 V的直流電源,但該電源的有2個(gè)接口[14],一個(gè)適用于5 V電壓,一個(gè)適用于3.3 V電壓,便于適合多個(gè)設(shè)備供電。5 V轉(zhuǎn)3.3 V穩(wěn)壓電路見(jiàn)圖6。USB直流電源直接供電,為了使電源電路設(shè)計(jì)能夠更加的方便,采用了電腦適配器USB接口直接接入電源,而且它的成本也是相對(duì)較低的。保證電源穩(wěn)定在5 V輸出,使系統(tǒng)更加穩(wěn)定,通過(guò)紅LED燈亮可以清晰看出電源已經(jīng)供電。USB供電接口見(jiàn)圖7。
通過(guò)這些不同的元器件的組合,設(shè)計(jì)的基于WiFi技術(shù)的智能灌溉系統(tǒng)得以實(shí)現(xiàn),各個(gè)元器件都有著不同的功能,缺一不可,將各個(gè)元器件連接起來(lái),形成一個(gè)總的控制系統(tǒng),在設(shè)計(jì)總體電路圖時(shí),通過(guò)電源模塊給整個(gè)電路通電,然后通過(guò)ESP8266各引腳的作用,分別連接LED燈、水泵模塊、溫度傳感器模塊等,目的就是為了通過(guò)WiFi模塊的控制,代碼的編寫,串聯(lián)起各個(gè)模塊,來(lái)實(shí)現(xiàn)基于WiFi組網(wǎng)技術(shù)的智能灌溉系統(tǒng)。
圖6 5V轉(zhuǎn)3.3V穩(wěn)壓電路F
圖7 USB供電接口
WiFi傳輸程序設(shè)計(jì)分為3個(gè)部分。首先,初始化。每次在云平臺(tái)上觀察到設(shè)備狀態(tài)為“離線”時(shí),說(shuō)明未連接該無(wú)線網(wǎng)絡(luò),需要重新配置,正確輸入WiFi名稱和WiFi密碼。其次,掃描網(wǎng)絡(luò)??吹浇邮蘸桶l(fā)送的數(shù)字不斷在變化,說(shuō)明連接成功,判斷是否有農(nóng)業(yè)傳感網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)上傳到上位機(jī),倘若有則建立起信道傳輸渠道,沒(méi)有則繼續(xù)連接。
單片機(jī)在上電后,進(jìn)行系列的初始化,用TTL接口加入指定的WiFi網(wǎng)絡(luò),將各個(gè)傳感器采集到的數(shù)據(jù)發(fā)送給接口。建立WiFi網(wǎng)絡(luò),然后和其進(jìn)行通信。當(dāng)找到合適的WiFi網(wǎng)絡(luò)時(shí),傳感器把采集到的數(shù)據(jù)通信到上位機(jī)和OneNET云平臺(tái),若達(dá)不到環(huán)境參數(shù)的標(biāo)準(zhǔn)值,則會(huì)對(duì)相關(guān)數(shù)據(jù)進(jìn)行處理,判斷是否為自動(dòng)模式,再反饋到被控設(shè)備,并進(jìn)行反應(yīng)。系統(tǒng)軟件的工作流程見(jiàn)圖8。
圖8 系統(tǒng)工作流程
PC上位機(jī)即智能灌溉節(jié)水系統(tǒng)管理軟件,可以直接發(fā)出指令操控整個(gè)系統(tǒng),軟件界面顯示溫濕度信號(hào)的實(shí)時(shí)狀態(tài)變化及各個(gè)灌溉閥門執(zhí)行按鈕,擔(dān)任著灌溉部分對(duì)各濕度傳感器的遠(yuǎn)程管理工作,是整個(gè)灌溉系統(tǒng)的樞紐[15]。本設(shè)計(jì)采用的是51單片機(jī)的增強(qiáng)型STC12C5A60S2芯片,開(kāi)發(fā)環(huán)境是Keilu Vision4 C51軟件,是如今嵌入式常用的開(kāi)發(fā)環(huán)境,支持C/C++語(yǔ)言開(kāi)發(fā),而且C語(yǔ)言編輯效率很高。根據(jù)窗口界面的設(shè)置參數(shù),找到對(duì)應(yīng)的正確端口數(shù),設(shè)置好波特率,來(lái)設(shè)置串口類的各個(gè)參數(shù)。圖9為未連接時(shí)串口示意圖。智能灌溉節(jié)水系統(tǒng)上位機(jī)軟件界面主要包括串口傳輸、接收信息、發(fā)送信息以及數(shù)據(jù)存儲(chǔ)模塊。監(jiān)測(cè)人員通過(guò)上位機(jī)給系統(tǒng)發(fā)出控制指令,保證各模塊正常運(yùn)行。
圖9 未連接時(shí)串口示意圖
將程序下載到單片機(jī)后,給系統(tǒng)上電。在連接好所有設(shè)備后便打開(kāi)串口進(jìn)行調(diào)試,在串口調(diào)試成功后,顯示連接成功,可以在串口工具上看見(jiàn)溫度、土壤濕度、光照強(qiáng)度等數(shù)據(jù)的信息。為了更智能的設(shè)計(jì),在串口工具上設(shè)置了主動(dòng)和手動(dòng)2個(gè)模式。為了根據(jù)不同的環(huán)境,設(shè)定了閾值。圖10為連接成功后串口顯示圖。
圖10 連接成功后串口顯示圖
遠(yuǎn)程監(jiān)控界面主要根據(jù)OneNet提供的網(wǎng)頁(yè)編輯來(lái)進(jìn)行設(shè)計(jì)。在網(wǎng)頁(yè)上可以手動(dòng)選擇想要了解的農(nóng)作物的信息,可以觀察到OneNET云平臺(tái)的應(yīng)用界面上與PC上位機(jī)的控件相一致,隨時(shí)監(jiān)測(cè)農(nóng)作物實(shí)時(shí)狀態(tài),如監(jiān)測(cè)4種不同農(nóng)作物,并在該界面上清楚地看到不同農(nóng)作物的環(huán)境參數(shù)變化。圖11為OneNET用戶遠(yuǎn)程控制界面。
遠(yuǎn)端設(shè)備控制部分的狀態(tài)可以通過(guò)按鈕實(shí)時(shí)地反映出來(lái),見(jiàn)圖12。當(dāng)開(kāi)啟水泵時(shí),按鈕的紅燈就會(huì)亮起,而紅燈滅時(shí)為關(guān)閉狀態(tài)。當(dāng)自動(dòng)模式時(shí),按鈕的綠燈就會(huì)亮起,綠燈滅時(shí)為手動(dòng)模式。從PC上位機(jī)和OneNET平臺(tái)網(wǎng)頁(yè)端來(lái)看,經(jīng)過(guò)多次試驗(yàn)發(fā)現(xiàn),按鈕改變狀態(tài)到設(shè)備有1 s延時(shí),實(shí)際情況還要依據(jù)網(wǎng)速而定。
圖11 用戶遠(yuǎn)程控制界面
圖12 用戶控制窗口
本設(shè)計(jì)以STC12C5A60S2為核心,利用ESP8266和OneNET云平臺(tái)的特性,設(shè)計(jì)一套基于WiFi技術(shù)和物聯(lián)網(wǎng)感應(yīng)的智能農(nóng)業(yè)實(shí)時(shí)監(jiān)控系統(tǒng)。通過(guò)采集多種傳感器檢測(cè)到的數(shù)據(jù),上傳到OneNET云平臺(tái)中,上傳實(shí)時(shí)數(shù)據(jù),可以讓用戶隨時(shí)看到參數(shù)數(shù)據(jù),監(jiān)控整個(gè)農(nóng)業(yè)環(huán)境,實(shí)現(xiàn)農(nóng)業(yè)灌溉的自動(dòng)化。經(jīng)過(guò)測(cè)試,本系統(tǒng)解決了傳統(tǒng)灌溉水資源浪費(fèi)大、穩(wěn)定性差的問(wèn)題,整個(gè)系統(tǒng)符合實(shí)用性、開(kāi)放性、方便性等設(shè)計(jì)原則,極大優(yōu)化了水資源的調(diào)配。