陳紫薇,姚俊光,孫道宗,李思
(華南農(nóng)業(yè)大學電子工程學院,廣州510642)
我國是個水資源極度貧乏的國家,農(nóng)業(yè)用水的關鍵一個環(huán)節(jié)是節(jié)水。未來50 年我國仍將面臨普遍升溫,農(nóng)業(yè)干旱缺水態(tài)勢將進一步加劇[1]。
為了推進農(nóng)田水利建設,實現(xiàn)綠色發(fā)展和資源永續(xù)利用,促進農(nóng)民收入穩(wěn)定較快增長,就要加快農(nóng)業(yè)物聯(lián)網(wǎng)建設步伐,建立互聯(lián)共享的信息平臺,重點突破智慧農(nóng)業(yè)關鍵技術,提高農(nóng)業(yè)科技水平[2]。以無線傳感網(wǎng)絡技術和智能控制技術為核心的智能灌溉控制系統(tǒng)的研究己成為現(xiàn)代化農(nóng)業(yè)發(fā)展的重要建設任務[3]。
LoRa(Long Range,遠程)是一種新型無線通信技術,利用了先進的擴頻調(diào)制技術和編解碼方案,增加了鏈路預算和更好的抗干擾性能[4],對深度衰落和多普勒頻移具有更好的穩(wěn)定性[5],擁有超高接收靈敏度(RSSI)和超強信噪比(SNR)[6]。SX1278 射頻模塊采用了LoRa遠程調(diào)制解調(diào)器,適合于要求長距離通信、抗干擾能力、低功耗的物聯(lián)網(wǎng)網(wǎng)絡環(huán)境[7]。土壤溫濕度是一個動態(tài)變化的系統(tǒng),傳統(tǒng)農(nóng)業(yè)靠人工檢測費時費力。相較于傳統(tǒng)的農(nóng)業(yè)灌溉,基于無線傳感器網(wǎng)絡的農(nóng)田管理系統(tǒng)減輕了農(nóng)民巡視農(nóng)田的負擔。同時,傳統(tǒng)農(nóng)業(yè)多依賴于人的主觀經(jīng)驗,判斷存在誤差,灌水過多或不足,造成水資源的浪費,水資源利用率往往不高。基于LoRa 的無線傳感網(wǎng)的農(nóng)田節(jié)水灌溉系統(tǒng)通過傳感器的實時監(jiān)測,在減少了測量誤差的同時,實現(xiàn)了農(nóng)田系統(tǒng)的水資源利用率,達到了節(jié)水灌溉的目的。
系統(tǒng)由上位機、下位機兩部分構成。下位機負責信息采集、信息傳輸、實時控制,上位機負責信息傳輸、接收與自動控制(如圖1 所示)。多個下位機組成了網(wǎng)絡拓撲結構(如圖2 所示),監(jiān)測農(nóng)田不同區(qū)域的環(huán)境信息。
下位機用STM32F103 系列單片機作為節(jié)點的控制MCU,定時進行數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)傳輸。采用水流量傳感器對農(nóng)田灌水渠道進行水流量檢測,采用溫濕度傳感器對農(nóng)田土壤含水量進行檢測,采用Lo-Ra 無線通信模塊進行節(jié)點通信;上位機是由Python 語言設計的交互界面,通過LoRa 無線模塊轉(zhuǎn)串口與下位機進行串口數(shù)據(jù)傳輸,實現(xiàn)農(nóng)田的智慧管理與人機交互。

