韓團軍 尹繼武 趙增群 王楷
摘要:為解決傳統(tǒng)物聯(lián)網(wǎng)組網(wǎng)復雜、傳輸距離短、功耗高等問題,提出一種基于LoRa技術的農(nóng)業(yè)環(huán)境監(jiān)測系統(tǒng)。該系統(tǒng)以STM32微控制器的外設功能驅(qū)動傳感器實現(xiàn)多種環(huán)境數(shù)據(jù)的監(jiān)測,利用LoRa無線通信模塊組建數(shù)據(jù)傳輸網(wǎng)絡。數(shù)據(jù)傳輸網(wǎng)絡中的匯總節(jié)點接收所有從監(jiān)測節(jié)點傳來的數(shù)據(jù),然后將數(shù)據(jù)打包處理后通過通用分組無線服務(GPRS)通信網(wǎng)絡上傳至服務器,利用C#語言開發(fā)的上位機可以實現(xiàn)對監(jiān)測數(shù)據(jù)的實時顯示以及保存。經(jīng)測試,該系統(tǒng)能夠?qū)崟r準確地監(jiān)測農(nóng)業(yè)環(huán)境數(shù)據(jù),運行穩(wěn)定可靠,可以滿足農(nóng)業(yè)環(huán)境監(jiān)測的需求。
關鍵詞:物聯(lián)網(wǎng);農(nóng)業(yè)環(huán)境;LoRa;GPRS通信
中圖分類號: S275.6文獻標志碼: A
文章編號:1002-1302(2019)19-0236-05
收稿日期:2018-07-01
基金項目:國家自然科學基金(編號:61401262);陜西省教育廳基金(編號:16JK1151);陜西理工大學2017年科研基金(編號:SLGKY2017-16)。
作者簡介:韓團軍(1981—),男,陜西咸陽人,碩士,講師,研究方向為集成電路設計與分析,E-mail:htjzyh@163.com;尹繼武,教授,碩士生導師,研究方向為信號處理,E-mail:Yjw23456@163.com。
我國是一個農(nóng)業(yè)大國,農(nóng)業(yè)在國家經(jīng)濟建設中具有十分重要的戰(zhàn)略地位,我國農(nóng)業(yè)環(huán)境在空間和地域分布上極其不同,如何科學有效地管理和監(jiān)測農(nóng)業(yè)環(huán)境信息成為農(nóng)業(yè)信息化研究的重點。物聯(lián)網(wǎng)技術的發(fā)展給農(nóng)業(yè)環(huán)境信息采集和最優(yōu)化控制提供了可靠的技術基礎,已經(jīng)成為農(nóng)業(yè)科學種植的主要信息化手段?,F(xiàn)在已有的農(nóng)業(yè)無線數(shù)據(jù)監(jiān)測系統(tǒng)組網(wǎng)和協(xié)議比較復雜,系統(tǒng)存在著傳輸距離短、功耗高和抗干擾性差等缺點[1-5]。
本研究提出了一種基于LoRa技術的農(nóng)業(yè)數(shù)據(jù)監(jiān)測系統(tǒng),利用LoRa無線通信模塊組建數(shù)據(jù)傳輸網(wǎng)絡。數(shù)據(jù)傳輸網(wǎng)絡中的匯總節(jié)點接收所有監(jiān)測節(jié)點的數(shù)據(jù),然后將數(shù)據(jù)打包處理后通過通用分組無線服務(GPRS)通信網(wǎng)絡上傳至服務器,利用C#語言開發(fā)的上位機實現(xiàn)對監(jiān)測數(shù)據(jù)的實時顯示以及保存。整個系統(tǒng)設計和組網(wǎng)簡單,能夠?qū)崟r準確顯示農(nóng)業(yè)環(huán)境檢測數(shù)據(jù),運行穩(wěn)定可靠,可以滿足農(nóng)業(yè)環(huán)境監(jiān)測和有效管理的要求。
1 系統(tǒng)結構設計
整個系統(tǒng)利用LoRa無線通信模塊組建數(shù)據(jù)傳輸網(wǎng)絡,包含監(jiān)測節(jié)點和匯總節(jié)點2種節(jié)點。監(jiān)測節(jié)點由STM32控制器、傳感器和LoRa模塊組成,STM32驅(qū)動各傳感器采集數(shù)據(jù)并通過LoRa模塊將數(shù)據(jù)發(fā)送給匯總節(jié)點。數(shù)據(jù)傳輸網(wǎng)絡中的匯總節(jié)點接收所有從監(jiān)測節(jié)點傳來的數(shù)據(jù),然后將數(shù)據(jù)打包處理后通過GPRS通信網(wǎng)絡上傳至服務器,利用C#語言開發(fā)的上位機實現(xiàn)對監(jiān)測數(shù)據(jù)的實時顯示以及保存。整個農(nóng)業(yè)環(huán)境系統(tǒng)的結構如圖1所示。
2 系統(tǒng)硬件設計
整個系統(tǒng)分為監(jiān)測節(jié)點、匯總節(jié)點2個部分。監(jiān)測節(jié)點包括STM32控制器模塊、LoRa無線通信模塊、土壤溫度和水分傳感器模塊、土壤酸堿度傳感器模塊、光照傳感器模塊以及電源模塊,監(jiān)測節(jié)點負責采集數(shù)據(jù)并通過LoRa模塊將數(shù)據(jù)發(fā)送給匯總節(jié)點。匯總節(jié)點包括STM32控制器模塊、LoRa無線通信模塊、GPRS模塊以及電源模塊,負責將數(shù)據(jù)打包后上傳至服務器端。整個系統(tǒng)的硬件框圖如圖2所示。
2.1 電源模塊電路設計
電源供電需要+5.0 V、+3.3 V和+12.0 V 3路電源??刂破鞑捎?3.3 V電源供電,放大電路需要+12.0 V電源進行供電,+5.0 V電源由USB提供,為了保證電源設計輸出穩(wěn)定,采用AMS1117穩(wěn)壓芯片設計+3.3 V電源,用德州儀器公司的LDO低壓差線性穩(wěn)壓器TPS54140設計提供12 V電源[6-7]。供電電路如圖3和圖4所示。
2.2 土壤酸堿度電路設計
設計中采用電化學法對土壤的酸堿度進行測量,該方法是利用電極電位的大小與檢測物質(zhì)濃度的大小呈線性的電化學法。工作原理是把被測液體的濃度、測量電極和參考比較電極等效為原電池,這樣可以使化學能轉化為電池的電動勢,建立起原電池電壓和液體中氫離子濃度之間的關系,通過測量電池的電動勢得到氫離子濃度,進而得到土壤的酸堿度值。在設計中由于土壤溶液中氫離子濃度轉化的電信號比較微弱,不能為后續(xù)電路處理,所以必須對該采集到的小信號進行放大處理。本研究采用CD4575和TL048 2款放大器和相關的外圍電路設計了一個四級運放系統(tǒng)。四級放大器的第1級采用正相放大設計,這樣設計可以提高輸入阻抗;用TL048設計第3級放大器,作用是調(diào)節(jié)輸入電壓的零點[8-10]。具體電路如圖5所示。
3 系統(tǒng)軟件設計
整個系統(tǒng)軟件設計主要包括監(jiān)測節(jié)點軟件設計、匯總節(jié)點軟件設計和上位機軟件設計。
3.1 監(jiān)測節(jié)點軟件設計
監(jiān)測節(jié)點由STM32微控制器、多傳感器、LoRa模塊組成,土壤溫度、水分傳感器和STM32之間通過IIC總線通信,酸堿度傳感器和光照傳感器的數(shù)據(jù)通過STM32內(nèi)部的ADC模塊讀取,LoRa模塊和STM32控制器之間通過串口通信,程序流程如圖6所示。
3.2 匯總節(jié)點軟件設計
匯總節(jié)點由STM32微控制器、LoRa模塊以及GPRS模塊組成,其主要功能是接收所有從監(jiān)測節(jié)點傳來的數(shù)據(jù),然后將所有數(shù)據(jù)打包處理上傳至服務器端。LoRa模塊和GPRS模塊都是通過串口和STM32通信,所以在匯總節(jié)點部分須要用到STM32內(nèi)部的USART模塊。STM32和LoRa模塊之間使用USART1通信,STM32和GPRS模塊之間使用USART2通信。USART1采用中斷方式采集數(shù)據(jù),一旦有數(shù)據(jù)傳入則會觸發(fā)中斷,串口每中斷一次發(fā)送一個八位數(shù)據(jù),數(shù)據(jù)會保存在緩沖寄存器中,在串口中斷處理函數(shù)中將緩沖寄存器中的數(shù)據(jù)保存到一個數(shù)組中,接收完一幀數(shù)據(jù)關閉串口1中斷,使用串口2發(fā)送數(shù)據(jù)。為了區(qū)分不同節(jié)點的數(shù)據(jù),程序規(guī)定每個監(jiān)測節(jié)點發(fā)送的數(shù)據(jù)格式為節(jié)點號+數(shù)據(jù)+結束標志符。所以在匯總節(jié)點處要對不同節(jié)點數(shù)據(jù)進行識別,如果接收到的是數(shù)據(jù)節(jié)點號,則表示要開始一幀數(shù)據(jù)的接收,此時將數(shù)據(jù)接收標志位置1。如果接收到的是結束標志符,則表示一幀數(shù)據(jù)的接收已結束,此時將數(shù)據(jù)接收標志位置0,將數(shù)據(jù)接收完成標志位置1。主程序中判斷到數(shù)據(jù)接收完成標志位置1后會中斷串口1,此時轉入串口2發(fā)送,利用串口2的發(fā)送函數(shù)將數(shù)組中的數(shù)據(jù)發(fā)給GPRS模塊,然后GPRS模塊將所有的數(shù)據(jù)上傳至服務器端。其程序流程如圖7所示。
3.3 上位機軟件設計
上位機軟件設計利用Visual studio開發(fā)平臺完成,通過 C# .NET 的窗體應用程序開發(fā)中若干類庫設計出軟件整體。本系統(tǒng)上位機軟件主要由下面3個部分組成:軟件參數(shù)設置模塊、數(shù)據(jù)接收及顯示模塊、數(shù)據(jù)處理及繪圖模塊,詳細模塊功能如圖8所示。
Visual studio為開發(fā)人員提供了大量可以直接使用的控件,操作方便。對于一個Winform應用程序來說,常見的控件主要有TextBox控件、Button控件、Label控件、Panel控件、CrystalReport控件等。C#中的網(wǎng)絡通信和傳統(tǒng)語言采用的模型相同,但用戶需要管理的細節(jié)較少。C#網(wǎng)絡編程采用System.Net和System.Net.Socket 2個命名空間來實現(xiàn)類的調(diào)用。
上位機和服務器之間基于傳輸控制協(xié)議(TCP)通信。TCP協(xié)議通過一個端口進行信息的傳輸和獲取。低于 1 024 的端口是公共端口,由互聯(lián)網(wǎng)數(shù)字分配機構(IANA)分配,1 024 至65 535是沒有公共定義的端口,用戶可以自己定義這些端口[11-12]。上位機界面如圖9所示。
4 系統(tǒng)測試及分析
4.1 系統(tǒng)測試終端
系統(tǒng)軟、硬件設計完成后,為了驗證系統(tǒng)的可行性,搭建了一個試驗測試平臺。為了簡化測試條件,整個測試平臺包括2個監(jiān)測節(jié)點、1個匯總節(jié)點以及1個阿里云服務器。監(jiān)測節(jié)點搭載溫濕度、土壤酸堿度、光照傳感器,匯總節(jié)點包括LoRa模塊和GPRS模塊。
4.2 監(jiān)測數(shù)據(jù)采集
測試中將2個監(jiān)測點設置在農(nóng)田的主要工作區(qū),測試過程主要是驗證本系統(tǒng)的網(wǎng)絡結構、LoRa通信方式穩(wěn)定性和通信距離,能否準確可靠地顯示環(huán)境監(jiān)測數(shù)據(jù)。通過驗證,整個系統(tǒng)能正常工作,且通過服務器可以準確檢測到農(nóng)田環(huán)境中的溫濕度、光照度變化以及土壤的pH值。測試各種參數(shù)的變化曲線可以通過上位機觀察,結果如圖10、圖11、圖12和圖13所示。通過監(jiān)測系統(tǒng)對環(huán)境數(shù)據(jù)進行采集,不同時刻的溫、濕度數(shù)據(jù)如表1所示。
由表1可以看出,監(jiān)測系統(tǒng)測量得到的土壤溫度和含水量數(shù)據(jù)與實際數(shù)據(jù)基本一致,誤差較小,符合監(jiān)測系統(tǒng)需求。
通過圖8至圖13可以看出,系統(tǒng)測試靈敏度比較高,能準確實時地監(jiān)測土壤pH值的大小和光照度的變化,整個設計符合系統(tǒng)需求。
5 結語
采用LoRa技術設計了一種遠程分布式農(nóng)業(yè)環(huán)境數(shù)據(jù)監(jiān)測系統(tǒng),實現(xiàn)了對農(nóng)業(yè)環(huán)境信息的實時監(jiān)測,通過對系統(tǒng)的實地調(diào)試,證明了該系統(tǒng)能夠精確測量農(nóng)業(yè)環(huán)境參數(shù),可以被廣泛應用于智能化農(nóng)業(yè)系統(tǒng)中,系統(tǒng)設計靈活、網(wǎng)絡拓撲結構簡單、傳輸距離遠、功耗極低,且該系統(tǒng)具有良好的測量準確性,可以被廣泛推廣。
參考文獻:
[1]王玖林,趙成萍,嚴 華. 基于LoRa的節(jié)水灌溉系統(tǒng)設計與研究[J]. 節(jié)水灌溉,2017(12):104-106,111.
[2]王 鈞. 基于LoRa的設施農(nóng)業(yè)區(qū)自動氣象站監(jiān)測系統(tǒng)設計[J]. 中國農(nóng)機化學報,2018,39(5):82-86.
[3]萬雪芬,崔 劍,楊 義,等. 地下LoRa無線傳感器網(wǎng)絡的傳輸測試系統(tǒng)研究[J]. 華南農(nóng)業(yè)大學學報,2018,39(3):118-124.
[4]張永棠,周富肯,吳圣才. 精確農(nóng)業(yè)無線傳感器網(wǎng)絡節(jié)點部署研究[J]. 江蘇農(nóng)業(yè)科學,2017,45(3):200-205.
[5]張 輝,李艷東,趙麗娜,等. 基于無線Mesh網(wǎng)絡的智慧農(nóng)業(yè)大棚監(jiān)控系統(tǒng)[J]. 現(xiàn)代電子技術,2016,39(16):71-74.
[6]陳 誠,李必軍,張永博. 基于無線傳感器網(wǎng)絡的農(nóng)業(yè)信息采集系統(tǒng)設計[J]. 安徽農(nóng)業(yè)科學,2016,44(10):242-245.[HJ1.7mm]
[7]饒 強,于舒娟,張 昀,等. 基于無線傳感網(wǎng)絡精細農(nóng)業(yè)系統(tǒng)盲檢測[J]. 電視技術,2015,39(21):87-90,103.
[8]陳 瑜,張鐵民,孫道宗,等. 基于無線傳感器網(wǎng)絡的設施農(nóng)業(yè)車輛定位系統(tǒng)設計與試驗[J]. 農(nóng)業(yè)工程學報,2015,31(10):190-197.
[9]馬少華,張 興,韓 冬,等. 基于ECDSA優(yōu)化算法的智能農(nóng)業(yè)無線傳感器節(jié)點的網(wǎng)絡安全認證[J]. 江蘇農(nóng)業(yè)科學,2015,43(4):389-392.
[10]李士軍,溫 竹,宮 鶴,等. 無線傳感器網(wǎng)絡在農(nóng)業(yè)中的應用進展[J]. 浙江農(nóng)業(yè)學報,2014,26(6):1715-1720.
[11]王玲玲,嚴錫君,嚴 妍. 無線傳感器網(wǎng)絡在溫室農(nóng)業(yè)中的應用研究[J]. 節(jié)水灌溉,2013(6):54-57.
[12]施云波,王萌萌,南慧杰,等. 基于無線傳感器網(wǎng)絡的農(nóng)業(yè)微環(huán)境監(jiān)測系統(tǒng)的設計[J]. 黑龍江大學自然科學學報,2013,30(2):254-258.