冀汶莉,王佳豪,王新偉
(1.西安科技大學 通信與信息工程學院,陜西 西安 710054;2.西安郵電大學 計算機學院,陜西 西安 710053)
土壤是農業生產最重要的物質基礎,不合理、不科學的濫用肥料以及漫灌的灌溉方式不但會造成土壤板結、耕地肥力下降,而且會浪費大量的淡水資源,更嚴重的可能對環境保護與水土保持構成嚴重威脅,給農業的可持續性發展帶來嚴峻挑戰[1-2]。我國是農業大國,但目前大多農戶和中小型農場的農業生產仍沿用了經驗施肥和漫灌的粗放式耕作模式,亟待提高耕種的科學性和高效性。通過無線傳感網絡等物聯網技術實時監測耕地中對作物生長影響較大的土壤墑情、PH值以及氮磷鉀等要素的含量,指導耕種者合理灌溉,按需科學施肥,不但可以有效提高農作物的產量,還可以保護農耕土壤的肥力和微環境,對實現綠色農業有重要意義。
近年來,隨著智慧農業、精準農業的提出和發展,物聯網技術在農業的精細化耕種中發揮著越來越重要的作用[3]。精細農業耕種的實現依賴于對農田信息的準確采集和穩定可靠的數據傳輸,同時農田信息的有效管理以及測土配方信息化是其有利保障[4-5]。在農業領域較常用的無線傳感網絡技術主要包括ZigBee,LoRa和WiFi等無線技術[6]。例如,陳明霞等[7]提出了一種基于ZigBee與WiFi雙協議融合的溫室大棚可視化智慧農業管理系統,實現了溫室大棚監測數據的遠程采集和控制。趙榮陽等[8]基于ZigBee技術設計了一種多網融合的農業大棚生產環境監控系統,實現了大棚作物生長環境信息的采集、傳輸、存儲以及統計分析等功能。李自榮[9]采用ZigBee和GPRS雙網融合的方法實現了對田間數據的遠程采集和傳輸,并使用加權的聚類算法進行農業安全預警。但ZigBee技術存在成本高、開發周期長和通信距離較短等缺點,制約了在大型農場或廣域農田中的實際應用。LoRa通信技術是近年來發展較快的低功耗、遠距離傳輸的無線通信技術,具有傳輸距離遠、功耗低、組網節點多、抗干擾性強且成本低等特點,逐漸在農業領域有了更廣泛的研究和工程實踐應用[10]。徐操喜等[11]和漆海霞等[12]分別設計了基于LoRa的茶園和花生地的土壤墑情監測系統,可以遠程監測茶園和花生地的土壤墑情及大氣溫濕度,幫助實現精準灌溉。Muangprathub等[13]開發了一套基于LoRa的農作物優化灌溉系統,采用LoRa技術實時傳輸作物和土壤的環境參數,并通過預測適宜作物生長的溫度、濕度和土壤墑情來優化作物生長管理。
本文前期研究發現,多LoRa終端節點以默認的自組網協議進行數據傳輸時,可能會產生頻譜干擾,從而引起終端節點隨機無法連接網絡的問題。為了解決這個問題,提出了載波監聽多路訪問的改進多節點LoRa通信方式,并在此基礎上設計了農業大田廣域環境下多節點、多參數的土壤環境監測系統。
測土配方施肥是聯合國在全世界推行的先進的科學施肥方法之一,通過測定土壤養分含量因地制宜地制定田間科學的施肥方案。測土配方中需要的土壤養分主要包含土壤的氮磷鉀和有機質含量,為了能夠根據不同位置土地的養分含量進行按需精準施肥,首先需要獲取不同位置土壤的養分和土壤墑情數據。
但目前我國大部分地區對耕地進行施肥時仍然是依靠傳統經驗,即使有農業技師進行施肥指導,也是以村為單位的單點采樣,實驗室化驗土壤養分含量為基礎的測土配方施肥,采樣效率低、實時性差且覆蓋范圍小,無法對同一村不同地理位置的耕地實現科學的施肥指導。現有的農業大田監測系統大多以土壤墑情數據的監測為主,且一般是1~2畝土地布設一個采樣點,傳輸方式多采用ZigBee和LoRa。例如,固原的土豆種植基地就采用了3畝地共用1個采樣點的監測模式。為了切實有效地實施農業大田測土配方技術,需要設計穩定的土壤多參數遠程監測系統。
廣域農業大田土壤多參數監測系統需要建立覆蓋面積廣、采集節點多、傳輸距離遠、功耗低且成本低的傳輸網絡。目前,戶外常用的無線通信技術有ZigBee,WiFi和LoRa技術。其中,WiFi功耗較大、通信距離較近且成本高,不適合戶外大田的多測點、低功耗的組網要求。ZigBee作為一種無線通信技術,近年來廣泛應用于各領域,但其在通信中占帶寬量較大,為了提高通信距離就只能提高其發射功率,不適合廣域農田遠距離、低功耗的數據傳輸要求。LoRa是Semtech公司推出的低功耗局域網無線擴頻技術,具有低成本、遠距離通信、簡單自組網以及工作在非授權頻段等特性,大田土壤多參數監測系統采集和傳輸的數據為字符流形式的單一數據,基于LoRa的無線傳輸網絡更適合廣域農業大田的組網需求。
綜上所述,本文建立了基于LoRa的農業大田土壤多參數監測系統,實現了廣域農田土壤多參數、多節點的數據采集、遠程傳輸以及服務器端的數據存儲、查詢和測土配方并給出施肥方案等功能。
土壤多參數監測系統由土壤多參數數據采集節點、匯聚節點、網關節點和數據服務器4部分組成。系統的網絡結構由感知層、傳輸層和應用層組成,網絡拓撲結構如圖1所示。數據采集節點與匯聚節點之間采用LoRa自組網形式,匯聚節點和網關之間采用星型連接方式,通過LoRa節點實現多對一的無線數據傳輸功能。網關節點與服務器之間通過4G移動互聯網進行遠程數據傳輸。服務器端接收多采樣點的多種監測數據并進行數據存儲、展示和分析,并根據土壤墑情信息確定灌溉方案,結合土壤養分數據進行測土配方計算,給出科學的施肥建議。