圖1 系統(tǒng)結構框圖
(1)主要元器件選型
為實現(xiàn)農(nóng)田信息的采集與水閥的控制,采用YL-69電阻式土壤傳感器做土壤濕度檢測。將采集到的模擬信號通過STM32 內(nèi)部12 位的AD 轉(zhuǎn)換模塊轉(zhuǎn)換為數(shù)字信號,使用模擬信號輸出。考慮到AD 轉(zhuǎn)換速度快,也可能存在偶然誤差,此處我們進行10 次測量,求平均值,再轉(zhuǎn)換為濕度信息作為輸出。電磁閥選用2W 常閉型直動式水氣通用電磁閥。工作溫度為-5°C~80°C,壓力范圍0-1.0Map,額定電壓DC12V。水流量傳感器選用YF-S201 水流量傳感器。流量范圍:1-30L/min 誤差:±2%。
(2)無線傳輸方式的選擇
常見的無線技術主要分為局域網(wǎng)與廣域網(wǎng)[8]。局域網(wǎng)通信主要包括Wi-Fi、ZigBee、藍牙等通信協(xié)議,廣域網(wǎng)主要包括2G/3G/4G 蜂窩通信技術[9-10]。Wi-Fi 技術的傳輸速率約為6M/s,傳輸數(shù)據(jù)快,產(chǎn)品成本低,但是安全性不高,穩(wěn)定性比較弱,功耗相對比較大。Zig-Bee 功耗低,組網(wǎng)容量大,但是傳輸距離短,最遠傳輸距離不超過75m,只適用于小范圍、短距離組網(wǎng)[11]。藍牙技術早期用于手機之間的文件傳輸,其功耗介于Wi-Fi與ZigBee 之間,但是傳輸距離最短。以上3 種通訊方式均不適用于大規(guī)模農(nóng)田灌溉無線組網(wǎng)。2G/3G/4G主要依賴于移動運營商提供的網(wǎng)絡數(shù)據(jù),不但會產(chǎn)生額外的費用,對基站的信號強度也有較高的要求,不適合偏遠地區(qū)的農(nóng)作物的監(jiān)控[12]。
因此,我們采用LoRa 技術作為通信方式。無線傳輸采用澤耀公司的AS32-TTL-100 模塊,將ISM 波段射頻收發(fā)器與MCU 連接并共同集成在一塊單板上,MCU 通過內(nèi)嵌程序配置射頻收發(fā)器建立無線數(shù)據(jù)傳輸機制,直接通過引出的單片機UART 接口收發(fā)無線數(shù)據(jù)。該模塊的核心處理器采用ARM 公司的STM8L151G6 芯片,搭載SX1278 射頻芯片,進行LoRa擴頻傳輸。輸出接口為TTL 電平。工作頻率410MHz~441MHz,共 計32 個 信 道,每 個 信 道 間 隔1M。在省電模式下,消耗電流僅僅幾十uA。采用高效的循環(huán)交織糾錯編碼算法,在突發(fā)干擾的情況下,能主動糾正被干擾的數(shù)據(jù)包,最大連續(xù)糾錯64bit。
將節(jié)點LoRa 模塊的工作方式設置為省電模式(串口接收關閉,等待喚醒),靜態(tài)功耗只有15uA,發(fā)送數(shù)據(jù)時更改為一般模式。上位機的LoRa 模塊則設置為喚醒模式(發(fā)送數(shù)據(jù)時自動添加喚醒碼,喚醒省電狀態(tài)下的接收方)。
下位機硬件接通電源后,通過LoRa 模塊連接串口RS-232 連接至上位機(PC 端)。初始化完成后,系統(tǒng)開始不斷的檢測濕度信息,下位機每隔30 分鐘將數(shù)據(jù)打包發(fā)送給上位機。同時,通過串口中斷檢測是否有上位機發(fā)送信息,若有,則將接收到的信息進行解碼,并更改設定的濕度閾值。根據(jù)傳感器節(jié)點采集到的土壤水分值與設置的閾值進行比較,實現(xiàn)下位機自動控制閥門的開啟與閉合,并在開啟閥門時進行水流量測量,進而達到農(nóng)田監(jiān)控與灌溉的目的
上位機控制中心采用Python 語言進行開發(fā),如圖2 所示,實現(xiàn)了端口設置、歷史數(shù)據(jù)的存儲與查看、閾值設置等任務。通過LoRa 模塊連接電腦串口可以實現(xiàn)與下位機的通信。下位機搭載的每個LoRa 模塊都有其固定的信道和地址,依據(jù)不同的信道和地址可識別不同位置的節(jié)點。
在工作過程中,上位機不斷接收信息,將土壤濕度、水流量實時的顯示在上位機界面中。同時,系統(tǒng)自動記錄接收到的數(shù)據(jù),寫在Excel 表中,作為記錄,可用于用戶分析。若用戶需要發(fā)送數(shù)據(jù),則在上位機界面輸入“信道+地址+閾值”(閾值以百分比的形式發(fā)送,范圍為1-100)后點擊“發(fā)送”則可發(fā)送信息至指定的下位機。

