丁承君, 胡 博, 劉云帆, 賈麗臻
(1.河北工業(yè)大學 機械工程學院,天津 300130;2.中國民航大學 航空工程學院,天津 300130)
進入21世紀后,中國經(jīng)濟的快速發(fā)展使得城鎮(zhèn)化的進程加快,我國的建筑工程量不斷增長。建筑施工過程中造成的污染問題日益嚴峻,建筑工地揚塵污染的治理問題是大氣污染防治的重要內(nèi)容[1]。對施工現(xiàn)場揚塵的污染情況進行實時監(jiān)測可以及時發(fā)現(xiàn)揚塵濃度的超標情況并通知相關(guān)部門進行治理。但傳統(tǒng)的揚塵監(jiān)測系統(tǒng)需要人工定點巡查,不僅采集范圍小,準確性和實時性差,還浪費了大量的人力和物力[2]。
隨著嵌入式、物聯(lián)網(wǎng)(Internet of Things,IoT)、無線傳感技術(shù)的發(fā)展,建筑工地揚塵監(jiān)測的智能在線監(jiān)測方案越來越多。郭玉明采用C/S與B/S相結(jié)合的體系結(jié)構(gòu),設(shè)計了一種風沙天氣下建筑施工的揚塵監(jiān)測系統(tǒng)[3]。武風波等人設(shè)計了一種基于嵌入式的建筑工地環(huán)境監(jiān)測系統(tǒng),可以實現(xiàn)對建筑工地環(huán)境的實時監(jiān)測[4]。陳雁冰等人設(shè)計一種基于低功耗無線傳感網(wǎng)的工地揚塵監(jiān)測系統(tǒng),在實現(xiàn)了全面監(jiān)控工地的同時還能控制微灌噴霧系統(tǒng)的開啟[5]。
上述研究雖然在局部范圍內(nèi)解決了建筑工地揚塵監(jiān)測的問題,但不能同時解決建筑工地揚塵監(jiān)測中存在的監(jiān)測面積廣、網(wǎng)絡(luò)布線難、監(jiān)測環(huán)境惡劣且傳感器易受干擾等問題。因此,本文設(shè)計了基于物聯(lián)網(wǎng)的建筑工地揚塵監(jiān)測系統(tǒng),以LoRa和以太網(wǎng)作為通信技術(shù),解決了監(jiān)測面積廣、網(wǎng)絡(luò)布線難等問題,同時使用卡爾曼濾波算法對數(shù)據(jù)采集節(jié)點的數(shù)據(jù)進行處理,可以有效地消除環(huán)境噪聲對傳感器感知數(shù)據(jù)的干擾,使得系統(tǒng)的準確性和實時性更高。
基于常見的物聯(lián)網(wǎng)架構(gòu),設(shè)計系統(tǒng)的總體架構(gòu)圖如圖1所示。
圖1 系統(tǒng)總體架構(gòu)
作為物聯(lián)網(wǎng)的神經(jīng)末梢,感知層主要由傳感器組成,用來采集PM2.5、PM10、溫濕度、風力風向等揚塵監(jiān)測中需要采集的重要參數(shù),并對數(shù)據(jù)進行存儲和預(yù)處理。
作為物聯(lián)網(wǎng)架構(gòu)的神經(jīng)傳遞介質(zhì),傳輸層由通信網(wǎng)絡(luò)組成。LoRa技術(shù)的傳輸距離遠、網(wǎng)絡(luò)覆蓋廣、功耗低等優(yōu)勢使得其可以在交通監(jiān)管、農(nóng)業(yè)管維、城市建設(shè)、環(huán)境監(jiān)測等多個物聯(lián)網(wǎng)應(yīng)用場景中使用[6]。因此,選用LoRa技術(shù)搭建本文中的揚塵監(jiān)測系統(tǒng)。建筑工地揚塵監(jiān)測終端通過自行搭建的LoRa網(wǎng)關(guān)與云端服務(wù)器進行通信,各個數(shù)據(jù)采集節(jié)點通過各自的LoRa模塊將測量數(shù)據(jù)傳輸給LoRa網(wǎng)關(guān),LoRa網(wǎng)關(guān)再將這些數(shù)據(jù)通過以太網(wǎng)模塊傳輸至云服務(wù)器進行數(shù)據(jù)融合、分析和展示[7]。
作為物聯(lián)網(wǎng)架構(gòu)的大腦,應(yīng)用層面向相關(guān)的環(huán)境監(jiān)管部門。應(yīng)用層主要由數(shù)據(jù)庫,Web平臺、終端配置單元和數(shù)學運算模型等組成,其主要任務(wù)是對采集的數(shù)據(jù)進行智能分析處理并通知相關(guān)部門及時處理污染超標等情況。
本系統(tǒng)采用模塊化設(shè)計,硬件電路結(jié)構(gòu)圖主要由數(shù)據(jù)采集節(jié)點硬件結(jié)構(gòu)圖和LoRa網(wǎng)關(guān)硬件結(jié)構(gòu)圖組成。
數(shù)據(jù)采集節(jié)點主要依靠微處理器進行數(shù)據(jù)處理,由于STM32具有高性能、低功耗、低成本的特點,本系統(tǒng)選用STM32F103C8T6作為數(shù)據(jù)采集節(jié)點的主控芯片。該芯片內(nèi)核基于ARM32位的Cortex—M3 CPU,具有休眠、停止、待機模式三種低功耗模式,主頻為72 MHz,程序儲存器為64 kB,SARM為20 kB供電電壓為2~3.6 V。具有多種外設(shè)接口,如定時器、ADC、SPI、I2C和USART ,具備串行線調(diào)試和JTAG接口。
數(shù)據(jù)采集硬件結(jié)構(gòu)圖如圖2所示。其中,電源模塊的作用是將外部直流電源轉(zhuǎn)換為適合主控芯片的電壓進行供電;調(diào)試模塊可以在對硬件設(shè)備調(diào)試時打印相關(guān)的調(diào)試信息;傳感器通過RS—485接口將采集到的數(shù)據(jù)傳輸?shù)讲杉K端;GPS模塊通過UART接口與主控芯片進行通信從而實現(xiàn)定位功能;LoRa模塊通過UART接口與主控芯片通信從而實現(xiàn)與LoRa網(wǎng)關(guān)的數(shù)據(jù)傳輸功能;OLED顯示模塊可以實時顯示傳感器采集到的數(shù)據(jù);指示燈通過GPIO與中控芯片進行通信可以在數(shù)據(jù)異常時亮起報警。
圖2 數(shù)據(jù)采集節(jié)點硬件結(jié)構(gòu)
建筑工地揚塵監(jiān)測系統(tǒng)中的LoRa網(wǎng)關(guān)不同于數(shù)據(jù)采集節(jié)點,其無需進行傳感器的采集工作,但需要處理由各個采集節(jié)點傳輸上來的大量數(shù)據(jù),所以,對網(wǎng)關(guān)的的內(nèi)存和處理器有較高要求。本系統(tǒng)選用三星公司推出的S3C2440A開發(fā)板作為主控核心,它基于ARM v9系列的ARM920T核心,可以運行嵌入式Linux操作系統(tǒng),主頻為400 MHz,搭配256MB NAND Flash和64MB SDRAM,并且配有SPI,GPIO,UART等接口,可以滿足本系統(tǒng)對LoRa網(wǎng)關(guān)的需求。LoRa網(wǎng)關(guān)硬件結(jié)構(gòu)圖如圖3所示。數(shù)據(jù)采集節(jié)點通過LoRa模塊將數(shù)據(jù)傳輸?shù)絃oRa網(wǎng)關(guān),LoRa網(wǎng)關(guān)將接收到的數(shù)據(jù)通過以太網(wǎng)模塊傳輸?shù)皆贫朔?wù)器。
圖3 LoRa網(wǎng)關(guān)硬件結(jié)構(gòu)
揚塵參數(shù)傳感器作為數(shù)據(jù)采集終端的關(guān)鍵模塊,主要由粉塵傳感器、溫濕度傳感器和風速風向傳感器組成。顆粒物濃度傳感器選用抗干擾能力強、測量精度高、實時性強的RS—PM—NO1—2模塊,該傳感器采用獨特的進氣口設(shè)計,體積小巧,可以同時準確測量出PM2.5和PM10的濃度。溫濕度傳感器選用RS—WS—NO1—2—7模塊,該傳感器可以同時測量溫度和濕度兩個參數(shù),溫度測量精度為±0.3 ℃,測量范圍-40~120 ℃,濕度測量精度為±2 %RH,測量范圍0 %~100 %RH。風速風向傳感器采用測量精度高、量程范圍廣的RS—FS—NO1傳感器,風速的測量精度為±(0.2+0.03V)m/s,測量范圍為0~60 m/s。
GPS模塊用來為監(jiān)測數(shù)據(jù)提供位置屬性,用于監(jiān)測平臺端對數(shù)據(jù)采集節(jié)點的定位。本系統(tǒng)選用的GPS模塊為NEO—M8N,它具有靈敏度高、功耗低、性能卓越、功能全面等特點,其依靠NAME—0183協(xié)議獲取施工地點的經(jīng)緯度信息,通過UART串口與主控芯片進行通信,便于監(jiān)管人員隨時定位到發(fā)出異常數(shù)據(jù)的施工地點。
LoRa模塊選用億佰特電子科技公司的E22—400T22S,該模塊采用SX1268主芯片,最大發(fā)射功率22 dBm,通信距離4 000 m,工作頻率410~493 MHz。該模塊采用了全新一代的LoRa擴頻技術(shù),具有體積更小、速度更快、功耗更低、傳輸距離更遠的特點。
以太網(wǎng)模塊選用W5500,該模塊是WIZNET主推的高性價比以太網(wǎng)模塊,集成了全硬件TCP/IP協(xié)議棧,支持休眠模式和網(wǎng)絡(luò)喚醒,內(nèi)部集成32K的TX/RX緩存。與傳統(tǒng)軟件協(xié)議棧不同,W5500內(nèi)嵌的8個獨立硬件Socket可以進行8路獨立通信,支持高速標準4線SPI接口與主機進行通信,內(nèi)部集成以太網(wǎng)數(shù)據(jù)鏈路層和10BaseT/100BaseTX以太網(wǎng)物理層,具有可靠性高、安全性好的顯著優(yōu)勢。
數(shù)據(jù)采集節(jié)點軟件采用C語言來進行開發(fā),利用KEIL進行程序的編寫、編譯、調(diào)試和下載。同時為了對數(shù)據(jù)進行濾波處理,將FreeRTOS實時操作系統(tǒng)移植到該節(jié)點上進行多線程任務(wù),保證數(shù)據(jù)處理算法的穩(wěn)定運行。
系統(tǒng)上電后,首先進行系統(tǒng)初始化和設(shè)備初始化,成功連接LoRa網(wǎng)關(guān)后進行數(shù)據(jù)采集。在采集過程中,STM32F103主控芯片以輪詢方式進行數(shù)據(jù)采集并通過RS—485總線與揚塵傳感器通信,固定采樣周期設(shè)置為60 s/次,按照傳感器相應(yīng)的數(shù)據(jù)規(guī)則完成電信號到揚塵數(shù)據(jù)信息的轉(zhuǎn)換。當主控芯片接收到數(shù)據(jù)之后,對數(shù)據(jù)進行卡爾濾波算法以消除環(huán)境噪聲對數(shù)據(jù)的影響,然后將處理后的數(shù)據(jù)打包上傳至LoRa網(wǎng)關(guān)。
LoRa網(wǎng)關(guān)軟件通過在Vmware Workstation上安裝Ubuntu16.04虛擬機進行開發(fā),網(wǎng)關(guān)與嵌入式Linux系統(tǒng)通過串口通信工具minicom進行通信,在Ubuntu系統(tǒng)中使用Sublime text3進行程序編寫,通過交叉編譯工具鏈ARM-Linux-GCC生成。LoRa網(wǎng)關(guān)的主要作用是將各個數(shù)據(jù)采集節(jié)點采集到的數(shù)據(jù)進行儲存和管理,再將這些數(shù)據(jù)上傳到服務(wù)器。系統(tǒng)初始化之后,首先判斷LoRa網(wǎng)關(guān)是否組成成功,成功后開始接收各個數(shù)據(jù)采集節(jié)點傳輸過來的數(shù)據(jù),將數(shù)據(jù)在本地存儲之后,通過以太網(wǎng)模塊將數(shù)據(jù)上傳到服務(wù)器。
由于建筑施工現(xiàn)場環(huán)境復(fù)雜,環(huán)境噪聲使得傳感器測量的數(shù)據(jù)存在誤差,導(dǎo)致監(jiān)測系統(tǒng)獲得的數(shù)據(jù)無法準確反應(yīng)出施工現(xiàn)場揚塵數(shù)據(jù)的真實情況。
本系統(tǒng)采用卡爾曼濾波算法對節(jié)點收集到的數(shù)據(jù)進行濾波降噪處理,可以有效消除測量噪聲和環(huán)境噪聲對監(jiān)測結(jié)果的影響,并且可以壓縮數(shù)據(jù)傳輸量,避免了大量冗余數(shù)據(jù)的傳輸,提高了數(shù)據(jù)采集的準確性和實時性[8]。
卡爾曼濾波是一種通過線性系統(tǒng)狀態(tài)方程對系統(tǒng)進行最優(yōu)化估計的方法。其以最小均方誤差為準則,利用現(xiàn)時刻的觀測值和前一時刻的估計值來更新對狀態(tài)變量的估計,得到現(xiàn)時刻的估計值[9~13]。
在實際的揚塵監(jiān)測系統(tǒng)中,監(jiān)測數(shù)據(jù)可以看成是以離散時間為隨機變量的線性狀態(tài)方程,測量過程和系統(tǒng)狀態(tài)都會收到環(huán)境噪聲的影響。系統(tǒng)運行狀態(tài)可以用n維空間的一個向量來表示,那么k時刻系統(tǒng)狀態(tài)方程為
X(k)=AX(k-1)+BU(k)+W(k)
(1)
傳感器測量方程為
Z(k)=HX(k)+V(k)
(2)
式中X(k),X(k-1)分別為k,k-1時刻的狀態(tài)值;Z(k)為k時刻的測量值;U(k)為k時刻對系統(tǒng)的控制量;A為狀態(tài)轉(zhuǎn)移矩陣;B為噪聲矩陣;H為測量矩陣;W(k)和V(k)分別為系統(tǒng)噪聲和測量噪聲,且兩者均為均值為零的高斯白噪聲。
卡爾曼濾波過程是一個遞歸過程,每次遞歸都分為預(yù)測和修正兩步執(zhí)行。預(yù)測主要包括狀態(tài)預(yù)測和協(xié)方差預(yù)測[11,13],而修正主要包括計算卡爾曼增益、狀態(tài)更新和協(xié)方差更新。因此,卡爾曼濾波算法主要包括以下五個方面:1)狀態(tài)預(yù)測;2)協(xié)方差預(yù)測;3)計算卡爾曼增益;4)狀態(tài)更新;5)協(xié)方差更新。
1)狀態(tài)預(yù)測
X(k|k-1)=AX(k-1|k-1)+BU(k)
(3)
式中X(k|k-1)為k時刻的估計值,其根據(jù)k-1時刻的最優(yōu)估計值X(k-1|k-1)和k時刻的控制量U(k)(如果沒有控制量,那么U(k)為0)得到。
2)協(xié)方差預(yù)測
P(k|k-1)=AP(k-1|k-1)A′+Q
(4)
式中A′為A的轉(zhuǎn)置矩陣,Q為系統(tǒng)噪聲的協(xié)方差,根據(jù)X(k-1|k-1)的協(xié)方差P(k-1|k-1)得到X(k|k-1)的協(xié)方差P(k|k-1)。
3)計算卡爾曼增益
(5)
式中Kg(k)為卡爾曼增益,R為測量噪聲對應(yīng)的協(xié)方差,根據(jù)P(k|k-1)和測量噪聲協(xié)方差R,計算得到卡爾曼增益Kg(k)。
4)狀態(tài)更新
X(k|k)=X(k|k-1)+Kg(k)[Z(k)-HX(k|k-1)]
(6)
根據(jù)測量值Z(k)修正k時刻的估計值X(k|k-1),得到k時刻的最優(yōu)估計值X(k|k)。
5)協(xié)方差更新
P(k|k)=[I-Kg(k)H]P(k|k-1)
(7)
式中I為單位矩陣。
為了測試監(jiān)測系統(tǒng)監(jiān)測數(shù)據(jù)的準確性,將揚塵監(jiān)測系統(tǒng)放置于環(huán)保局環(huán)境監(jiān)測站附處,對數(shù)據(jù)精度要求較高的PM2.5和PM10兩項數(shù)據(jù)進行監(jiān)測。監(jiān)測時間為上午9點至下午5點,連續(xù)監(jiān)測8 h,將監(jiān)測數(shù)據(jù)轉(zhuǎn)換為所測時間段整點對應(yīng)的小時平均數(shù)據(jù)并與監(jiān)測站點發(fā)布的小時平均數(shù)據(jù)進行對比,對比圖如圖4所示。
圖4 實驗數(shù)據(jù)對比
由圖4實驗數(shù)據(jù)比對圖可知,監(jiān)測系統(tǒng)連續(xù)運行7 h,通過數(shù)據(jù)的走勢可以直觀地看到本系統(tǒng)采集的數(shù)據(jù)與監(jiān)測站發(fā)布的數(shù)據(jù)基本一致,且經(jīng)計算PM2.5和PM10的平均誤差均在2 %內(nèi)。試驗結(jié)果表明,本系統(tǒng)所采集到的揚塵數(shù)據(jù)的準確性較高,可滿足揚塵監(jiān)測的實際需求。
通信時延會影響各節(jié)點間的信息傳輸,實驗中終端的時延是指一條完整的數(shù)據(jù)從讀取到完整發(fā)送至服務(wù)器間的時間間隔[14]。從監(jiān)測終端發(fā)出數(shù)據(jù)的時刻算起,到客戶端接收到數(shù)據(jù)為止,通過標記的時間戳,可以計算得到系統(tǒng)的響應(yīng)時間。連續(xù)做1 h的數(shù)據(jù)傳輸實驗,共測試60組數(shù)據(jù),終端發(fā)送數(shù)據(jù)時刻、客戶端接收數(shù)據(jù)時刻以及時間差如表1所示。
表1 響應(yīng)實時性測試表 ms
測試的60組數(shù)據(jù)中,響應(yīng)時間差最大為46 ms,最小為28 ms,響應(yīng)平均時間差為36.6 ms。測試結(jié)果表明,監(jiān)測系統(tǒng)的實時性較高,可以滿足揚塵監(jiān)測的實際需求。
建筑施工工地揚塵的污染情況對人類的身體健康和城市的空氣質(zhì)量有著顯著的影響。本文設(shè)計的基于物聯(lián)網(wǎng)的建筑工地揚塵監(jiān)測系統(tǒng),以LoRa和以太網(wǎng)作為通信技術(shù),結(jié)合卡爾曼濾波算法對采集節(jié)點的數(shù)據(jù)進行處理,實現(xiàn)了對揚塵數(shù)據(jù)的采集、傳輸和處理。實際測試結(jié)果表明系統(tǒng)穩(wěn)定性好,準確性和實時性高。本系統(tǒng)可以提高相關(guān)部門的監(jiān)管效率,具有一定的實用價值。