周磊 李玉麗
吉林建筑大學(xué),吉林長春 130118
雖然我國的水資源總量在世界排行榜中處于領(lǐng)先位置,但是我國的人均水資源占有量在世界范圍內(nèi)卻處于末流,是人均水資源最貧乏的國家之一。目前,我國在公園植被養(yǎng)護方面存在許多問題,其中最為嚴重的就是灌溉問題[1]。現(xiàn)階段,大多采用的是人工澆灌的方式,這種方式主要就是大水漫灌(即在取水口處連接管道進行澆灌)[2],不僅工作量大,澆灌效率低下,而且十分浪費水資源。國外在園林節(jié)水灌溉方面的研究比我國早,一些國家和地區(qū)已從半自動灌溉發(fā)展為全自動灌溉,對灌區(qū)用水進行監(jiān)測預(yù)報,實行動態(tài)管理。例如,美國加州現(xiàn)已實現(xiàn)以植物需水量為核心的園林用水設(shè)計評估方法和管理措施[3]。
本文以云平臺、GD32F103CBT6 為核心,云平臺是指基于硬件的服務(wù),提供計算、網(wǎng)絡(luò)和存儲能力。這種平臺允許開發(fā)者們將寫好的程序放在“云”里運行,或是使用“云”里提供的服務(wù),或二者皆可;GD32F103CBT6 是GD32F1 系列的芯片,是全新的通用型32 位高性能、低功耗微控制器系列產(chǎn)品,采用ARM?Cortex?-M3 內(nèi)核,適用于廣泛的應(yīng)用場景。
利用ZigBee 技術(shù)、NB-IoT模塊、光照傳感器、空氣溫濕度傳感器、土壤溫濕度傳感器和土壤肥力氮磷鉀指數(shù)傳感器設(shè)計了一種節(jié)水智能灌溉系統(tǒng),云平臺實時對各個傳感器采集的數(shù)據(jù)進行分析,自動開啟相關(guān)灌溉設(shè)備,對土壤中的水分和營養(yǎng)進行智能調(diào)節(jié)。
經(jīng)過分析研究,將本系統(tǒng)分為采集、控制、執(zhí)行3 部分,如圖1 所示。

