楊一博 張峻箐 張志儉



摘 要:針對傳統河流水質監測系統難以實現廣覆蓋與低功耗等問題,設計了一種基于LoRa的河流水質監測系統,以LoRa-SX1278芯片作為通信模塊,STM32F103RCT6作為節點主控制器,將傳感器采集到的水質數據通過LoRa上傳至網關,網關匯集數據之后再上傳至服務器,用戶可在監測終端查看實時數據,評估覆蓋流域水質情況,對水質污染現象及重大事故進行預警,以降低水質污染帶來的風險與危害。根據野外復雜環境下的測試,在傳輸速率為1.2 Kb/s,發射功率30 dBm的情況下,節點可在1 200 m范圍內達到小于9%的丟包率;在使用6 000 mA·h電池,每一小時進行一次數據采集并上傳的情況下,單個節點的有效工作時間理論上可達到30個月。該系統可實現遠距離低功耗的數據采集,對河流水質實時監測的研究有一定參考價值。
關鍵詞:低功耗廣域網;LoRa技術;水質監測;實時監測系統;無線傳感器網絡;網關
中圖分類號:TP273 文獻標識碼:A 文章編號:2095-1302(2020)03-00-04
0 引 言
隨著人口的增長以及社會的快速發展,水資源的重要性越來越突出,所以水資源短缺、水污染嚴重等問題是對我國水質檢測工作的一項嚴峻考驗。我國水資源在地區分布和季節分配等方面嚴重不均勻[1-2],所以提高有限水資源的利用率是整個社會的責任。對溫度、pH值、濁度、溶氧等能夠反映水質狀況的綜合指標進行檢測和分析,以幫助水利環保部門更好地了解水質情況并做出相應決策。
不論是國內還是國外,河流水質監測系統都在水資源的保護與合理利用方面有著重要的地位。美國在20世紀50年代到80年代間投入了大量資金,建立了具有上萬個水質監測站點的國家水質檢測網[3];在20世紀80年代之后,水質監測系統的發展進入發達階段,自動化程度不斷提高。我國在
20世紀70年代前對各水域的化學成分進行了研究,之后建立了各流域的水質監測中心。發展至今,我國已經建設了覆蓋全國各大流域的監測系統[4],但系統多以人工監測站點為主,人工監測站點能夠實現高精度、多指標的檢測,但由于建立成本較高,只能對關鍵點指標進行區域性監測,現場工作量大,并且無法進行長期實時監測,難以解決突發性水質污染問題[5-6]。
為此,國內外也嘗試將自動化監測站點與人工監測站點相結合,但目前的水質數據傳輸或是使用運營商網絡如GPRS等,均無法在野外環境下傳輸數據,其應用范圍有限,且功耗較高[7-8];或是使用低功耗局域網如ZigBee,野外傳輸距離太短,若要完成大范圍網絡搭建則成本太高[9-11]。為了改善我國在水質檢測方面的情況,提高監測系統的性能,我們必須找到更適合當下情況的監測系統。
本文提出了一種采用LoRa搭建河流水質監測網絡的設計方案,能同時滿足低功耗與廣覆蓋兩方面需求,對大流域面積的水質進行實時監測,有助于偏僻地區流域水質數據的自動化管理。
1 系統設計
1.1 系統總體設計
本文所研究的基于LoRa的河流水質監測系統主要由終端節點、網關、服務器、監測終端4部分組成。
(1)終端節點由水質檢測傳感器與LoRa模塊組成。傳感器采集濁度、水位、pH值、溫度等水質指標,利用LoRa模塊上傳數據,主要負責定時(或收到網關指令時)采集水質數據并通過LoRa發送到其所屬網關。
(2)網關位于星狀網絡的核心位置,負責接收來自服務器的指令,并將來自多個節點的數據匯總上傳到服務器。
(3)服務器作為網絡的控制核心,負責對下屬接入設備進行鑒權與管理,匯集并整理不同網關上傳的數據,將處理后的數據發送至監測終端。
(4)用戶通過登錄監測終端隨時掌握相關流域的水質數據,實時評估水質情況,對可能的污染情況或重大事故進行及時預警或應急評估。
這四部分相鄰層級之間的信息傳遞均為雙向,符合LoRa協議的網關和終端節點構成了星形的LoRaWAN,網關由TCP/IP協議接入服務器與監測終端網絡。系統結構如圖1所示。
1.2 LoRaWAN簡介
LoRa作為當今新興的LPWAN低功耗廣域網(Low Power Wide Area Network,LPWAN)的主流代表技術之一,工作在非授權頻段,與WiFi、藍牙、ZigBee等現有成熟商用的無線技術相比,具有低功耗、通信距離長等優勢[12-13]。在進行組網時不依賴運營商蜂窩網絡,有較低的建網成本且不會局限于運營商信號的覆蓋范圍,適用于野外通信環境較差的應用場景;較長的通信距離降低了建網復雜度,從而降低了網絡的維護成本。
LoRaWAN采用星型拓撲網絡架構,架構中的LoRa網關作為一個透明中繼,負責連接前端設備和后端中央服務
器[14]。相比低功耗局域網ZigBee的簇樹形拓撲,星型拓撲的網絡架構在大范圍部署時具有更低的網絡拓撲復雜度和更低的能耗[15]。
2 系統硬件設計
2.1 主控器
為降低成本,延長監測系統的維護周期,本系統選擇STM32F103RCT6作為終端節點的主控芯片。該芯片基于ARM32位的Cortex-M3內核,CPU最高速度達72 MHz,內置256 KB FLASH和48 KB RAM。更重要的是其在待機模式下只有3.6 μA的電流,需要5 μs的喚醒時間,可以很好地滿足監測系統長時間工作的需求。
2.2 LoRa模塊
本系統的終端節點采用遠程通信射頻芯片SX1278,其有8個上行信道和1個下行信道;靈敏度可達-148 dBm,最遠通信距離長達15 km,鏈路預算最大168 dB;具有5個通信引腳,與主控器通過UART(TXD,RXD)接口進行數據傳遞,通過改變M0和M1的不同組合可被設置為一般模式、喚醒模式、省電模式和休眠模式,AUX引腳可以指示狀態切換與數據接收提醒。網關部分采用SX1301芯片,該芯片具有速率自適應功能,根據終端節點的遠近可調整數據傳輸的速率,從而平衡傳輸速率與穩定性。SX1278工作模式見表1所列。
2.3 傳感器模塊
節點主控器STM32F103RCT6擁有豐富的外設接口和引腳資源,可以通過合理的資源配置來選取多種不同的水質傳感器以采集數據,目前暫時接入濁度、水位、pH值和溫度四種傳感器。終端節點使用的傳感器見表2所列。
2.4 終端節點供電電路
由于溫度pH變送器BPHT-RS485需要12 V電壓供電,所以采用12 V電池對其供電,通過穩壓器模塊LM7805和LM317將其降壓至3.3 V,用以提供STM32處理器和其他模塊及外圍電路的供電。處理器還可以通過控制1N5824模塊來切斷各傳感器外圍電路的供電以降低系統休眠時的功耗及系統維護成本,解決野外供電不方便的問題。終端節點結構如圖2所示。
2.5 WiFi模塊
WiFi模塊采用樂鑫公司設計生產的ESP8266模塊,內置32位超低功耗Tensilica處理器,集成了標準數字外設接口、天線開關、功率放大器等,僅需很少的外圍電路,便利了硬件電路的設計。與處理器采用串口通信,下位機可以使用AT指令對其進行配置與數據傳輸。
3 系統軟件設計
3.1 終端節點
處理器啟動后首先對其外設以及傳感器與SX1278模塊進行初始化,進行系統自檢以確保初始化正常。然后對水質數據進行采集并上傳至網關,之后關斷傳感器的供電并將SX1278模塊切換至休眠模式以節省耗電,最后控制器進入待機模式。休眠模式下的SX1278等待來自網關的喚醒,之后通過AUX引腳觸發處理器喚醒中斷,處理器再重新初始化并采集數據后上傳。工作流程如圖3所示。
3.2 網關
處理器啟動后進行初始化,然后通過AT指令對WiFi模塊進行配置并通過TCP/IP協議連接服務器。連接完成后開啟透傳,并嘗試模擬數據包的傳輸,若產生異常則重連。連接成功后進入正常的水質監測周期,每隔一定時間喚醒各個節點并多通道并行接收其上傳的數據,若數據包有損壞或丟包則請求重傳,收集數據之后將數據打包上傳至服務器。若收到來自上層的指令時,例如更變監測周期、上傳各節點狀態或臨時采集當前水質數據,網關則做出相應的調整并通過廣播信道將指令下傳。工作流程如圖4所示。
3.3 監測平臺
河流水質監測平臺可以分為三個部分,即屬于服務器的網絡部分和數據部分,以及屬于用戶監測終端的應用管理部分,結構示意如圖5所示。服務器負責所有設備和數據的統一管理;用戶可以從監測終端實時看到河流各類水質的變化,也可以對某些關鍵指標進行閾值設置,從而在觸發報警時及時做出應對。用戶可以對網關及其下屬節點進行管理,調整數據采集周期、通信速率、工作模式等參數。數據實時監測界面如圖6所示。
4 實際測試
4.1 終端節點功耗計算
在無確認傳輸下考慮LoRaWAN的終端節點功耗模
型[16],定義TNotif作為兩個連續數據傳輸周期的間隔時間,Ti和Ii分別代表狀態i的持續時間和電流功耗。從而可以由式(1)計算平均電流功耗:
(1)
再根據電池容量Cbattery(以mA·h為單位),由式(2)可計算終端節點的有效生存期Tlifetime_unACK:
(2)
通過測試終端節點各階段的實時工作電流大小,以使用6 000 mA·h電池每一小時進行一次數據采集并上傳為例,單個終端節點的有效生存期理論上可達30個月。
4.2 通信穩定性測試
在野外有明顯障礙物的情況下進行通信距離測試:設置LoRa-SX1278模塊工作頻段為430 MHz,發射功率為30 dBm,上傳周期為20 s,單個數據包大小為10 B,共發送100個數據包。在不同距離下空中速率分別為1.2 Kb/s,
2.4 Kb/s和4.8 Kb/s時的丟包率由圖7可知,丟包率會隨傳輸距離和數據速率的增加而升高,通信質量下降。數據速率的差異將在遠距離時表現得更明顯。數據速率為1.2 Kb/s,
在1 200 m內可保持小于9%的丟包率,在此基礎上采用TCP快速重傳機制,添加下行ACK報文與終端節點的計時重傳功能,保證數據遠距離傳輸的穩定性。
5 結 語
針對傳統自動化河流水質監測系統存在的功耗高、難以廣域覆蓋等問題,設計了一套基于LoRa的河流水質監測系統。單個終端節點在使用6 000 mA·h電池供電,上傳周期為30 min的情況下有效生存期可達到18個月。節點網關在
1 000 m的通信范圍內采用快速重傳機制可保證穩定的數據傳輸。相比傳統監測方案,本文提出的設計可以更好地應用于野外廣流域范圍內的長時間自動化水質數據收集,為解決河流水質監測的低成本廣域布網提供有效參考。
注:本文通訊作者為張志儉。
參 考 文 獻
[1]宋先松,石培基,金蓉.中國水資源空間分布不均引發的供需矛盾分析[J].干旱區研究,2005(2):162-166.
[2]張吉輝,李健,唐燕.中國水資源與經濟發展要素的時空匹配分析[J].資源科學,2012,34(8):1546-1555.
[3]王炳華,趙明.美國環境監測一百年歷史回顧及其借鑒[J].環境監測管理與技術,2000(6):13-17.
[4]楊員,張新民,徐立榮,等.美國水質監測發展歷程及其對中國的啟示[J].環境污染與防治,2015,37(10):86-91.
[5]魯小新,王育紅,王麗偉,等.南水北調中線工程水質監測站網布設研究[J].人民黃河,2007(2):6-7.
[6]李玉良,周楊.水質自動監測站運行管理研究[J].環境與發展,2018,30(10):132.
[7]喬新凱.基于GPRS無線通信模塊的水質監測系統[D].南京:南京大學,2018.
[8]張旭.環境水質在線檢測無線傳感網絡節點的設計[D].合肥:中國科學技術大學,2011.
[9]包啟明.基于ZigBee的水質檢測與傳輸系統研究與設計[D].廣州:廣東工業大學,2015.
[10]趙軍,林瀚剛,西熱娜依·白克力.基于ZigBee的水質監測系統研制及復雜環境下在線測試[J].中國測試,2018,44(5):67-70.
[11]唐逍,陳光化,戴慶華,等.基于WSN的水產養殖環境監測系統設計[J].計算機測量與控制,2018,26(10):9-13.
[12]趙靜,蘇光添.LoRa無線網絡技術分析[J].移動通信,2016,40(21):50-57.
[13]王陽,溫向明,路兆銘,等.新興物聯網技術:LoRa[J].信息通信技術,2017,11(1):55-59.
[14]劉琛,邵震,夏瑩瑩.低功耗廣域LoRa技術分析與應用建議[J].電信技術,2016(5):43-46.
[15]金光,高子航,江先亮,等.基于低功耗廣域網的海島水產養殖環境監測系統研制[J].農業工程學報,2018,34(24):184-191.
[16] CASALS LLU?S,MIR BERNAT,VIDAL RAFAEL,et al. Modeling the energy performance of LoRaWAN [J]. Sensors (Basel,Switzerland),2017,17(10):2364.