崔文巖,康 明,梁書溢,周 德,何小宇,唐德東
(重慶科技學(xué)院 電氣工程學(xué)院,重慶 401331)
隨著物聯(lián)網(wǎng)技術(shù)的迅速發(fā)展以及我國污染防治工作的重點(diǎn)推進(jìn),物聯(lián)網(wǎng)環(huán)境監(jiān)測系統(tǒng)的需求進(jìn)一步加大。目前,室外環(huán)境監(jiān)測多為較大范圍的局域網(wǎng)(如工業(yè)園區(qū)、水庫),傳統(tǒng)的無線通信技術(shù)WiFi、ZigBee和Bluetooth均存在傳輸距離相對較短、易受干擾等問題。LoRa是一種新型低功耗廣域網(wǎng)LPWAN技術(shù),具有通信距離遠(yuǎn)(理論距離最遠(yuǎn)可達(dá)15 km)、組網(wǎng)方便、超低功耗和抗干擾能力強(qiáng)等特點(diǎn),可以很好地解決上述問題。
本文提出將LoRa低功耗局域網(wǎng)與GPRS遠(yuǎn)距離廣域網(wǎng)相結(jié)合的監(jiān)測方案。環(huán)境數(shù)據(jù)采集節(jié)點(diǎn)和網(wǎng)關(guān)均采用低功耗STM32F103作為中央處理器,網(wǎng)關(guān)與節(jié)點(diǎn)在局域網(wǎng)內(nèi)采用LoRa無線通信,網(wǎng)關(guān)使用GPRS實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)距離上傳功能,云服務(wù)器采用中移OneNET平臺,并根據(jù)需求搭建數(shù)據(jù)可視化界面,以便管理員日常查看、管理。
本環(huán)境監(jiān)測系統(tǒng)由數(shù)據(jù)采集單元、網(wǎng)關(guān)和云平臺組成。節(jié)點(diǎn)與網(wǎng)關(guān)采用TDMA(時(shí)分多址)進(jìn)行星型組網(wǎng),節(jié)點(diǎn)的中央處理器將采集到的不同傳感器數(shù)據(jù)按照Modbus通信協(xié)議融合,再利用LoRa無線通信將數(shù)據(jù)匯集到網(wǎng)關(guān)。網(wǎng)關(guān)對數(shù)據(jù)進(jìn)行解析后,通過GPRS模塊將數(shù)據(jù)上傳至OneNET云平臺,云平臺將數(shù)據(jù)實(shí)時(shí)展示和存儲,若監(jiān)測數(shù)據(jù)達(dá)到預(yù)警閾值會觸發(fā)預(yù)警信號。系統(tǒng)總體架構(gòu)如圖1所示。
圖1 系統(tǒng)整體方案設(shè)計(jì)
本次設(shè)計(jì)的數(shù)據(jù)采集節(jié)點(diǎn)單元硬件主要由中央處理器、電源、傳感器、LoRa模塊組成。節(jié)點(diǎn)電路結(jié)構(gòu)如圖2所示。
圖2 數(shù)據(jù)采集節(jié)點(diǎn)硬件結(jié)構(gòu)
中央處理單元采用STM32F103C8T6芯片,該芯片主頻72 MHz,外設(shè)較多,可以滿足傳感器數(shù)據(jù)的采集和LoRa無線通信的基本要求。
電源模塊主要實(shí)現(xiàn)處理器和傳感器外設(shè)的供電。由于現(xiàn)場環(huán)境復(fù)雜,地點(diǎn)不固定,可采用18650鋰電池供電,采用4.5 W單晶硅太陽能電池板為鋰電池充電。
LoRa無線通信模塊采用SXl278芯片:其工作在410~441 MHz頻段,擁有一般模式、喚醒模式、省電模式、休眠模式可供選擇,采用標(biāo)準(zhǔn)SPI接口與MCU通信,具有抗干擾能力強(qiáng)、功耗低等特點(diǎn)。LoRa模塊電路原理如圖3所示。MOSI為主機(jī)輸出從機(jī)輸入,MISO為主機(jī)輸入從機(jī)輸出,SEL為片選,CLK為時(shí)鐘,D0~D7為數(shù)據(jù)輸出端口。
圖3 LoRa模塊電路原理
傳感器模塊主要用于監(jiān)測空氣中的溫濕度和二氧化硫含量。其中,溫濕度傳感器采用奧松公司出品的DHT11,PM傳感器采用精訊暢通公司出品的JXM-300-SO2。傳感器具體參數(shù)見表1所列。
表1 傳感器參數(shù)
網(wǎng)關(guān)是環(huán)境采集節(jié)點(diǎn)和后臺服務(wù)器通信的橋梁,其硬件結(jié)構(gòu)如圖4所示。網(wǎng)關(guān)主要由電源管理單元、中央處理器、LoRa通信模塊、GPRS通信模塊以及顯示模塊組成。由于網(wǎng)關(guān)無需上傳和接收高頻次數(shù)據(jù),故處理器和LoRa模塊采用與節(jié)點(diǎn)一致的STMF103芯片、SX1278芯片。
圖4 網(wǎng)關(guān)硬件結(jié)構(gòu)
GPRS通信模塊將網(wǎng)關(guān)數(shù)據(jù)遠(yuǎn)距離上傳。本設(shè)計(jì)采用果云GA6-B模塊,其支持AT指令串口發(fā)送,具有GSM預(yù)警短信功能和GPRS數(shù)據(jù)傳輸功能,體積較小、功耗低、溫度范圍廣、抗干擾能力強(qiáng),其電路原理如圖5所示。
圖5 GA6-B電路原理
在數(shù)據(jù)采集過程中,節(jié)點(diǎn)需連接多種類型的傳感器,所采集得到的信息格式不盡相同。為保證數(shù)據(jù)上傳的正確性與快速性,必須采用同一種標(biāo)準(zhǔn)通信協(xié)議以適應(yīng)異構(gòu)傳感器。本設(shè)計(jì)采用Modbus通信協(xié)議RTU模式,與ASCII模式相比,前者在相同的傳輸速率下可以傳輸更多數(shù)據(jù),具體格式如圖6所示。RTU模式共有11位,第1位為起始位,中間為8位數(shù)據(jù)位,最后兩位為校驗(yàn)位和停止位,校驗(yàn)位可以選擇奇偶校驗(yàn)或無校驗(yàn)。數(shù)據(jù)位包含網(wǎng)關(guān)地址、從機(jī)地址、數(shù)據(jù)內(nèi)容和CRC校驗(yàn)位,最多256 B。數(shù)據(jù)位中CRC校驗(yàn)位的作用是進(jìn)一步保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
圖6 Modbus通信協(xié)議結(jié)構(gòu)
為降低組網(wǎng)和網(wǎng)絡(luò)控制邏輯的復(fù)雜度,LoRa通信網(wǎng)絡(luò)采用星型組網(wǎng)拓?fù)浣Y(jié)構(gòu),節(jié)點(diǎn)與網(wǎng)關(guān)通信,節(jié)點(diǎn)之間不進(jìn)行數(shù)據(jù)交互。
由于各節(jié)點(diǎn)工作在同一頻段,若不進(jìn)行時(shí)隙分配,將可能導(dǎo)致數(shù)據(jù)交疊。節(jié)點(diǎn)組網(wǎng)可通過ALOHA和CSMA/CA競爭機(jī)制典型算法或固定時(shí)隙分配TDMA算法。但前者隨著采集節(jié)點(diǎn)的增多,將導(dǎo)致傳輸延遲增加(多個(gè)節(jié)點(diǎn)同時(shí)占用一個(gè)信道)。而后者,網(wǎng)關(guān)為每個(gè)節(jié)點(diǎn)分配一段時(shí)間片,在該段時(shí)間片內(nèi),只允許該節(jié)點(diǎn)進(jìn)行數(shù)據(jù)上傳,從而避免節(jié)點(diǎn)之間的數(shù)據(jù)沖突問題。時(shí)隙分配如圖7所示。在每節(jié)點(diǎn)上傳數(shù)據(jù)后設(shè)置一個(gè)安全時(shí)隙,防止2個(gè)節(jié)點(diǎn)之間由于時(shí)鐘漂移導(dǎo)致數(shù)據(jù)交疊。
圖7 時(shí)隙分配圖
數(shù)據(jù)采集節(jié)點(diǎn)的主要功能是各傳感器數(shù)據(jù)的采集與上傳,其工作流程如圖8所示。系統(tǒng)初始化后,節(jié)點(diǎn)申請加入網(wǎng)關(guān),隨后開啟定時(shí)器進(jìn)行計(jì)時(shí),進(jìn)入低功耗待機(jī)模式,等待設(shè)定發(fā)送時(shí)間的到來。再按照設(shè)計(jì)的數(shù)據(jù)幀格式進(jìn)行封裝融合,根據(jù)設(shè)定的通信頻段和信道進(jìn)行數(shù)據(jù)上傳,之后進(jìn)入低功耗模式,等待下一次發(fā)送時(shí)間的到來。
圖8 節(jié)點(diǎn)采集與發(fā)送流程
網(wǎng)關(guān)主要功能是接收節(jié)點(diǎn)數(shù)據(jù)和打包上傳,其工作流程如圖9所示。系統(tǒng)初始化后進(jìn)入低功耗模式,等待節(jié)點(diǎn)上傳信號觸發(fā)中斷服務(wù)函數(shù),解析數(shù)據(jù)并顯示,GPRS模塊與云平臺建立TCP連接后,按照MQTT協(xié)議進(jìn)行數(shù)據(jù)上傳,發(fā)送完成后進(jìn)入低功耗模式,等待下一輪循環(huán)。
圖9 網(wǎng)關(guān)工作流程
云平臺用于實(shí)現(xiàn)監(jiān)測信息的展示和數(shù)據(jù)存儲功能。網(wǎng)關(guān)采用更輕量級的MQTT協(xié)議將數(shù)據(jù)上傳至OneNET服務(wù)器,經(jīng)服務(wù)器進(jìn)行數(shù)據(jù)解析校驗(yàn)后,再利用VIEW3.0功能模塊,通過拖拉組件的方式實(shí)現(xiàn)數(shù)據(jù)可視化展示界面,以便用戶直觀觀察數(shù)據(jù)變化情況。
為測試節(jié)點(diǎn)傳感器數(shù)據(jù)采集和上傳功能,將節(jié)點(diǎn)放置于現(xiàn)場環(huán)境,實(shí)時(shí)采集室外溫濕度和PM含量,工作測試如圖10所示。節(jié)點(diǎn)將采集的溫濕度和PM數(shù)據(jù)與實(shí)際數(shù)據(jù)進(jìn)行對比,均在正常的誤差范圍之內(nèi)。此外,網(wǎng)關(guān)(圖10(a))、節(jié)點(diǎn)(圖10(b))兩者顯示溫度、濕度、PM數(shù)據(jù)分別均為26 ℃、58%和85 μg/m,測試結(jié)果證明,節(jié)點(diǎn)能正常采集數(shù)據(jù)并上傳,網(wǎng)關(guān)能準(zhǔn)確接收數(shù)據(jù)。
圖10 網(wǎng)關(guān)與節(jié)點(diǎn)工作圖
為測試LoRa無線通信不同距離下的通信質(zhì)量,選擇較寬闊的場地進(jìn)行試驗(yàn)。在不同的通信距離下,節(jié)點(diǎn)每隔5 s向網(wǎng)關(guān)發(fā)送一次數(shù)據(jù),共計(jì)500次。統(tǒng)計(jì)網(wǎng)關(guān)接收的數(shù)據(jù),利用公式(1)計(jì)算數(shù)據(jù)丟包率。測試數(shù)據(jù)結(jié)果見表2所列。
表2 通信測試質(zhì)量表
式中:代表數(shù)據(jù)丟包率;代表節(jié)點(diǎn)發(fā)送數(shù)據(jù)總個(gè)數(shù);代表網(wǎng)關(guān)接收數(shù)據(jù)個(gè)數(shù)。
試驗(yàn)結(jié)果表明:LoRa無線通信在700 m左右時(shí)無數(shù)據(jù)包丟失,在超過900 m時(shí)丟包率逐漸增大,特別是1 km以外,數(shù)據(jù)包丟失較嚴(yán)重,丟包率超6%。為保證高質(zhì)量通信效果,建議采集節(jié)點(diǎn)在900 m以內(nèi)。
為測試云平臺實(shí)時(shí)監(jiān)測功能,測試過程中以溫度實(shí)時(shí)監(jiān)測為例。為突出試驗(yàn)效果,設(shè)定每隔20 s上傳一次數(shù)據(jù),溫度實(shí)時(shí)監(jiān)測如圖11所示。觀察可得溫度在6月8日16:28之前較穩(wěn)定,在16:29時(shí)溫度出現(xiàn)上升趨勢,在16:30時(shí)穩(wěn)定在31 ℃,說明傳感器較靈敏,云平臺實(shí)時(shí)監(jiān)測性較好。此外,還可以在左上角選擇相應(yīng)的時(shí)間查看歷史數(shù)據(jù),其界面如圖12所示。經(jīng)測試,數(shù)據(jù)可視化界面可以實(shí)時(shí)展示溫濕度、PM含量變化情況,界面如圖13所示。
圖11 溫度實(shí)時(shí)監(jiān)測界面
圖12 歷史查詢界面
圖13 上位機(jī)監(jiān)控界面
本文將LoRa和GPRS通信技術(shù)相結(jié)合,應(yīng)用于室外環(huán)境監(jiān)測系統(tǒng)中,解決了傳統(tǒng)無線通信技術(shù)通信距離短、組網(wǎng)難、成本高、功耗大、抗干擾能力差等問題。也進(jìn)一步介紹了系統(tǒng)架構(gòu)、硬件設(shè)計(jì)、軟件設(shè)計(jì),實(shí)現(xiàn)了環(huán)境監(jiān)測數(shù)據(jù)的遠(yuǎn)距離上傳和云平臺展示。試驗(yàn)表明,本系統(tǒng)具有實(shí)時(shí)性好、覆蓋范圍廣等特點(diǎn),與傳統(tǒng)的無線通信技術(shù)相比優(yōu)勢顯著,因此,值得推廣應(yīng)用于其他領(lǐng)域。