采集部分由傳感器組成。各個傳感器被設(shè)定了間隔一段時間進行數(shù)據(jù)采集,并將其通過ZigBee 網(wǎng)絡(luò)發(fā)送給GD32單片機,再將其通過NB-IoT 模塊上傳至云平臺[4]。ZigBee 技術(shù)作為短距離無線傳輸技術(shù),具有低功耗、低成本、自組網(wǎng)和節(jié)點布置靈活的優(yōu)點。但是ZigBee技術(shù)只能組建局域網(wǎng),無法直接與互聯(lián)網(wǎng)連接,需要一個網(wǎng)關(guān)來當(dāng)作橋梁,NB-IoT 就是一個很好的橋梁。本設(shè)計中的NB-IoT 部分采用BC26 模塊,主控芯片為移遠公司的BC26 芯片,通過它可以入網(wǎng)[5]。
控制部分主要由云平臺、GD32 單片機組成。GD32 單片機通過NB-IoT 與云平臺建立數(shù)據(jù)通信,組建數(shù)據(jù)庫,將通過ZigBee 網(wǎng)絡(luò)收集到的信息傳到組建的數(shù)據(jù)庫中,然后云平臺對信息進行分析處理,運算得到相應(yīng)的控制指令,將其發(fā)送至執(zhí)行部分,執(zhí)行相應(yīng)的操作。
執(zhí)行部分由繼電器組成。繼電器用來控制水泵和物料池閥門,通過控制水泵和閥門的工作時間來控制灌溉水量和施肥量。采集部分每小時上傳一次數(shù)據(jù),控制部分以云平臺為核心,對數(shù)據(jù)進行分析,通過LSTM 算法對植物的需水量進行預(yù)測,然后在一天中某個合適的時刻發(fā)出灌溉指令,由執(zhí)行部分將此指令實現(xiàn)。
光照傳感器、空氣溫濕度傳感器、土壤溫濕度傳感器、土壤肥力氮磷鉀指數(shù)傳感器和GD32F103CBT6單片機構(gòu)成硬件平臺;GD32 單片機通過NB-IoT 模塊實現(xiàn)與云平臺的連接;云平臺首先將這些數(shù)據(jù)存儲到數(shù)據(jù)庫中,作為以后可供參考的原始資料;然后將這些數(shù)據(jù)實時顯示到平臺上;最后將這天的數(shù)據(jù)輸入到云服務(wù)器已編寫好的算法腳本中,生成植物需水量。
在植物生長的過程中,溫度與濕度是相輔相成的。空氣溫濕度影響植物的蒸騰作用,進而影響植物對水的需求量。DHT11 數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復(fù)合傳感器[6],通過它可以很直觀地了解當(dāng)前環(huán)境中空氣的溫濕度。
光照強度和時長對植物的蒸騰作用也有相當(dāng)大的影響,并且不同植物對光照的需求也不一樣。大部分植物都比較適應(yīng)在陽光充足的地方生長,但有的植物適合在較弱的光照條件下生長。通過對光照數(shù)據(jù)的采集與植物生長情況的記錄,不僅可以估算其需水量,還可以為某植物尋找在某地區(qū)最適合的生長位置。
BH1750FVI 是一款用于I2C 總線接口的數(shù)字環(huán)境光傳感器IC[7]。該集成電路最適合獲取環(huán)境光數(shù)據(jù)。該傳感器模塊引出了時鐘線和數(shù)據(jù)線,CC2530 通過I2C 協(xié)議可以與BH1750 模塊通信,可以選擇BH1750的工作方式,也可以將BH1750 寄存器的光照度數(shù)據(jù)提取出來。
YL-69 是一種土壤含水量傳感器,由不銹鋼探針和防水探頭構(gòu)成,可用于長期的植被土壤濕度監(jiān)測[8]。該傳感器模塊共有4 個引腳,分別為VCC、GND、A0、D0 引腳。D0 引腳為數(shù)字量輸出,其輸出高低電平的規(guī)則為:當(dāng)植被土壤中的濕度高于設(shè)定的值時輸出0,低于設(shè)定值時輸出1,多用于濕度閾值控制;A0 引腳為電壓模擬量輸出引腳,可獲取精確、實時的植被土壤環(huán)境的濕度值,與單片機的ADC 引腳相連,將模擬信號轉(zhuǎn)換為數(shù)字信號,傳輸給單片機。
植物生長好壞不僅與自身環(huán)境有關(guān),還與養(yǎng)分有關(guān)。植物生長所需養(yǎng)分很多,本設(shè)計中只考慮氮磷鉀3 種元素植物是否缺失嚴重。氮磷鉀分別對應(yīng)植物生長的前、中、后3 個階段,即生長期、開花期、結(jié)果期。可以通過氮磷鉀傳感器來測得相應(yīng)數(shù)據(jù),使用時需避開土壤中堅硬物體,并將鋼針全部插入土壤中。
本設(shè)計的執(zhí)行部分主要是電磁閥的通斷,當(dāng)?shù)租浳锪铣氐碾姶砰y處在開啟狀態(tài)時,肥料在重力的引導(dǎo)下會自動傾入混合池中,因此,氮磷鉀水溶性肥料的物料池必須設(shè)計在混合池的正上方,以便于重力作用[9];同時,進水口設(shè)在混合池側(cè)面并設(shè)置防腐蝕電磁閥開關(guān),出水口設(shè)置在與進水口相對的側(cè)面,距底部要有一定高度,防止肥料堵塞現(xiàn)象的發(fā)生。
由于單片機不能直接控制電磁閥,因此采用繼電器作為中間裝置,通過這個中間裝置進而控制電磁閥的通斷,繼電器板計劃連接6 個繼電器,來控制灌溉與施肥。
傳感器板連接4 個傳感器,系統(tǒng)首先對板子進行上電,繼而初始化;通過I2C 協(xié)議采集來自光照模塊的數(shù)據(jù);通過觸發(fā)規(guī)則采樣采集土壤的濕度數(shù)據(jù);通過單總線協(xié)議進行DHT11 溫度模塊的數(shù)據(jù)采集;通過485 轉(zhuǎn)TTL 接口提取氮磷鉀傳感器采集的數(shù)值;將所有數(shù)據(jù)收集后放到定義好的數(shù)組中,一方面通過OLED 屏幕顯示采集到的數(shù)據(jù),另一方面通過ZigBee網(wǎng)絡(luò)將數(shù)據(jù)上傳至協(xié)調(diào)器;然后延時,最后進入循環(huán)監(jiān)測傳感器上傳數(shù)據(jù)。傳感器板主程序設(shè)計流程圖如圖 2 所示。

