朱雪雄,岳曉娜,鄧良平
(湖南水利水電職業(yè)技術(shù)學(xué)院,湖南 長(zhǎng)沙 410131)
水是一切生命的基礎(chǔ)。全球人口激增和氣候變化增加了干旱的頻率、經(jīng)濟(jì)的發(fā)展使得家庭和社會(huì)不斷增加了用水需求。作為校園的景觀的花草樹木,現(xiàn)在通常采用地面漫灌和噴灌。這兩種灌溉模式由于實(shí)時(shí)性、灌溉量等問題造成了水資源的嚴(yán)重浪費(fèi)[1-3]。隨著科技的發(fā)展,自動(dòng)化在當(dāng)今社會(huì)生產(chǎn)中扮演著最重要的角色,自動(dòng)化帶來舒適,增加效率和節(jié)省時(shí)間。怎樣為校園的花草樹木灌溉建立高效、經(jīng)濟(jì)、節(jié)水的自動(dòng)化控制系統(tǒng)來是值得探討的議題。物聯(lián)網(wǎng)(IoT)是一種網(wǎng)絡(luò)技術(shù),它感知來自不同的傳感器并能通過有線或無線方式將物理設(shè)備與傳感器相互連接,具有在移動(dòng)設(shè)備中監(jiān)控其它設(shè)備的功能[4-5]。結(jié)合物聯(lián)網(wǎng)技術(shù),研究與設(shè)計(jì)一種可應(yīng)用于校園花草樹木灌溉,避免過度浪費(fèi)水資源的自動(dòng)化節(jié)水灌溉系統(tǒng)是非常有必要的。
系統(tǒng)的結(jié)構(gòu)由硬件和軟件構(gòu)成,硬件部分由數(shù)據(jù)采集模塊、微控制器模塊、自動(dòng)功能模塊、通信模塊組成。軟件是便攜式手機(jī)APP 應(yīng)用程序和Arduino 程序。如圖1 所示,數(shù)據(jù)采集模塊是連接到Arduino 上的土壤濕度傳感器、環(huán)境溫濕度傳感器。數(shù)據(jù)采集模塊測(cè)量土壤中的水分含量和環(huán)境溫度和濕度,系統(tǒng)監(jiān)測(cè)一旦土壤濕度值和環(huán)境溫濕度值超過特定限值,則連接到Arduino 自動(dòng)功能模塊的繼電器控制電機(jī)水泵抽水灌溉,檢測(cè)到土壤水分充足后,繼電器將關(guān)閉電機(jī),水泵將立即停止抽水灌溉。通信模塊采用ESP8266,ESP8266 將傳感器采集的數(shù)據(jù)通過WIFI 無線網(wǎng)絡(luò)轉(zhuǎn)發(fā)給用戶手機(jī)APP 應(yīng)用程序,手機(jī)APP 應(yīng)用程序收集傳感器數(shù)據(jù)并能遠(yuǎn)程開啟關(guān)閉電機(jī)水泵。
圖1 系統(tǒng)結(jié)構(gòu)圖
數(shù)據(jù)采集模塊的土壤濕度傳感器采集來自土壤的濕度數(shù)據(jù),如圖2 所示采用YL-69。當(dāng)土壤潮濕時(shí),YL-69 向Ardunio 發(fā)送低輸出電壓,而當(dāng)土壤是干的,YL-69 向Ardunio 發(fā)送高輸出電壓[6]。溫度傳感器采集環(huán)境溫度和濕度,所用的模塊為DHT11。如圖3 所示,DHT11 使用電容式濕度傳感器和熱敏電阻來測(cè)量周圍的空氣,并在數(shù)據(jù)引腳上輸出數(shù)字信號(hào)。
圖2 濕度傳感器
圖3 溫濕度傳感器
微控制器模塊采用如圖4 所示的Arduino,Arduino 是一個(gè)軟硬件結(jié)合的開源電子平臺(tái)。Arduino提供的數(shù)字和模擬輸入和輸出引腳用于接收輸入和給出輸出。作為項(xiàng)目核心硬件微控制器的Arduino Uno 接收來自傳感器的數(shù)據(jù),并根據(jù)在微控制器中程序,負(fù)責(zé)控制打開/關(guān)閉電機(jī)和水泵。
圖4 Arduino Uno 控制器
自動(dòng)澆水功能包括兩個(gè)主要控制硬件,即繼電器、直流電機(jī)和水泵。如圖5 所示,繼電器是具有輸入、輸出電路的自動(dòng)電氣開關(guān)。輸入電路由較小的電流控制,輸出電路是大電流電路,可從OFF 切換到ON或從ON 切換到OFF,內(nèi)部主要是使用電磁鐵。如圖6所示,直流電機(jī)和選用12 v,能根據(jù)傳感器的輸入值來決定是否自動(dòng)開啟和關(guān)閉電機(jī)和水泵。傳感器的值由Arduino 與參考值進(jìn)行比較。
圖5 繼電器
圖6 電機(jī)和水泵
WIFI 通信模塊采用如圖7 所示的ESP8266。ESP8266 是一款Wi-Fi 微芯片,內(nèi)置TCP/IP 網(wǎng)絡(luò)軟件和微控制器功能, 可以讓任何微控制器訪問WiFi 網(wǎng)絡(luò)[7]。ESP8266 具有足夠強(qiáng)大的板載處理和存儲(chǔ)能力,使其能夠通過其GPIO 與傳感器和其他應(yīng)用特定設(shè)備通信。
圖7 ESP8266
4.1.1 Arduino IDE 簡(jiǎn)介
Arduino 程序編輯軟件采用開源開發(fā)平臺(tái)Arduino IDE。它基于C 編程語言。該平臺(tái)包括Arduino IDE 開發(fā)環(huán)境,它具有各種通信、數(shù)學(xué)和傳感器庫(kù),幫助程序員實(shí)現(xiàn)各種接口,例如傳感器、通信模塊(Wi-Fi、藍(lán)牙)等[8]。Arduino IDE 開發(fā)環(huán)境適用于所有使用的Windows、Linux 和MacOS 操作系統(tǒng)。
4.1.2 Arduino 程序流程圖和程序
Arduino 主程序流程圖如圖8 所示。
圖8 主程序流程圖
Arduino 灌溉流程圖如圖9 所示。
圖9 灌溉程序流程圖
4.2.1 手機(jī)APP
常用的跨平臺(tái)手機(jī)APP 開發(fā)工具有Flutter、Xamarin、Hbuilderx 、APICloud、Mendix[9]。 項(xiàng) 目 以Visual studio 2020 +Xamarin 創(chuàng)建手機(jī)APP 程序,如圖10 所示。遠(yuǎn)程監(jiān)控的手機(jī)APP 顯示當(dāng)前的土壤濕度、環(huán)境溫度和濕度、電機(jī)的開啟或關(guān)閉狀態(tài),此外,還可以遠(yuǎn)程開啟、關(guān)閉電機(jī)。
圖10 Visual studio 2020 +Xamarin 開發(fā)的APP
4.2.2 手機(jī)APP 連接WIFI 部分程序
基于物聯(lián)網(wǎng)控制的校園節(jié)水灌溉系統(tǒng)不但能監(jiān)控校園花草樹木土壤所需水分,實(shí)現(xiàn)校園灌溉自動(dòng)化,還能與手機(jī)通信,實(shí)現(xiàn)遠(yuǎn)程灌溉控制。系統(tǒng)能避免校園花草樹木的過度灌溉和灌溉不足,具有減少用水量、不需要人工維護(hù)、設(shè)計(jì)構(gòu)建成本低、用戶友好且易于操作的優(yōu)點(diǎn),為校園的節(jié)水灌溉提供了一種新的解決方案。