崔文巖,康 明,梁書溢,周 德,何小宇,唐德東
(重慶科技學院 電氣工程學院,重慶 401331)
隨著物聯網技術的迅速發展以及我國污染防治工作的重點推進,物聯網環境監測系統的需求進一步加大。目前,室外環境監測多為較大范圍的局域網(如工業園區、水庫),傳統的無線通信技術WiFi、ZigBee和Bluetooth均存在傳輸距離相對較短、易受干擾等問題。LoRa是一種新型低功耗廣域網LPWAN技術,具有通信距離遠(理論距離最遠可達15 km)、組網方便、超低功耗和抗干擾能力強等特點,可以很好地解決上述問題。
本文提出將LoRa低功耗局域網與GPRS遠距離廣域網相結合的監測方案。環境數據采集節點和網關均采用低功耗STM32F103作為中央處理器,網關與節點在局域網內采用LoRa無線通信,網關使用GPRS實現數據遠距離上傳功能,云服務器采用中移OneNET平臺,并根據需求搭建數據可視化界面,以便管理員日常查看、管理。
本環境監測系統由數據采集單元、網關和云平臺組成。節點與網關采用TDMA(時分多址)進行星型組網,節點的中央處理器將采集到的不同傳感器數據按照Modbus通信協議融合,再利用LoRa無線通信將數據匯集到網關。網關對數據進行解析后,通過GPRS模塊將數據上傳至OneNET云平臺,云平臺將數據實時展示和存儲,若監測數據達到預警閾值會觸發預警信號。系統總體架構如圖1所示。

圖1 系統整體方案設計
本次設計的數據采集節點單元硬件主要由中央處理器、電源、傳感器、LoRa模塊組成。節點電路結構如圖2所示。

圖2 數據采集節點硬件結構
中央處理單元采用STM32F103C8T6芯片,該芯片主頻72 MHz,外設較多,可以滿足傳感器數據的采集和LoRa無線通信的基本要求。
電源模塊主要實現處理器和傳感器外設的供電。由于現場環境復雜,地點不固定,可采用18650鋰電池供電,采用4.5 W單晶硅太陽能電池板為鋰電池充電。
LoRa無線通信模塊采用SXl278芯片:其工作在410~441 MHz頻段,擁有一般模式、喚醒模式、省電模式、休眠模式可供選擇,采用標準SPI接口與MCU通信,具有抗干擾能力強、功耗低等特點。LoRa模塊電路原理如圖3所示。MOSI為主機輸出從機輸入,MISO為主機輸入從機輸出,SEL為片選,CLK為時鐘,D0~D7為數據輸出端口。

圖3 LoRa模塊電路原理
傳感器模塊主要用于監測空氣中的溫濕度和二氧化硫含量。其中,溫濕度傳感器采用奧松公司出品的DHT11,PM傳感器采用精訊暢通公司出品的JXM-300-SO2。傳感器具體參數見表1所列。

表1 傳感器參數
網關是環境采集節點和后臺服務器通信的橋梁,其硬件結構如圖4所示。網關主要由電源管理單元、中央處理器、LoRa通信模塊、GPRS通信模塊以及顯示模塊組成。由于網關無需上傳和接收高頻次數據,故處理器和LoRa模塊采用與節點一致的STMF103芯片、SX1278芯片。

圖4 網關硬件結構
GPRS通信模塊將網關數據遠距離上傳。本設計采用果云GA6-B模塊,其支持AT指令串口發送,具有GSM預警短信功能和GPRS數據傳輸功能,體積較小、功耗低、溫度范圍廣、抗干擾能力強,其電路原理如圖5所示。

圖5 GA6-B電路原理
在數據采集過程中,節點需連接多種類型的傳感器,所采集得到的信息格式不盡相同。為保證數據上傳的正確性與快速性,必須采用同一種標準通信協議以適應異構傳感器。本設計采用Modbus通信協議RTU模式,與ASCII模式相比,前者在相同的傳輸速率下可以傳輸更多數據,具體格式如圖6所示。RTU模式共有11位,第1位為起始位,中間為8位數據位,最后兩位為校驗位和停止位,校驗位可以選擇奇偶校驗或無校驗。數據位包含網關地址、從機地址、數據內容和CRC校驗位,最多256 B。數據位中CRC校驗位的作用是進一步保證數據傳輸的準確性。