繼電器板連接6 個繼電器,用來控制灌溉與施肥,控制電磁閥,進而實施氮磷鉀配比和混合工作。首先上電,進行相關(guān)模塊初始化,打開串口并接收ZigBee協(xié)調(diào)器發(fā)來的控制數(shù)據(jù),判斷數(shù)據(jù)中時間位是否全為0,若不全為0,則關(guān)閉混合池閥門;通過定時器中斷來使時間數(shù)值自減,同時控制相應(yīng)氮磷鉀繼電器打開并開始進行物料配比,期間循環(huán)判斷時間數(shù)值是否為0,若為0,則說明配比工作完成;打開混合池進水口,電磁閥將水引入,再等待一段時間使配料與水混合均勻,然后打開混合池閥門,打開水泵將水肥噴出,等待一段時間后關(guān)閉水泵,然后繼續(xù)接收ZigBee 終端數(shù)據(jù)。繼電器板主程序設(shè)計流程圖如圖 3 所示。

本系統(tǒng)的網(wǎng)關(guān)主控為GD32,GD32 將ZigBee 協(xié)調(diào)器收到的數(shù)據(jù)包通過串口發(fā)送給NB-IoT 模塊,實現(xiàn)無線通信。首先上電,進行單片機GD32 系統(tǒng)的初始化、ZigBee 初始化及NB-IoT 的初始化;隨后進入無限循環(huán),當(dāng)ZigBee 網(wǎng)絡(luò)中有信息發(fā)送過來時,將該信息通過NB-IoT 發(fā)送至云端,云端會用編寫好的LSTM算法腳本對環(huán)境參數(shù)進行分析,得出往后幾天的預(yù)測灌溉量,起到節(jié)水的作用;再通過NB-IoT 模塊將控制信息發(fā)送給ZigBee 終端節(jié)點,終端對信息進行拆解并執(zhí)行相應(yīng)的操作。主控板程序流程圖如圖 4 所示。

在本設(shè)計中,智慧化與節(jié)水主要靠算法來實現(xiàn)。智慧化是指智能化、自動化,管理員只需要啟動系統(tǒng),啟動后身份轉(zhuǎn)變?yōu)楸O(jiān)督者,除系統(tǒng)出錯或氣象極其不穩(wěn)定時進行干預(yù)之外不做任何動作。目前,很多地方采用大水漫灌方式,這樣雖然可以滿足植物生長所需的水量,但是還有相當(dāng)大的一部分水滲入土壤中,這部分水大多并不會隨時間推移被植物吸收,而是蒸發(fā)了。所以,本設(shè)計節(jié)水的含義是盡可能減少這部分無用的消耗。為了達到節(jié)水與智慧化的效果,本設(shè)計計劃采用長短期記憶(Long Short Term Memory,LSTM)算法。
LSTM 是一種特殊的遞歸神經(jīng)網(wǎng)絡(luò)。其前身為RNN 結(jié)構(gòu),容易出現(xiàn)梯度消失/爆炸問題,LSTM 可以解決這2 個問題,并且可以有效地傳遞和表達長時間序列中的信息,且不會導(dǎo)致長時間前的有用信息被遺忘。
經(jīng)查詢文獻可知,平均氣溫、空氣相對濕度、土壤濕度和日照時數(shù)對植物需水量的影響較大,所以LSTM 模型選其作為特征向量輸入,需水量作為目標向量輸出。根據(jù)已有數(shù)據(jù)預(yù)測未來的一段時間植物的需水量,這樣不僅可以節(jié)水,還可以在預(yù)測的這段時間保證植物的良好生長,進而保持城市的美觀,提升居民的幸福感。
本設(shè)計運用華為云的一站式開發(fā)平臺ModelArts去實現(xiàn)算法的訓(xùn)練與部署。首先準備一個降雨量的數(shù)據(jù)集,將其上傳到OBS 桶中;然后創(chuàng)建一個訓(xùn)練作業(yè),在預(yù)置算法中選擇“時序預(yù)測-time_series_v2”算法,單擊創(chuàng)建訓(xùn)練作業(yè);當(dāng)訓(xùn)練作業(yè)的狀態(tài)變更為“已完成”時,表示已運行結(jié)束,可以在配置的“訓(xùn)練輸出位置”對應(yīng)的OBS 目錄下獲得訓(xùn)練生成的模型和預(yù)測結(jié)果;然后創(chuàng)建一個來自訓(xùn)練作業(yè)的AI 應(yīng)用,選擇在線部署;創(chuàng)建完成后,在在線部署中選擇在線服務(wù),配置計算機節(jié)點及規(guī)格后部署上線。
本設(shè)計已在室內(nèi)通過盆栽完成傳感器部分的實驗,結(jié)果如圖 5 所示。