圖1 監測系統的網絡拓撲結構Fig.1 Network topology of the monitoring system
已有研究表明,田間每畝耕地的位置、走向以及周圍環境不同,土壤中的水分、養分存在明顯的差異。為了使監測系統覆蓋更廣泛的耕地并實現精細化耕種管理,首先需要確定采樣點的布設方案。監測系統中數據傳輸的網絡結構如圖2所示。

(a)采集節點和一級匯聚節點的網絡拓撲

(b)匯聚節點和網關之間的網絡拓撲圖2 監測系統中數據傳輸的網絡結構Fig.2 Network architecture of the monitoring system for data transmission
將耕地表示為9宮格的網格結構,以相鄰9畝地為例說明基于LoRa的農業大田無線網絡布設方案。
采集節點以V字形結構鋪設,如圖2(a)所示,這樣可以利用較少的傳感器覆蓋更大的監測范圍。采集節點中的傳感器直接插入土壤,STM32控制器架設在土壤或作物的上部,采用彈簧天線進行無線數據的傳輸。匯聚節點則選取9個采集點所在圓周的中心位置,選擇吸盤天線以便能夠收到所有采集節點的數據。匯聚節點和網關之間采用通用的星型網絡拓撲結構,網絡拓撲如圖2(b)所示。本系統的特點是根據監測范圍的大小可以自適應地調整傳輸網絡的結構,如果是10畝以內可以用網關節點代替匯聚節點,多于10畝的可以采用匯聚節點和網關的二級傳輸網絡結構,具體傳輸方法在第3節中詳細描述。
采集節點的硬件結構包括STM32處理器模塊、LoRa無線通信模塊、土壤溫濕度傳感器模塊、土壤PH值傳感器模塊、土壤氮磷鉀養分傳感器模塊以及電源模塊,硬件結構如圖3所示。其中,STM32處理器選用STM32F103ZET6型號的微處理器,可穩定連接并處理多個傳感器的數據采集。選用MS10型土壤溫濕度傳感器采集土壤墑情信息,選用VMS-3000-TR-PH-N01 PH值傳感器采集土壤的PH值。選用VMS-3000-TR-NPK-N01土壤氮磷鉀養分傳感器采集土壤的養分數據,其工作原理是通過電磁感應的方式測量土壤電導率,乘以不同養分類別對應的不同系數作為土壤氮磷鉀的養分含量,所測土壤養分含量分別為速效氮、磷、鉀的含量,測量分辨率為1 mg/kg(mg/L)、精度為±2%FS。以上幾種傳感器均采用RS485通信方式與STM32微控制器進行通信。

圖3 采集節點硬件結構組成Fig.3 Diagram of the hardware structure of the collection node
LoRa模塊選用SX1278無線通信模塊,工作頻段為410~441 MHz,發射功率最大為20 dBm,通信距離約為3 km,接收靈敏度最大為136 dBm。有4種工作模式,即一般模式、喚醒模式、省電模式以及信號強度模式,本系統中LoRa模塊設置為信號強度模式。在此工作模式下,LoRa模塊在發送數據前可以輸出當前的接收信號強度(Received Signal Strength Indication,RSSI)。
匯聚節點的硬件由STM32處理器模塊、LoRa模塊以及電源模塊組成,其中LoRa模塊設置為一般模式來完成監測數據的接收和轉發。
網關節點的硬件由STM32處理器、LoRa接收模塊、4G網絡傳輸模塊以及電源模塊組成,設備連接框圖如圖4所示,連接電路如圖5所示。LoRa通信模塊采用一般模式接收田間匯聚節點或采集節點發送的多采樣點的監測數據。4G遠程傳輸模塊選用Air724UG全網通的通信模塊,通過TCP/IP協議傳輸數據到數據服務器,支持LTT CAT1數據傳輸,其傳輸速率為5~10 Mb/s。本系統節點目前均采用移動電源進行供電。