圖6 Modbus通信協議結構
為降低組網和網絡控制邏輯的復雜度,LoRa通信網絡采用星型組網拓撲結構,節點與網關通信,節點之間不進行數據交互。
由于各節點工作在同一頻段,若不進行時隙分配,將可能導致數據交疊。節點組網可通過ALOHA和CSMA/CA競爭機制典型算法或固定時隙分配TDMA算法。但前者隨著采集節點的增多,將導致傳輸延遲增加(多個節點同時占用一個信道)。而后者,網關為每個節點分配一段時間片,在該段時間片內,只允許該節點進行數據上傳,從而避免節點之間的數據沖突問題。時隙分配如圖7所示。在每節點上傳數據后設置一個安全時隙,防止2個節點之間由于時鐘漂移導致數據交疊。

圖7 時隙分配圖
數據采集節點的主要功能是各傳感器數據的采集與上傳,其工作流程如圖8所示。系統初始化后,節點申請加入網關,隨后開啟定時器進行計時,進入低功耗待機模式,等待設定發送時間的到來。再按照設計的數據幀格式進行封裝融合,根據設定的通信頻段和信道進行數據上傳,之后進入低功耗模式,等待下一次發送時間的到來。

圖8 節點采集與發送流程
網關主要功能是接收節點數據和打包上傳,其工作流程如圖9所示。系統初始化后進入低功耗模式,等待節點上傳信號觸發中斷服務函數,解析數據并顯示,GPRS模塊與云平臺建立TCP連接后,按照MQTT協議進行數據上傳,發送完成后進入低功耗模式,等待下一輪循環。

圖9 網關工作流程
云平臺用于實現監測信息的展示和數據存儲功能。網關采用更輕量級的MQTT協議將數據上傳至OneNET服務器,經服務器進行數據解析校驗后,再利用VIEW3.0功能模塊,通過拖拉組件的方式實現數據可視化展示界面,以便用戶直觀觀察數據變化情況。
為測試節點傳感器數據采集和上傳功能,將節點放置于現場環境,實時采集室外溫濕度和PM含量,工作測試如圖10所示。節點將采集的溫濕度和PM數據與實際數據進行對比,均在正常的誤差范圍之內。此外,網關(圖10(a))、節點(圖10(b))兩者顯示溫度、濕度、PM數據分別均為26 ℃、58%和85 μg/m,測試結果證明,節點能正常采集數據并上傳,網關能準確接收數據。

圖10 網關與節點工作圖
為測試LoRa無線通信不同距離下的通信質量,選擇較寬闊的場地進行試驗。在不同的通信距離下,節點每隔5 s向網關發送一次數據,共計500次。統計網關接收的數據,利用公式(1)計算數據丟包率。測試數據結果見表2所列。

表2 通信測試質量表

式中:代表數據丟包率;代表節點發送數據總個數;代表網關接收數據個數。
試驗結果表明:LoRa無線通信在700 m左右時無數據包丟失,在超過900 m時丟包率逐漸增大,特別是1 km以外,數據包丟失較嚴重,丟包率超6%。為保證高質量通信效果,建議采集節點在900 m以內。
為測試云平臺實時監測功能,測試過程中以溫度實時監測為例。為突出試驗效果,設定每隔20 s上傳一次數據,溫度實時監測如圖11所示。觀察可得溫度在6月8日16:28之前較穩定,在16:29時溫度出現上升趨勢,在16:30時穩定在31 ℃,說明傳感器較靈敏,云平臺實時監測性較好。此外,還可以在左上角選擇相應的時間查看歷史數據,其界面如圖12所示。經測試,數據可視化界面可以實時展示溫濕度、PM含量變化情況,界面如圖13所示。

圖11 溫度實時監測界面

圖12 歷史查詢界面

圖13 上位機監控界面
本文將LoRa和GPRS通信技術相結合,應用于室外環境監測系統中,解決了傳統無線通信技術通信距離短、組網難、成本高、功耗大、抗干擾能力差等問題。也進一步介紹了系統架構、硬件設計、軟件設計,實現了環境監測數據的遠距離上傳和云平臺展示。試驗表明,本系統具有實時性好、覆蓋范圍廣等特點,與傳統的無線通信技術相比優勢顯著,因此,值得推廣應用于其他領域。