張子財,張勝田,佟向坤
(廣東東軟學院 計算機學院,廣東 佛山 528225)
近年來隨著經濟與科技的發(fā)展,農業(yè)發(fā)展也趨向機械化,尤其是大型農場在灌溉方面實現自動化、數據實時化和防漏水是必不可少的趨勢,對農業(yè)機械化發(fā)展十分重要。目前市面上傳統(tǒng)灌溉系統(tǒng)多數是統(tǒng)一的灌溉模式,無法對個別缺水土壤進行針對性灌溉,且灌溉模塊長時間使用會出現滴水甚至漏水的情況,仍有不少改進空間。本項目采用ESP32為主控采集多個土壤濕度計檢測模塊的濕度的平均值,若土壤濕度低于閾值則ESP32會發(fā)送數據開啟水閥和執(zhí)行灌溉,同時可在云端實時監(jiān)控數據和控制灌溉,有利于減少人力物力的浪費。
本系統(tǒng)包含了主控芯片ESP32、一體電磁閥流量計、電容式土壤濕度計檢測傳感器、電機驅動、水泵和Blinker云平臺。主要設計思路是首先通過ESP32采集多個土壤濕度計檢測模塊的數據后取平均值,若濕度低于閾值,則ESP32會發(fā)送數據給控制一體電磁閥流量計的ESP32使其打開總水閥和打開灌溉模塊進行自動灌溉,直到濕度大于閾值。用戶可在Blinker云平臺上實時監(jiān)控各項數據,可以主動在Blinker發(fā)送數據執(zhí)行主動灌溉。此外,在執(zhí)行發(fā)生灌溉的情況下,水流量計數值增加則判斷發(fā)生漏水,ESP32會關閉總水閥的電磁閥從而斷水,可在云平臺上打開或者下次執(zhí)行自動灌溉時自動打開。整體設計圖如圖1所示。
圖1 基于ESP32的農業(yè)定點灌溉系統(tǒng)
基于ESP32的農業(yè)定點灌溉節(jié)水系統(tǒng)主要由三部分組成:
(1)由ESP32、灌溉模塊、A4950電機驅動模塊、MK011169電容式土壤溫濕度檢測模塊組成;對土壤濕度進行檢測、植物進行澆灌、ESP32發(fā)送和接收數據包,與云端和水閥端ESP32進行交互。
(2)由ESP32、繼電器和一體電磁閥流量計組成;檢測水流量,若沒有發(fā)生澆灌的情況下水流量計數增加則自動關閉水閥,與云端和檢測端ESP32進行交互。
(3)Blinker云平臺;在APP上實時監(jiān)測相關數據,遠程控制澆灌與水閥總開關。
使得整個系統(tǒng)有實時監(jiān)控和較為及時的控制系統(tǒng)等功能。硬件流程圖如圖2所示。
圖2 定點灌溉系統(tǒng)硬件流程圖
上位機與下位機和下位機與下位機的通訊采用是WI-FI通信。上位機采用的是Blinker APP實現快速搭建應用層,實現數據實時化;下位機采用ESP32自帶的無線網絡模塊,免去傳統(tǒng)MCU需要額外增加通訊模塊的不便,有效降低成本,且控制方便。雖然ESP8266具有價格優(yōu)勢但ESP32是雙核80 MHz至240 MHz CPU,而ESP8266是單核CPU,運行頻率僅80 MHz,且ESP32有更快的Wi-Fi,可更精準、快速地進行控制和數據傳輸。
檢測土壤濕度的模塊采用的是MK011169電容式土壤濕度計檢測模塊,供電范圍為3.3 V ~ 5 V DC,這款電容式土壤濕度傳感器區(qū)別于市面上大部分的電阻式傳感器,采用電容感應原理來檢測土壤濕度。
檢測模塊的輸出值為0 ~ 300% RH是干土壤,300%~700% RH是濕土壤,300%~950% RH則為水。
其原理為:由于板件周圍濕度條件改變,使得板件聚合物外膜相對介電常數與電容量變化。
避免了電阻式傳感器易被腐蝕的問題,延長工作壽命,降低因傳感器腐蝕導致的數據偏差而發(fā)生的誤操作概率。
土壤濕度計檢測模塊PCB圖如圖3所示。
圖3 土壤濕度計檢測模塊電路圖
電機驅動采用的是A4950,輸出電壓可達12 V,保證灌溉模塊正常運行。相較于L298N模塊體積更小、更便捷、能耗低高性能。灌溉模塊是小型水泵,通過控制ESP32的IO口輸出的PWM調節(jié)電機驅動輸出電壓,從而控制水泵水流大小,滿足不同的灌溉需求,若采用繼電器則無法控制水流大小。A4950電路PCB圖如圖4所示。
圖4 A4950模塊PCB圖
電源采用12V大容量鋰電池作為系統(tǒng)電源,電源為直流電,其中ESP32的供電是通過LM2596S DC-DC降壓模塊將12 V電壓降壓到5 V電壓保證ESP32正常工作。防止不同電源的不同功率、電流對整個系統(tǒng)的影響,提高系統(tǒng)的穩(wěn)定性。電源模塊的電路原理圖如圖5所示。
圖5 電源模塊原理圖
土壤濕度計檢測模塊和一體電磁閥流量計的數據采集用ESP32外設的DMA模式,該模式可在不中斷主函數正常運行的情況下獲取濕度數據和水流量計數。不采用中斷模式是防止不斷中斷主函數導致云平臺控制延遲等不良影響,優(yōu)化系統(tǒng)效率。一體化電磁閥流量計PCB圖如圖6所示。
圖6 電源模塊原理圖
主控模組采用的是ESP-WROOM-32,芯片核心是ESP32-D0WDQ6,ESP32具有雙核CPU高性能,是—款通用型Wi-Fi+BT+BLE MCU模組,功能強大,用途廣,用于低功耗傳感器網絡,具有可擴展、自適應的特點。兩個CPU核可被單獨控制或上電。時鐘頻率調節(jié)范圍為80至240 MHz。用戶可切斷CPU電源,利用低功耗協(xié)處理器來監(jiān)測外設狀態(tài)變化或某些模擬量是否超出閾值。ESP32集成了豐富的外設,包括高速SDIO/SPI、UART、I2C、I2S、DAM、DS卡界面、以太網接口、電容式觸摸傳感器、霍爾傳感器、低噪聲傳感放大傳感器等外設。該模組有多種復位保護措施,較強的移植以及拓展性。綜上,該模組完全滿足本系統(tǒng)的需求,因此選擇了這款模組。
ESP32的Wi-Fi模塊有三種工作模式:
(1)STA(Station)模式:配置函數為WiFi.mode(WIFI_STA),ESP32連接到接入點,通過路由器或熱點鏈接到互聯(lián)網,實現移動端或PC端對模組的遠程控制與監(jiān)控。
(2)AP(Access Point)模式配置函數為WiFi.mode(WIFI_AP),ESP32作為模組作為熱點,接受設備連接,組建局域網,實現多個設備之間的通訊;
(3)STA+AP(Station+Access Point)式:配置函數為WiFi.mode(WIFI_STA_AP),模組作為接入點和連接到另一個接入點的站點,STA模式和AP模式共同運行,實現互聯(lián)網和局域網的無縫切換,提高系統(tǒng)工作效率。ESP32的PCB圖如圖7所示。
圖7 ESP32的PCB圖
使用Blinker作為物聯(lián)網接入方案。Blinker在上位機端提供了APP、網頁端支持,可進行云服務數據傳輸;在下位機端提供相關函數庫。ESP32屬于Arduino生態(tài)的一部分,而Blinker提供Arduino庫函數,使用便捷。用戶可在Blinker APP上遠程實時監(jiān)測系統(tǒng)數據,且可以實現遠程操作。監(jiān)控步驟:主ESP32采集土壤濕度與數據處理、數據包上傳到云端和控制總水閥的次級ESP32、云端接收到數據包和ESP32接收數據后進行判斷是否開閥、云端和次級ESP32反饋數據包回到主ESP32。Bliker APP軟件端界面如圖8所示。
圖8 Blinker APP端界面
可安置在農場、果園、家庭等植物需要澆灌的場所。對缺水的植物進行自動澆水,在Blinker APP上實時監(jiān)測數據、遠程控制澆水和開啟總水閥,自動和主動澆水兩個模式保證了系統(tǒng)穩(wěn)定性,當自動澆水模式失效時,可使用主動模式進行輔助,防止植物因系統(tǒng)失效而缺水。系統(tǒng)初步實物圖如圖9所示。
圖9 初步實物圖
以ESP32模組為核心實現對土壤濕度的監(jiān)測與定點性灌溉。當某部分土壤濕度低于閾值時則對該區(qū)域執(zhí)行針對性、定點性灌溉。若在沒有發(fā)生灌溉的情況下流量計計數值增加則自動關閉總水閥,預防漏水。當自動灌溉模式失效時可使用APP端遠程控制進行主動灌溉。
用戶在云端APP上實時監(jiān)控相關數據,可遠程對灌溉模塊與水閥開關進行控制;
在農場上經常出現不同區(qū)域的植物有著不同的灌溉需求,但目前市面上的農業(yè)機械化系統(tǒng)絕大多數都是執(zhí)行統(tǒng)一灌溉的模式,無法對特定的區(qū)域進行針對性灌溉,致使植物無法獲得更優(yōu)良的生長環(huán)境,同時會造成人力物力的浪費。本項目提出采用多個灌溉端ESP32和一個水閥端ESP32組合的系統(tǒng)連接在Blinker APP上,實現實時監(jiān)控各個區(qū)域的土壤情況、遠程控制不同區(qū)域的灌溉和系統(tǒng)自動灌溉。解決了傳統(tǒng)農業(yè)機械化系統(tǒng)統(tǒng)一灌溉模式痛點。
本項目為針對農業(yè)物聯(lián)網系統(tǒng)的設計,提供了關于農業(yè)數據采集相關傳感器、電機驅動模塊等模塊選
型和物聯(lián)網感知層的構建,以ESP32的無線網絡模塊為信息傳輸層,使用Blinker云平臺為核心的物聯(lián)網應用層部署的完整解決方案。通過基于Blinker云平臺的農業(yè)物聯(lián)網與農業(yè)設備的交互實現遠程控制,實現從采集到控制的閉環(huán)管理和數據可視化。本項目符合科技振興鄉(xiāng)村的發(fā)展目標,為農業(yè)物聯(lián)網的應用、機械化農業(yè)、定點化灌溉的研究提供新思路。