OLED 屏已顯示當(dāng)前植物環(huán)境中空氣的溫濕度、土壤中的濕度以及土壤中的氮磷鉀含量。
如圖 6 所示,左邊為終端,右邊為協(xié)調(diào)器。協(xié)調(diào)器3 個白色LED 燈全亮,表示ZigBee 組網(wǎng)成功,成功后,終端會向協(xié)調(diào)器發(fā)送DHT11 的溫濕度數(shù)據(jù)(只為實驗數(shù)據(jù)發(fā)送,而非只能發(fā)送2 個數(shù)據(jù))。協(xié)調(diào)器底板與PC 端連接,通過串口調(diào)試助手即可觀察。

實驗結(jié)果如圖 7 所示,通過串口調(diào)試助手可以觀察到協(xié)調(diào)器已成功接收到數(shù)據(jù),證明完全可以通過ZigBee 網(wǎng)絡(luò)實現(xiàn)信息傳遞。

由于成本原因,擬通過在云服務(wù)器中創(chuàng)建一個TCP 端口來進行NB-IoT 上云實驗。首先,申請一個云服務(wù)器,在其中安裝Socket 調(diào)試工具,建立一個1001 端口的TCP 服務(wù)器,并在相關(guān)云平臺中的安全組設(shè)置中放開限制;然后,將NB-IoT 模塊通過USB 轉(zhuǎn)TTL 模塊與PC 端連接,在串口調(diào)試助手中,先用“AT+CGPADDR?”指令對模塊進行入網(wǎng)測試;回復(fù)IP 地址后,用“AT+QIOPEN=1,0,"T CP","36.139.236.125",1001,0,1”指令讓模塊與云服務(wù)器中所建立的TCP 服務(wù)器連接,顯示連接成功,并且串口調(diào)試助手所發(fā)送的信息在云服務(wù)器中也可以接收到。如圖 8 所示。

通過此實驗驗證,本設(shè)計可以實現(xiàn)云平臺的數(shù)據(jù)傳輸。
通過傳感器采集數(shù)據(jù)實驗、ZigBee 網(wǎng)絡(luò)通信實驗以及NB-IoT 通信實驗證明,本設(shè)計可以完成區(qū)域植物環(huán)境的參數(shù)化并上傳至云,也可以通過NB-IoT 模塊將數(shù)據(jù)傳回區(qū)域主控,進而通過ZigBee 網(wǎng)絡(luò)將信息傳給繼電器,最終完成整個灌溉系統(tǒng)的運作。目前,GD32F103CBT6 芯片、ZigBee 模塊、NB-IoT 模塊以及其他模塊都是十分成熟的產(chǎn)品,因而整個設(shè)計是可行有效的。
本設(shè)計實現(xiàn)了將植被環(huán)境參數(shù)化、可視化,如空氣溫濕度、土壤濕度、光照強度、土壤氮磷鉀含量等。主控板可實時接受來自傳感器板采集的各項數(shù)據(jù)并上傳至云平臺,云平臺會對數(shù)據(jù)進行分析處理,得出灌溉決策,判斷植物是否缺水或氮磷鉀等養(yǎng)分,然后下達控制指令給主控板,主控板將信息傳遞給繼電器板,使其做出相應(yīng)操作,控制對應(yīng)電磁閥開關(guān),進而進行養(yǎng)分的補充與節(jié)水灌溉。同時,通過手機和電腦端都可以實時查看植物各項生長指標,也可以下達命令進行噴淋和施肥等操作。最終目的是達到用滿足植物生長需求的水資源保證植物健康生長,在很大程度上減少了無效水資源的使用,能有效改善人工灌溉方式所帶來的應(yīng)用缺點并且使灌溉智能化。