圖4 網關節點的連接框圖Fig.4 Connection diagram of the gateway node

圖5 網關節點的連接電路圖Fig.5 Circuit diagram of the gateway node
采集節點在系統初次上電后需要進行一次復位操作。首先對采集和傳輸模塊進行初始化,然后采用中斷的方式將采集到數據依次存放到緩存中。當所有傳感器數據采集完成,LoRa模塊將數據傳輸至匯聚節點或網關節點,采集節點的采樣間隔為4 h。
根據對LoRa多節點遠距離數據傳輸的實驗發現,在LoRa默認自組網的傳輸協議下多終端節點進行數據發送時,由于各發送節點工作在同一頻率,有些節點因搶占不到信道或出現同頻干擾等問題,導致總有隨機20%的終端節點無法正常進行數據傳輸。載波監聽/多路訪問(CSMA/CA)是一種數據傳輸時避免各終端節點之間數據傳輸沖突的算法,其原理為在終端發送數據前,查看信道是否空閑,若信道不是空閑狀態,為了避免沖撞延時等待,監聽到信道空閑時再進行數據發送,可有效提高數據傳輸的穩定性[14]。
采集節點基于CSMA/CA的從機主動上傳的通信流程如圖6所示。

圖6 采集節點程序設計流程Fig.6 Flowchart of collection node program
為了解決LoRa自組網傳輸的丟包問題,提出了基于CSMA/CA的從機主動上傳的改進通信模式,應用在采集節點與匯聚節點之間的數據通信。具體實現方法為當采集節點完成了數據采集,在發送數據之前先監聽當前無線網絡環境中的RSSI數值。RSSI是LoRa通信模塊描述數據傳輸質量的一個重要參數,反映了當前信道的通信狀況[15]。如果監聽到的RSSI值大于閾值,表明當前無線網絡環境中有正在傳輸的數據,則調用隨機延遲函數延遲后再繼續監聽。當RSSI值小于閾值時,采集節點向匯聚節點發送建立連接請求,收到回復后發送數據。
匯聚節點和網關節點之間的數據傳輸流程如圖7所示,其中匯聚節點的程序設計流程如圖7(a)所示,網關節點的程序設計流程如圖7(b)所示。為了更大范圍監測不同區域的耕種土壤環境參數,并提高多傳感器多采集節點的數據傳輸質量顯著降低丟包率,設計了LoRa多匯聚節點和網關節點之間的主機輪詢通信方式。在網關節點首先對LoRa模塊與4G通信模塊進行初始化操作,LoRa接收模塊采用一般模式。

(a)匯聚節點程序設計流程

(b) 網關節點程序設計流程圖7 匯聚節點和網關之間的數據傳輸流程Fig.7 Flowchart of data transmission between sink nodes and gateways
網關節點在定時器的控制下依次以廣播形式發送帶有匯聚節點ID的廣播請求來喚醒匯聚節點,具有相同ID的匯聚節點應答之后和網關節點建立連接。如果有新的接收數據則該匯聚節點向網關傳輸數據,網關接收到數據后寫入不同的緩存數組中,該匯聚節點進入待機狀態等待下次傳輸的喚醒。當網關節點完成了全部的匯聚節點數據接收后,將所有的數據進行解析并重新封裝,通過4G模塊以TCP/IP協議發送至數據服務器。如果3次主機輪詢都無法喚起匯聚節點,則向服務器發送報警信息。
系統的數據服務器搭建在阿里云的Ali Cloud Engine平臺上,Web服務器為Tomcat7.0.54,數據庫系統采用MySQL,服務器端軟件的開發工具采用MyEclipse10.7,以MVC的開發模式完成服務器端的農田基本信息管理、土壤多參數監測數據管理、測土配方以及農業專家交流模塊等功能的實現。系統的部分服務器端功能如圖8所示。


