張毅
(廣東環(huán)境保護(hù)工程職業(yè)學(xué)院, 先進(jìn)制造學(xué)院, 廣東, 佛山 528216)
生態(tài)環(huán)境部于2016年發(fā)布的《生態(tài)環(huán)境大數(shù)據(jù)建設(shè)總體方案》指出,生態(tài)環(huán)境大數(shù)據(jù)平臺(tái)由基礎(chǔ)設(shè)施層、數(shù)據(jù)資源層和業(yè)務(wù)應(yīng)用層構(gòu)成。其中,大數(shù)據(jù)管理平臺(tái)是數(shù)據(jù)資源層為大數(shù)據(jù)應(yīng)用提供統(tǒng)一數(shù)據(jù)采集、分析和處理等支撐服務(wù)。當(dāng)前研究大都關(guān)注數(shù)據(jù)采集、數(shù)據(jù)傳輸及數(shù)據(jù)存儲(chǔ)與應(yīng)用方面,如:高萌萌等[1]討論了基于NB-IoT的區(qū)域空氣質(zhì)量監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn);孫彩萍等[2]關(guān)注環(huán)境數(shù)據(jù)采集后共享平臺(tái)的建設(shè)。對(duì)采集設(shè)備遠(yuǎn)程管理、監(jiān)控預(yù)警管理功能少有研究。為此,構(gòu)建集成數(shù)據(jù)采集、設(shè)備管理、實(shí)時(shí)監(jiān)控、狀態(tài)預(yù)警等功能于一體的環(huán)境監(jiān)測(cè)管理系統(tǒng)具有現(xiàn)實(shí)價(jià)值,能為環(huán)境大數(shù)據(jù)平臺(tái)建設(shè)提供數(shù)據(jù)資源保障,同時(shí)也能對(duì)污染企業(yè)進(jìn)行有效監(jiān)管。
環(huán)境監(jiān)測(cè)系統(tǒng)的總體架構(gòu)一般分為感知層、傳輸層、平臺(tái)層和應(yīng)用層[3]。環(huán)境監(jiān)測(cè)數(shù)據(jù)采集管理系統(tǒng)利用各種環(huán)境感知測(cè)量設(shè)備對(duì)環(huán)境信息進(jìn)行測(cè)量,并將包含測(cè)量信息、測(cè)量裝置的位置信息及運(yùn)行狀態(tài)的數(shù)據(jù)包上傳到服務(wù)器,并通過(guò)客戶端進(jìn)行分析與管理。系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖
環(huán)境測(cè)量裝置集成多組傳感器,用于采集環(huán)境數(shù)據(jù),如表1所示。通過(guò)LTE網(wǎng)絡(luò)或Internet將其傳輸至環(huán)境監(jiān)測(cè)管理平臺(tái)。
表1 環(huán)境數(shù)據(jù)采集傳感器模塊
環(huán)境監(jiān)測(cè)管理軟件是系統(tǒng)的平臺(tái)層軟件,提供了對(duì)采集到的環(huán)境數(shù)據(jù)進(jìn)行存儲(chǔ)、管理及對(duì)采集設(shè)備進(jìn)行遠(yuǎn)程管理的功能。軟件平臺(tái)采用C/S架構(gòu),結(jié)合基于C#.net技術(shù)的Winform系統(tǒng)開(kāi)發(fā)框架進(jìn)行設(shè)計(jì)與開(kāi)發(fā)。
環(huán)境監(jiān)測(cè)管理平臺(tái)主要分為數(shù)據(jù)管理模塊和采集設(shè)備管理模塊兩大部分,數(shù)據(jù)管理模塊是主要實(shí)現(xiàn)對(duì)環(huán)境數(shù)據(jù)的查詢、統(tǒng)計(jì)、管理及可視化,采集設(shè)備管理模塊主要實(shí)現(xiàn)對(duì)設(shè)備的遠(yuǎn)程控制與管理。平臺(tái)框架如圖2所示。
圖2 環(huán)境監(jiān)測(cè)管理平臺(tái)整體框架
1.2.1 環(huán)境數(shù)據(jù)管理功能模塊
環(huán)境要素監(jiān)測(cè)子模塊提供常規(guī)信息查看,包括對(duì)應(yīng)風(fēng)、氣溫、降水以及各種氣體的數(shù)據(jù)信息,在統(tǒng)計(jì)頁(yè)面可以對(duì)日最大降水及統(tǒng)計(jì)值等進(jìn)行查看操作,同時(shí)可進(jìn)行報(bào)警信息查看。
環(huán)境數(shù)據(jù)管理子模塊對(duì)環(huán)境數(shù)據(jù)綜合管理,實(shí)現(xiàn)數(shù)據(jù)曲線、站點(diǎn)信息、視頻監(jiān)控功能。數(shù)據(jù)曲線包括序號(hào)、監(jiān)測(cè)時(shí)間以及對(duì)應(yīng)監(jiān)測(cè)環(huán)境數(shù)據(jù)時(shí)的均值查看,可對(duì)報(bào)警信息進(jìn)行設(shè)置??赏ㄟ^(guò)站點(diǎn)信息欄查看進(jìn)行監(jiān)測(cè)的站點(diǎn)信息,可通過(guò)視頻監(jiān)測(cè)進(jìn)行視頻監(jiān)測(cè)操作。
環(huán)境數(shù)據(jù)統(tǒng)計(jì)子模塊實(shí)現(xiàn)對(duì)數(shù)據(jù)的顯示設(shè)置功能,可對(duì)序號(hào)、名稱、單位、顯示名稱、排序方式、報(bào)表統(tǒng)計(jì)方式進(jìn)行修改和設(shè)置。
實(shí)時(shí)數(shù)據(jù)曲線子模塊實(shí)現(xiàn)具體環(huán)境數(shù)據(jù)的可視化,可通過(guò)監(jiān)測(cè)曲線查看所監(jiān)測(cè)的要素變化狀況,包括對(duì)應(yīng)實(shí)時(shí)數(shù)據(jù)、歷史數(shù)據(jù)的曲線變化情況的查看。
1.2.2 采集設(shè)備管理功能模塊
網(wǎng)絡(luò)連接子模塊實(shí)現(xiàn)對(duì)通信方式的設(shè)置與管理。通過(guò)管理列表,可以對(duì)通信的主通道與輔通道接口進(jìn)行設(shè)置,包括連接名稱、IP地址、服務(wù)器路徑、用戶名及密碼。
運(yùn)行設(shè)置子模塊實(shí)現(xiàn)對(duì)監(jiān)測(cè)平臺(tái)運(yùn)行狀況的設(shè)置,包括采集控制、自動(dòng)站數(shù)據(jù)、系統(tǒng)參數(shù)的設(shè)置。采集控制實(shí)現(xiàn)采集方式的設(shè)置,如實(shí)時(shí)采集、定時(shí)采集、時(shí)間同步。自動(dòng)站數(shù)據(jù)設(shè)置環(huán)境數(shù)據(jù)的備份頻率,系統(tǒng)參數(shù)設(shè)置參數(shù)備份頻率。
設(shè)備管理子模塊實(shí)現(xiàn)對(duì)監(jiān)測(cè)設(shè)備的綜合管理,包括對(duì)應(yīng)的設(shè)備名稱和序列號(hào)、對(duì)應(yīng)監(jiān)測(cè)通道等進(jìn)行設(shè)置操作。
報(bào)警參數(shù)設(shè)置子模塊實(shí)現(xiàn)對(duì)報(bào)警條件的設(shè)置與管理,包括設(shè)置報(bào)警信號(hào)接受方式的參數(shù)與報(bào)警條件參數(shù)。
數(shù)據(jù)庫(kù)是平臺(tái)的基礎(chǔ),為平臺(tái)內(nèi)數(shù)據(jù)提供較好的存儲(chǔ)模式和交換模式。環(huán)境監(jiān)測(cè)管理屬于分階段完成的綜合事務(wù),選用關(guān)系數(shù)據(jù)庫(kù),可為環(huán)境監(jiān)測(cè)流程和事務(wù)動(dòng)態(tài)管理的數(shù)據(jù)存儲(chǔ)提供較好支撐[4]。本平臺(tái)的數(shù)據(jù)庫(kù)設(shè)計(jì)E-R圖如圖3所示,建立的基礎(chǔ)數(shù)據(jù)表有監(jiān)測(cè)站表、監(jiān)測(cè)設(shè)備數(shù)據(jù)表、環(huán)境數(shù)據(jù)表以及管理員用戶表。
圖3 環(huán)境監(jiān)測(cè)管理平臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)E-R圖
通過(guò)傳感器采集的環(huán)境數(shù)據(jù)用TCP協(xié)議封裝環(huán)境測(cè)量數(shù)據(jù)包,通過(guò)Socket套接字技術(shù)進(jìn)行傳輸,TCP數(shù)據(jù)包結(jié)構(gòu)如圖4所示。
圖4 環(huán)境監(jiān)測(cè)TCP數(shù)據(jù)包結(jié)構(gòu)圖
Socket套接字可以將2個(gè)連入互聯(lián)網(wǎng)的進(jìn)程之間建立聯(lián)系,從性質(zhì)上來(lái)看,它屬于一種接口,以抽象層的形式位于TCP/IP協(xié)議參考模型中的傳輸層與應(yīng)用層之間,環(huán)境監(jiān)測(cè)系統(tǒng)可采用Socket來(lái)建立傳感器與服務(wù)器之間的網(wǎng)絡(luò)通信連接[5]。面向TCP協(xié)議的Socket的建立步驟:①創(chuàng)建一個(gè)Socket;②綁定本機(jī)的IP和端口;③利用Listen方法監(jiān)聽(tīng)網(wǎng)絡(luò)狀況;④監(jiān)聽(tīng)到連接,使用Accept方法接收并建立連接,隨即使用Send/Receive方法執(zhí)行操作;⑤發(fā)送完畢,關(guān)閉連接。
環(huán)境監(jiān)測(cè)管理平臺(tái)采用C/S模式,開(kāi)發(fā)語(yǔ)言選用C#,在WinForm開(kāi)發(fā)框架下進(jìn)行開(kāi)發(fā)。WinForm是基于.NET開(kāi)發(fā)平臺(tái)的框架,具有3 個(gè)重要特點(diǎn)[6]:①Windows 窗體可用于設(shè)計(jì)窗體和可視控件,以創(chuàng)建豐富的基于 Windows 的應(yīng)用程序;②提供易于連接 OLEDB 和 ODBC 數(shù)據(jù)源的數(shù)據(jù)控件;③Windows 窗體充分利用公共語(yǔ)言運(yùn)行庫(kù)的安全特性。數(shù)據(jù)庫(kù)管理系統(tǒng)選用SQL Server 2016,Web服務(wù)器采用Apache HTTP服務(wù)。平臺(tái)以Microsoft Visual Studio為工具進(jìn)行開(kāi)發(fā)。
2.2.1 環(huán)境數(shù)據(jù)管理模塊實(shí)現(xiàn)
環(huán)境數(shù)據(jù)管理模塊主要實(shí)現(xiàn)數(shù)據(jù)的讀取和現(xiàn)實(shí)。使用SQLDataAdapter對(duì)象獲取數(shù)據(jù)并填充DataSet,通過(guò)DataSet為DataTable賦值,最后綁定到DataGridView控件中,實(shí)現(xiàn)對(duì)環(huán)境要素包括風(fēng)速、溫度、濕度、氣壓、降水量、大氣數(shù)據(jù)、可吸入顆粒物數(shù)據(jù)的讀取,使用OLEDB連接數(shù)據(jù)庫(kù)。連接的關(guān)鍵代碼如圖5所示。
圖5 數(shù)據(jù)庫(kù)連接關(guān)鍵代碼
圖形效果處理主要采用GDI+圖形設(shè)備接口所提供的類來(lái)實(shí)現(xiàn),如Graphics類、Bitmap類、Font類、Icon類、Image類、Pen類、Color類,以及從Brush類繼承的類等。曲線是反應(yīng)環(huán)境數(shù)據(jù)實(shí)時(shí)變化最直觀的方式。設(shè)置定時(shí)器,采用Chart 控件繪制實(shí)時(shí)曲線,從數(shù)據(jù)庫(kù)讀取環(huán)境數(shù)據(jù),用于填充曲線。所實(shí)現(xiàn)的環(huán)境要素模塊可視化效果如圖6所示。
2.2.2 平臺(tái)管理模塊實(shí)現(xiàn)
平臺(tái)管理模塊主要通過(guò)參數(shù)的輸入、修改來(lái)實(shí)現(xiàn)平臺(tái)管理,開(kāi)發(fā)中綜合使用TextBox、RichTextBox、ComboBox、ImageList、PitureBox、ListView列表視圖控件等,實(shí)現(xiàn)了文本輸入與顯示和圖像的排列與布局。實(shí)現(xiàn)的采集設(shè)備管理模塊如圖7所示。
圖6 環(huán)境要素子模塊界面
圖7 采集設(shè)備管理子模塊界面
報(bào)警設(shè)置子模塊使用com通信端口發(fā)送信息,當(dāng)環(huán)境監(jiān)測(cè)數(shù)據(jù)不在閾值范圍之內(nèi)時(shí)觸發(fā)報(bào)警,通過(guò)短信的方式發(fā)送報(bào)警信息。報(bào)警管理子模塊如圖8所示。
圖8 報(bào)警管理子模塊界面
對(duì)環(huán)境監(jiān)測(cè)管理系統(tǒng)已經(jīng)進(jìn)行了實(shí)際場(chǎng)景下的測(cè)試,在廣東環(huán)境保護(hù)工程職業(yè)學(xué)院校園內(nèi)的不同地點(diǎn)布置了6個(gè)監(jiān)測(cè)點(diǎn),通過(guò)無(wú)線網(wǎng)絡(luò)連接了監(jiān)測(cè)設(shè)備與環(huán)境監(jiān)測(cè)管理平臺(tái),分別對(duì)平臺(tái)的8個(gè)模塊進(jìn)行了測(cè)試,結(jié)果顯示平臺(tái)能正常接收監(jiān)測(cè)設(shè)備發(fā)送的各類環(huán)境數(shù)據(jù),平臺(tái)能對(duì)環(huán)境數(shù)據(jù)進(jìn)行展示和報(bào)表打印,平臺(tái)能對(duì)監(jiān)測(cè)設(shè)備進(jìn)行開(kāi)和關(guān)操作,能對(duì)設(shè)備進(jìn)行采集時(shí)頻率設(shè)置,基本實(shí)現(xiàn)了遠(yuǎn)程控制和管理功能。經(jīng)過(guò)測(cè)試本系統(tǒng)實(shí)現(xiàn)了預(yù)期設(shè)計(jì)效果,可用于固定地點(diǎn)的環(huán)境數(shù)據(jù)采集和大氣排放監(jiān)管。環(huán)境監(jiān)測(cè)管理平臺(tái)的測(cè)試界面如圖9所示。
圖9 環(huán)境監(jiān)測(cè)管理平臺(tái)測(cè)試界面
本研究聚焦環(huán)境監(jiān)測(cè)中的數(shù)據(jù)采集及設(shè)備管理的問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)了一套整合了環(huán)境數(shù)據(jù)采集與管理功能于一體的系統(tǒng),系統(tǒng)分為采集端和平臺(tái)端,采集端面向環(huán)境數(shù)據(jù)包括溫度、濕度、CO、O3、VOCs、NO2、SO2、PM10/PM2.5信息,采用TCP協(xié)議及Socket技術(shù)實(shí)現(xiàn)數(shù)據(jù)傳輸,平臺(tái)端采用C/S模式,提供環(huán)境數(shù)據(jù)的管理、采集設(shè)備的管理功能服務(wù)。本系統(tǒng)可應(yīng)用于區(qū)域環(huán)境數(shù)據(jù)的采集、管理和研究,對(duì)于推進(jìn)區(qū)域生態(tài)環(huán)境大數(shù)據(jù)建設(shè)有積極作用。