圖2 上位機界面

圖3 上位機系統(tǒng)流程圖
將節(jié)點系統(tǒng)置于華南農(nóng)業(yè)大學啟林北校區(qū)的農(nóng)事訓練基地的農(nóng)田中(區(qū)內(nèi)農(nóng)作物高度約為0.5-0.8m,植株長寬間隔為0.3×0.2m)進行無線傳感器組網(wǎng)實驗,對農(nóng)田的土壤濕度進行測量,與電容測量法測得的數(shù)據(jù)進行對比,分析傳感器測量的精度;在不同環(huán)境,不同高度下測量最遠通信距離,確定系統(tǒng)放置的合適高度;通過對系統(tǒng)收發(fā)數(shù)據(jù)量進行分析,計算丟包率,以此判斷系統(tǒng)是否穩(wěn)定。
在農(nóng)田環(huán)境中,無線傳感網(wǎng)絡的有效通信距離直接關系整個網(wǎng)絡的覆蓋范圍[13]。在農(nóng)田中,農(nóng)作物的遮擋(與生長的高度與密度有關)會在一定程度上影響無線傳輸?shù)耐ㄐ啪嚯x。我們將節(jié)點高度分別設置為0.4、0.7、1.2m,進行最大通信距離的測試。節(jié)點的發(fā)射功率為20dBm,射頻功率在433MHz 頻段。每隔5s LoRa 模塊定時傳送節(jié)點所采集的數(shù)據(jù)信息,并通過上位機來觀察節(jié)點處于不同位置時,數(shù)據(jù)包能否正確傳達,當能正確傳達時增加收發(fā)距離。利用百度地圖測距工具,測出兩個節(jié)點之間的直線距離,作為有效通信距離。經(jīng)過測試,當節(jié)點高度(1.2m)大于農(nóng)作物高度(1m)時,傳輸距離最遠。不同高度下測得節(jié)點的最大有效通信距離如表1 所示。

表1 節(jié)點最大通信距離
感知精度是指器件獲取信息的精確度,是無線傳感網(wǎng)絡的重要性能評價指標之一[14]。通過在待測土壤濕度中放置固定距離固定面積的電容片,測量電容,從而得到土壤濕度的參照值,將土壤濕度傳感器測量得到的濕度與參照值進行比較。測試結果(如表2 所示)表明,節(jié)點采集的濕度誤差最大為5.3%,平均誤差為4.7%。
參照值計算方法:
土壤濕度計算公式如下:

其中wa為水的重量,ws為土壤重量。
土壤之中的主要成分均具有不同的介電常數(shù),不同濕度的土壤也具有不同的介電常數(shù),因此可以根據(jù)不同的介電常數(shù)來推斷土壤濕度[15],土壤濕度決定土壤介電常數(shù)。土壤濕度的固定函數(shù)關系式如下所示[16]。

其中,θ 是土壤濕度值,ε 為對應濕度的土壤的介電常數(shù)。
根據(jù)土壤組成主要成分得出如下函數(shù)關系式:

其中,εsa為空氣與土壤顆粒的介電常數(shù),εw是土壤中水的介電常數(shù)。當土壤水溫為20℃,對應的εsa為3,εw為81,則可得土壤濕度與介電常數(shù)函數(shù)關系式:

介電常數(shù)與電容值有關,公式如下:

其中k 為靜電常數(shù),S 為電容片相對面積,d 為電容片之間的距離。如果固定兩電容片的距離和相對面積,將待測濕度的土壤放入電容之間,則可以通過測量電容值得知對應介電常數(shù),從而得到對應土壤濕度值。
測量值即用電阻式傳感器經(jīng)AD 轉(zhuǎn)換得到得濕度信息。

表2 土壤濕度測量誤差分析
實驗結果表明,傳感器節(jié)點可以準確地將傳感器采集到的土壤濕度通過LoRa 模塊傳到上位機中,平均誤差不超過5.3%,傳感器測量結果較為準確,無線傳輸可靠,滿足系統(tǒng)的性能指標和設計要求,可直接應用于灌溉控制系統(tǒng)。
利用串聯(lián)電路電流處處相等及電壓電流公式I=U/R 對系統(tǒng)電路的電流進行測量,由此計算電路功耗。具體方法如下:在系統(tǒng)電路中串聯(lián)5 個1Ω的電阻,用萬用表測量總電阻兩端電壓U,測得電流為I=U/5。在不同狀態(tài)下分別測試工作電流I 以及持續(xù)時間t,再根據(jù)功耗計算公式測得節(jié)點每周期所消耗的電量。由測量結果可知,省電狀態(tài)下,節(jié)點系統(tǒng)的工作電流為12mA;在傳輸數(shù)據(jù)時的電流為49mA。(傳輸數(shù)據(jù)時間短,不計入功耗計算中)。系統(tǒng)采用6 節(jié)1500mAh 的鋰電池串聯(lián)供電,能夠使無線傳感網(wǎng)絡的節(jié)點持續(xù)工作時間達到750 小時左右,約為31 天,符合系統(tǒng)低功耗設計的要求。供電時間計算公式為:

在晴天、空曠地區(qū),設置通信距離為400m,信息采集周期為10s,監(jiān)控時長為84min,對系統(tǒng)丟包率進行測試。測試結果如表3 所示。由表3 可知,整個網(wǎng)絡的平均丟包率為2.84%,表明系統(tǒng)傳輸信息穩(wěn)定可靠。

表3 網(wǎng)絡丟包率統(tǒng)計
本文通過分析我國農(nóng)田節(jié)水灌溉的現(xiàn)狀,了解到發(fā)展智能化節(jié)水灌溉的重要性。基于此現(xiàn)狀,我們設計了較為簡單且易操作的農(nóng)田節(jié)水灌溉系統(tǒng)。系統(tǒng)由上位機、節(jié)點兩部分構成。下位機是以STM32f103 為主控芯片設計的單片機系統(tǒng),搭載AS32-TTL-100 LoRa模塊作為無線通信節(jié)點,搭載YL-69 土壤濕度傳感器、常閉型電磁閥、YF-S201 水流量傳感器采集農(nóng)田信息并實現(xiàn)自動灌溉。上位機是以PyCharm 為開發(fā)平臺,用Python 語言編寫的人機交互界面。多個下位機作為多個節(jié)點,與上位機共同組成了無線傳感網(wǎng)絡。根據(jù)測試結果,農(nóng)田間節(jié)點的有效通信距離可達1400m(空曠地區(qū)或節(jié)點高度為1.3m),網(wǎng)絡的丟包率約為2.84%,土壤濕度傳感器的誤差在5.3%以內(nèi),系統(tǒng)在6節(jié)1.5v 干電池下可連續(xù)工作31 天。該系統(tǒng)實時性和可靠性良好,能夠準確地采集并無線傳輸農(nóng)田土壤濕度信息,自動控制農(nóng)田的灌溉,以實現(xiàn)節(jié)水灌溉。