駱東松 趙磊 周宇軒



摘要?針對西北地區農業條件差、水資源匱乏等問題,研究和開發了一種溫室遠程灌溉系統。該系統結合傳感器技術、LoRa通訊技術、云平臺應用技術、數據庫應用技術以及ASP.NET應用程序開發技術,從上到下搭建一整套遠程灌溉系統。該系統通過數據采集節點對溫室內環境參數進行及時監測,并將數據上傳,電磁閥控制節點接收遠程用戶指令執行灌溉任務,現場控制器節點則連接子節點和云服務平臺,對數據和指令進行解析、中轉任務,結合數據庫技術和ASP.NET應用程序開發技術,開發B/S結構WEB應用程序,為用戶進行遠程監控提供平臺。
關鍵詞?遠程灌溉,LoRa,云平臺,數據庫,ASP.NET
中圖分類號?S126文獻標識碼?A文章編號?0517-6611(2020)06-0194-04
Abstract?Aiming at the problems of poor agricultural conditions and lack of water resources in Northwest China, the greenhouse remote irrigation system was studied and developed. The system combined with sensor technology, LoRa communication technology, cloud platform application technology, database application technology and ASP.NET application development technology to build a set of remote irrigation system from top to bottom. The system monitored and uploaded the environmental parameters of greenhouse in time through data acquisition nodes,the solenoid valve control node received instructions from remote users to perform irrigation tasks,the field controller node connected subnodes and cloud service platform to parse and transfer data and instructions,combined with database technology and ASP.NET application development technology, the author developed WEB applications based on B/S structure , which ?provided for a platform for remote monitoring of users .
Key words?Longdistance irrigation,LoRa,Cloud platform,Database,ASP.NET
近年來,隨著我國農業的發展,溫室大棚種植面積不斷擴大,尤其是在我國西部和北部地區。溫室大棚是根據農作物的生長發育需求,通過人工調節改變局部氣象環境,為農作物的生長發育提供適宜的環境條件,在一定程度上擺脫了對自然因素依賴的新型農業[1]。溫室大棚的農作方式打破了傳統農業對“天氣”的巨大依賴,并且隨著近年來科技的不斷發展,物聯網技術和云平臺技術在各行各業的廣泛運用,也刺激了農業向遠程化、信息化和智能化的方向發展。由于溫室大棚相對封閉的環境,無法從自然環境中直接吸收降雨,所以只能通過人工的方式主動提供作物所需水分[2]。然而,農戶通常采用“觀察+經驗”的方式進行灌溉,這種費時、費力的灌溉方式無法及時、準確地為作物提供水分,因此無法為農作物的生長提供最佳濕度環境,同時也會對水資源造成浪費。因此,
針對西北地區農業條件差、水資源匱乏等問題,筆者研發了一種溫室遠程灌溉系統。該系統結合傳感器技術、LoRa通訊技術及時獲取土壤溫濕度參數以及溫室其他環境參數,實現遠程實時監測,根據預先設定作物對濕度的需求閾值來進行自動灌溉任務,同時依托云服務平臺進行數據的集中管理和分析,并開發操作簡單、使用便捷的遠程監控應用程序,使得農業灌溉更加及時精準,并可使農戶遠程操作更加省時、省力,且能減少水資源的浪費。
1?LoRa技術簡介
該系統主要依賴LoRa無線通訊技術進行溫室內的數據采集通訊和灌溉指令通信。LoRa是LPWAN(low power wide area network)技術的一種,是美國Semtech公司采用和推廣的一種基于擴頻技術的超遠距離無線傳輸方案[3],其最大特點是傳輸距離遠、工作功耗低、組網節點多。
相較于ZigBee、WiFi等無線通訊技術,LoRa兼備超遠距離傳輸和低功耗的顯著特性,其融合了擴頻調制和前向糾錯編碼技術(forward error correction,FEC),擴大了數據傳輸距離,提高了數據傳輸的抗干擾性[4]。LoRa技術在無遮擋情況下最遠距離可達十幾公里,在市區范圍內也可達2~3 km,超低功耗待機可靈活調整功率等級,適配傳輸中對距離和速率的要求,支持多種休眠和待機模式,電池續航可達10年。同時,與NB-IoT技術相比,LoRa技術無需依賴現有的數據網絡基站,可以自由組網,節點容量可達數萬且支持點到點通訊、串口數據雙向通訊,更加適用于蜂窩數據網絡覆蓋不及的大面積戶外場景。
2?系統結構設計
該系統主要結構分為數據采集節點、閥門控制節點、現場控制器、云平臺服務器4個部分(圖1)。采集節點通過安裝在溫室內部的溫濕度傳感器(空氣、土壤)等設備監測溫室的環境參數,再通過MCU和LoRa模塊將數據通過無線的方式傳輸到現場控制器。閥門控制節點通過MCU和LoRa模塊接收和處理網關控制器下發的控制指令,控制電磁閥動作,從而對溫室內的作物進行灌溉,同時控制節點還可以監測各個電磁閥的狀態。現場控制器起到網關的作用,即負責數據的集中處理與轉發,一方面通過LoRa模塊與采集節點和控制節點進行數據交互,另一方面則通過GPRS模塊以TCP/IP的方式與云平臺服務器進行通訊。云平臺服務器通過數據庫技術對溫室信息進行集中管控,同時在云服務平臺開發用戶應用軟件,為用戶提供溫室遠程監控服務。用戶主要通過電腦和手機的方式查詢溫室內的環境參數及設備運行情況,根據溫室內的作物需求來制定灌溉條件,同時支持手自動2種灌溉模式進行溫室灌溉。
3?灌溉系統的硬件和軟件設計
3.1?系統硬件設計
3.1.1?數據采集節點。數據采集節點即負責采集溫室的環境參數并將其通過無線的方式上行傳輸至網關,其硬件結構圖如圖2所示。
數據采集節點選用ST公司生產的STM32L151x系列微處理器為控制核心,該芯片基于ARM的超低功耗32位MCU cortex-M3架構,集成128 kB閃存(Flash)以及16 kB 靜態隨機存取存儲器(SRAM)[5],多種工作模式,待機模式下功耗低至0.3 μA,且具有UART、SPI、I2C、USB以及AD模擬數字轉換器等豐富的外設接口能夠很好地滿足節點設計需求。LoRa通信模塊選用sx1278芯片的無線模塊,sx1278芯片是由Semtech公司生產的低功耗半雙工遠距離發射器,集成LoRa遠程調制解調器,工作頻段410~441 MHz,最大發射功率20 dBm,接收靈敏度-148 dBm,帶寬7.8~500.0 kHz,擴頻因子7~12,有效傳輸速率0.018~37.500 kbps,能夠有效實現遠距離數據傳輸。
數據采集節點主要通過采集土壤溫濕度數據來進行及時的自動灌溉,同時也檢測溫室內的其他環境參數(空氣溫濕度、光照強度、CO2濃度)供用戶查看。土壤溫濕度傳感器選用sys-TDR-5,其水分測量范圍0~100%(m3/m3),測量精度±2%,溫度測量范圍-30~70 ℃,測量精度±0.2 ℃,測量區域為以中央探針為中心的直徑7 cm、高7 cm的圓柱體,工作電流40~80 mA,工作電壓5 V/12 V DC,輸出信號4~20 mA標準電流環,具有密封性好,不易腐蝕,穩定性強,響應速度快,傳輸距離遠測量精度高等顯著優點[6]。空氣傳感器選用Sensirion公司推出的SHT11,其溫度測量范圍為-40~123 ℃,測量精度±0.4 ℃,相對濕度測量范圍為0~100%,測量精度±3%,采用CMOsensTM技術,內部集成信號放大器、數模轉換器、校準數據存儲器、標準I2C總線等電路,能夠長期穩定運行且反應速度快、功耗低、精準度高[7]。CO2濃度傳感器采用BMG-CO2-NDIR傳感器,檢測量程可在0~2 000、0~5 000、0~10 000 ppm間選擇,檢測分辨率可達±10 ppm,4~20 mA模擬信號輸出,功耗低,使用壽命可達10年以上。光照強度傳感器采用TAOS公司推出的TSL2561,它是一款寬量程、高速率、低功耗且能自主編寫的數字轉換芯片[8]。
3.1.2?閥門控制節點。閥門控制節點接收現場控制器下發的指令,驅動電磁閥動作實施灌溉,其硬件結構圖如圖3所示。閥門控制節點仍選擇STM32L151x系列微處理器為控制核心,搭配sx1278的無線LoRa模塊,實現電磁閥的無線控制通信。信號輸出模塊通過DIO口控制繼電器的通斷,從而控制電磁閥的通斷,進行灌溉任務。
3.1.3?現場控制器。現場控制器主要由MCU、LoRa模塊、GPRS模塊及其觸摸屏組成,其結構圖如圖4所示。現場控制器仍選擇STM32L151x系列微處理器為控制核心。LoRa模塊則選擇sx1301芯片,作為現場控制器要求能夠成百甚至上千個節點進行通訊,相較于sx1278芯片,sx1301擁有8通道,每個通道可以接收6個正交LoRa信號,且采用速率自適應(adaptive data rate,ADR)技術能夠實現更大的數據吞吐量。GPRS模塊采用的是SIMCOM公司的SIM808,它是一款高性能工業級的GPS/GSM/GPRS三合—模塊,內嵌TCP/IP協議,工作頻率有850、900、1 800、1 900 MHz 4種,工作電壓為4 V[9]。LCD觸摸顯示屏則能為用戶提供良好的人機交互界面來進行溫室現場操作。
3.2?系統軟件設計
3.2.1?數據采集節點軟件設計。數據采集節點通過溫室內傳感器設備對環境參數進行數據監測、采集,采用主動上報和執行查詢指令上報2種模式相結合的方式進行數據采集。其工作流程圖如圖5所示,節點第一次運行時對節點進行初始化,初始化完成后LoRa模塊進行網絡搜索,并加入網絡,若LoRa模塊組網失敗則進行報警提示。此后進入正常系統循環,傳感器設備定時對數據進行采集并定時將數據通過LoRa無線通訊模塊上報給現場控制器,上報完成后設備進行低功耗運行模式,等待下一次數據采集或接收現場控制器下發的查詢指令進行數據采集。
3.2.2?閥門控制節點軟件設計。電磁閥控制節點即接收現場控制器下發的控制指令,進行灌溉任務。其工作流程圖如圖6所示,節點在初次上電運行時,進行系統初始化,初始化化完成后LoRa模塊進行網絡搜索,并加入網絡,若LoRa模塊組網失敗則進行報警提示。此后電磁閥控制節點進入循環工作狀態,當接受到現場控制器下發的控制指令時,根據通信協議解析指令執行相應操作,進行對電磁閥進行通斷,同時將電磁閥更新的狀態上傳給現場控制器。
3.2.3?現場控制器軟件設計。現場控制器是下位系統的控制中樞,既通過LoRa模塊和子節點進行數據交互,也通過GPRS模塊與服務器進行數據交互,并在其中設定灌溉閾值(可遠程修改)進行自動灌溉任務。其工作流程如圖7所示,設備上電后進行系統初始化,創建LoRa網絡,完成之后進入循環工作模式,系統監聽服務器下發的指令和子節點上傳的數據。服務器下發指令時,系統GPRS模塊首先進行指令接收,指令解析后下發相應的節點執行數據采集任務或電磁閥控制,子節點主動上傳采集數據時,LoRa模塊接收數據并解析,再上傳至服務器,對數據進行集中存儲與管理。
4?云平臺與遠程監控軟件
依托于云服務平臺,開發TCP/IP協議端口與現場控制器進行數據傳輸,并將數據存入云平臺數據庫進行合理化管理和使用,同時在云平臺上進行B/S結構的用戶應用程序開發并發布,供用戶進行溫室的遠程灌溉和監控。
4.1?云平臺
云平臺是對用于提供云服務的平臺的統稱,其發展與云計算密切相關。云平臺主要提供3種服務模式,分別為基礎設施即服務(IaaS)、平臺即服務(PaaS)、應用即服務(SaaS)[10],該系統在“阿里云”提供的PaaS的基礎上進行數據管理和應用軟件的開發,相較于自己搭建的服務平臺不僅需要考慮硬件設備,而且要考慮系統維護和人員管理的問題,租用“阿里云”可以根據自己需要進行搭配選擇,更加方便、快捷。該系統云平臺結構如圖8所示。
4.2?數據庫設計
數據庫管理是整個系統實現應用的重要核心。數據庫的合理設計不僅能保障信息系統的穩定性,而且可以大大提高信息系統的工作效率[11]。
根據溫室遠程監控系統的需求分析,數據庫表單主要有溫室環境信息表、設備控制記錄表、故障信息表、人員信息管理表、控制指令表等。數據庫表隨著系統的運行和用戶的操作,會及時更新和記錄,是整個系統的信息化管理和遠程監控的重要核心與基礎。
4.3?遠程監控軟件的開發
B/S結構的應用程序開發基于ASP.NET三層架構技術,分為UI層(UIL)、業務邏輯層(BLL)和數據訪問層(DAL)。其結構如圖9所示,UI層(UIL)主要采用“HTML+CSS+JavaScript”方式構建前端交互界面,業務邏輯層(BLL)則連接UI層和數據訪問層,利用ADO.NET、AJAX、JQuery等技術實現業務邏輯,數據訪問層(DAL)則負責對數據進行增、刪、改、查,為業務邏輯層提供數據服務。
5?系統測試
系統的測試主要是對通信進行測試,即LoRa通訊和GPRS通信,最后再對B/S結構的應用程序進行簡單的數據操作性測試。
5.1?LoRa通信測試
LoRa通信的良好是溫室信息采集和灌溉的重要保障,同時也為考慮節點分布距離,對LoRa模塊進行通訊距離測試和丟包率測試。將2個節點由近到遠每間隔500 m進行定向傳輸測試,設置射頻中心頻率433 MHz,帶寬為125 kHz,串口波特率9 600 b/s、發射功率20 dBm,測試結果如表1所示。
5.2?GPRS通訊測試
為保障溫室硬件設備和云服務器的數據交互,測試GPRS與云服務器的連接穩定性。在云平臺服務器上開放端口號和IP白名單,GPRS模塊使用AT指令進行連接,并定時發送數據,持續測試6 h,測試結果穩定未掉線。
5.3?云平臺應用程序測試
應用程序測試主要對應用邏輯層進行測試,測試數據的交互是否良好。數據庫采用SQL Server數據庫,應用ADO.NET技術對數據庫進行操作,測試結果良好。
6?結語
該系統結合LoRa無線通訊技術、傳感器技術、云應用技術以及Web開發技術,實現溫室的遠程監測與灌溉,從下位節點到服務器應用對系統進行詳細介紹。
對系統進行綜合測試,系統運行情況良好,造價低廉、經濟實用,硬件搭建容易、快捷,可在現有溫室大棚基礎上安裝,也可運用于大田灌溉,遠程監控軟件使用方便,有網即可使用,適用范圍廣,有利于我國傳統農業走向現代化的發展。
參考文獻
[1] 王瑗,盛連喜,李科,等.中國水資源現狀分析與可持續發展對策研究[J].水資源與水工程學報,2008,19(3):10-14.
[2] 楊祥龍,李琦,王華,等.一種基于無線嵌入式技術的溫室滴灌現場監控系統:CN201020194888.4[P].2010-12-22.
[3] 王燦,王中華,王冬雪,等.基于LoRa的智能灌溉系統設計[J].計算機測量與控制,2018,26(8):217-221.
[4] 張雪花,張武,楊旭,等.農業溫室環境控制方法研究綜述[J].控制工程,2017,24(1):8-15.
[5] 王箏,胡靜,宋鐵成,等.基于LoRa的農田信息采集系統設計與實現[J].信息化研究,2018,44(3):53-57.
[6] 張瀚中,曹江濤,邵鵬飛,等.基于WSNs的溫室大棚智能灌溉控制系統設計[J].控制工程,2019,26(1):108-113.
[7] 魏小龍.MSP430系列單片機接口技術及系統設計實例[M].北京:北京航空航天大學出版社,2002.
[8] 周立功.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2008.
[9] 劉軍.例說STM32[M].北京:北京航空航天大學出版社,2011.
[10] 馮培存,魏正英,張育斌,等.基于云平臺的智能精量水肥灌溉控制系統設計[J].中國農村水利水電,2018(2):20-22,27.
[11] 王海燕.C#.NET下三層架構數據庫應用系統開發[J].計算機技術與發展,2012,22(6):78-81.