圖8 服務器端的軟件功能Fig.8 Diagram of the service software function
通過文獻[16-17]可知,擴頻因子(SF)、帶寬(BW)和編碼率(CR)是LoRa節點的3個重要傳輸參數,每個參數設定取決于實際的網絡部署。為了在實際應用中獲得更好的傳輸效率,采用點對點的透傳方式來確定LoRa模塊的傳輸參數的值,并以RSSI、信噪比(SNR)和傳輸成功率作為LoRa傳輸性能的評價指標。RSSI的絕對值越大表示信號的能量越強,傳輸效果越好[17]。SNR是信號的平均功率和信號的噪聲功率的比值,反映了數據的傳輸質量,其數值越大,信號的質量越好,數值越小,表示信號受到的噪聲干擾越大[18]。
測試前設置節點的發射功率為22 dBm,中心頻率為472.3 MHz,前導碼設置為8位。在戶外農田不同的傳輸距離連續發送300個數據包,測試數據如表1所示,受篇幅所限表1只給出了不同傳輸距離下最優的參數選擇。根據田間實際測試結果確定LoRa模塊的SF為12,BW為125 kHz,CR為4/7。由表1可以看出,當通信距離在1.6 km以上時,其發送300個數據包的平均RSSI值均在-100左右,因此選定RSSI閾值為-100。

表1 LoRa節點不同傳輸參數對傳輸性能的影響Tab.1 Influence of different transmission parameters of LoRa nodes on transmission performance
(1)多采集節點和匯聚節點間LoRa遠程傳輸的性能測試
在戶外田間環境下,測試了4個LoRa采集節點到一個匯聚節點的從機主動上傳的傳輸性能。并采用LoRa默認自組網模式作為對比試驗,每個LoRa節點部署在高1 m的位置,采集和匯聚節點的SF設置為12,BW設置125 kHz,CR為4/7,中心頻率設置為433 MHz。每個數據包固定為15 Byte,共發送600組數據。匯聚節點的接收情況如表2所示。

表2 LoRa節點和匯聚節點之間從機主動上傳傳輸結果分析Tab.2 Analysis of active upload and transmission results of slaves between LoRa nodes and sink nodes
從表2可以看出,當傳輸距離為1.0,1.6 km時,使用LoRa默認的組網傳輸協議和基于CSMA/CA的從機主動上傳的改進傳輸協議進行多測點數據傳輸,傳輸成功率均可達到90%以上。但在2.2 km時LoRa自組網的傳輸成功降低到65.8%,而從機主動上傳的傳輸方式其傳輸成功率可以達到86.3%,傳輸成功率提升了20.5%。測試結果證明,從機主動上傳的方式可以有效解決遠程LoRa多節點隨機無法有效傳輸的問題。
(2)匯聚節點和網關之間LoRa主機輪詢的傳輸性能測試
在田間測試了2個LoRa匯聚節點到一個網關節點的主機輪詢傳輸模式。LoRa節點的布置方法和參數設置與上述設置方式相同,每個數據包固定為15 Byte,每個匯聚節點輪詢發送600組數據包,測試了1.0,1.6 km的傳輸性能。實驗結果表明,在1.0 km時傳輸成功率可以達到100%,在1.6 km時達到了97.2%,達到了傳輸性能要求。主機輪詢傳輸協議優點是每個節點都有相應的窗口期來發送數據,當節點數量過多時,輪詢的周期可能會較長。但由于匯聚節點數目較少,這種傳輸方式能夠滿足農場匯聚節點與網關節點之間的實際傳輸需求。
選取西安科技大學周邊某農戶的3畝石榴園地進行系統戶外實際測試,網絡結構為多采集節點與網關節點的星型連接方式。將土壤溫濕度、土壤PH值和土壤氮磷鉀傳感器埋在距離地表30 cm的土壤中,監測土壤中的養分數據和墑情信息等。每畝地布設一個采集節點,采集節點和網關節點的實物如圖9所示,采用移動電源對系統進行供電。在2022年4月13—18日,連續監測6 d的土壤環境數據,得到土壤溫濕度以及氮、磷、鉀等參數的變化情況,其中某一采集節點的監測數據如圖10所示。系統提供的測土配方的施肥方案如圖11所示。

(a)采集節點實物

(b)網關節點實物圖9 采集節點和網關節點實物Fig.9 Physical map of collection node and gateway node

圖10 土壤多參數變化曲線Fig.10 Curve of soil multi-parameter variation

圖11 土壤測土配方施肥方案Fig.11 Scheme of formulated fertilization based on soil testing
本文實現了基于LoRa的廣域農田土壤多參數多采集點的監測系統。針對已有的廣域農田多采集點無線數據準確傳輸問題,提出了基于CSMA/CA的LoRa多采集節點自組網的改進通信模式,戶外大田實地測試證明了該方法的有效性。利用監測系統可以獲取不同區域土壤的養分數據、PH數據以及墑情數據,為深入挖掘作物生長狀態與土壤環境間的關系以及不同地塊按需精準施肥提供了支撐。在此基礎上,引入機器學習或深度學習等智能算法,以監測數據和無人機圖像數據為基礎,開展土壤肥力動態評價以及作物長勢分析與精準施肥的深入研究。