,, ,
(西安工業(yè)大學(xué)電子信息工程學(xué)院,陜西 西安 710021)
物聯(lián)網(wǎng)通信的不斷進(jìn)步,推動(dòng)著智能監(jiān)測(cè)技術(shù)的高速發(fā)展。同時(shí),水環(huán)境是如今十分重要的問題,大量工業(yè)廢水和生活污水未經(jīng)處理就被排入河流、湖泊和海洋之中,嚴(yán)重破壞水質(zhì),對(duì)人畜的健康造成嚴(yán)重威脅。因此,水質(zhì)監(jiān)測(cè)的必要性越來越受到人們的重視[1]。通過4G-DTU網(wǎng)絡(luò)通訊模塊提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性和高效性,實(shí)現(xiàn)固定水域的無人自動(dòng)檢測(cè)、數(shù)據(jù)上傳。設(shè)計(jì)監(jiān)測(cè)軟件實(shí)現(xiàn)對(duì)水質(zhì)的在線監(jiān)測(cè),根據(jù)《地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》設(shè)計(jì)高效的數(shù)據(jù)庫設(shè)計(jì)[2],對(duì)河流類型、斷面類型、以及氨氮、pH值、溫度等相關(guān)信息進(jìn)行儲(chǔ)存和管理,方便工作人員進(jìn)行水質(zhì)趨勢(shì)分析,具有重大經(jīng)濟(jì)和社會(huì)效益。
水質(zhì)監(jiān)測(cè)系統(tǒng)的總體結(jié)構(gòu)如圖1所示。本監(jiān)測(cè)系統(tǒng)由現(xiàn)場(chǎng)檢測(cè)層、遠(yuǎn)程傳輸層、遠(yuǎn)程監(jiān)測(cè)層組成?,F(xiàn)場(chǎng)檢測(cè)層負(fù)責(zé)檢測(cè)某一流域的不同斷面站點(diǎn)的水質(zhì)氨氮相關(guān)數(shù)據(jù)信息。同時(shí)將下位機(jī)檢測(cè)的數(shù)據(jù)通過串口總線傳給4G-DTU,4G-DTU通過配套的“透?jìng)髟啤狈?wù)器,將數(shù)據(jù)發(fā)送給開發(fā)好的遠(yuǎn)程監(jiān)測(cè)中心,可以實(shí)現(xiàn)實(shí)時(shí)監(jiān)測(cè),數(shù)據(jù)管理,參數(shù)配置等功能。
圖1 系統(tǒng)總體結(jié)構(gòu)
本監(jiān)測(cè)系統(tǒng)中的4G-DTU集成了TCP/IP協(xié)議[3],支持網(wǎng)絡(luò)透?jìng)髂J剑С諸CP連接和UDP連接,支持各運(yùn)營商的4G網(wǎng)絡(luò)。用戶通過使用SIM卡直接連上4G網(wǎng)絡(luò),提高了水質(zhì)信息傳輸?shù)母咝院徒M網(wǎng)的靈活性。同時(shí),DTU支持設(shè)置網(wǎng)絡(luò)心跳包,在網(wǎng)絡(luò)透?jìng)髂J较?,本監(jiān)測(cè)系統(tǒng)讓DTU發(fā)送心跳包與服務(wù)器保持連接,支持?jǐn)嗑€重連功能,保證了水質(zhì)監(jiān)測(cè)信息的完整性和穩(wěn)定性[4]。
在遠(yuǎn)程網(wǎng)絡(luò)傳輸中,DTU模塊只能和處于公網(wǎng)IP數(shù)據(jù)中心服務(wù)器進(jìn)行通信。而監(jiān)測(cè)中心處于局域網(wǎng)中,需要使用端口映射,域名綁定的技術(shù)實(shí)現(xiàn)連接。這樣的實(shí)現(xiàn)方式比較麻煩,本系統(tǒng)采用了4G-DTU配套的“透?jìng)髟啤?,透?jìng)髟瓶梢詫?shí)現(xiàn)2個(gè)DTU終端的連接,也可以通過配套的虛擬串口軟件實(shí)現(xiàn)終端和PC的跨網(wǎng)絡(luò)遠(yuǎn)程連接。本系統(tǒng)使用上位機(jī)借助虛擬串口軟件實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換為串口數(shù)據(jù),并可以連接透?jìng)髟啤T谑褂猛競(jìng)髟茖?shí)現(xiàn)網(wǎng)絡(luò)傳輸?shù)臅r(shí)候需要在透?jìng)髟凭W(wǎng)站上為2個(gè)終端分配“設(shè)備編號(hào)”和“通訊密碼”。DTU和虛擬串口都通過給定的IP地址和目標(biāo)端口,并結(jié)合設(shè)置好的設(shè)備編號(hào)和通訊密碼實(shí)現(xiàn)水質(zhì)檢測(cè)終端和遠(yuǎn)程監(jiān)測(cè)中心的連接通訊。監(jiān)測(cè)中心可以通過上位機(jī)實(shí)現(xiàn)與水質(zhì)檢測(cè)終端的數(shù)據(jù)交互。系統(tǒng)組網(wǎng)方式如圖2所示。
圖2 系統(tǒng)組網(wǎng)方式
本系統(tǒng)中,遠(yuǎn)程監(jiān)測(cè)中心和DTU之間形成點(diǎn)對(duì)點(diǎn)連接。主控芯片通過各類水質(zhì)傳感器采集信息。經(jīng)過DTU將串口數(shù)據(jù)轉(zhuǎn)換成IP數(shù)據(jù)通過4G網(wǎng)絡(luò)發(fā)送出去。在監(jiān)測(cè)中心,虛擬串口將IP數(shù)據(jù)轉(zhuǎn)換成串口數(shù)據(jù)發(fā)送給遠(yuǎn)程監(jiān)測(cè)中心。遠(yuǎn)程監(jiān)測(cè)中心和主控芯片進(jìn)行交互的時(shí)候需要遵循安全高效的通信協(xié)議。水質(zhì)監(jiān)測(cè)系統(tǒng)的傳輸幀格式有下發(fā)指令幀和回應(yīng)執(zhí)行幀2個(gè)部分。回應(yīng)執(zhí)行幀的幀格式與下發(fā)指令幀的幀格式是相互對(duì)應(yīng)的。回應(yīng)執(zhí)行幀是由檢測(cè)終端發(fā)送至監(jiān)測(cè)中心的,源地址就是水質(zhì)檢測(cè)終端下位機(jī)的編號(hào),而幀協(xié)議中的目的地址是遠(yuǎn)程監(jiān)測(cè)中心上位機(jī),只有保證回應(yīng)執(zhí)行響應(yīng)幀來源清楚,執(zhí)行動(dòng)作正確的話,接下來的數(shù)據(jù)響應(yīng)實(shí)現(xiàn)才會(huì)準(zhǔn)確,同時(shí)響應(yīng)幀也作為水質(zhì)監(jiān)測(cè)任務(wù)完成狀況的檢測(cè)標(biāo)準(zhǔn)。響應(yīng)幀格式如表1所示。
表1 響應(yīng)幀格式
監(jiān)控中心可以發(fā)送配置命令、執(zhí)行命令和讀數(shù)命令。配置命令可以改變水質(zhì)檢測(cè)站硬件的配置參數(shù),而執(zhí)行命令使水質(zhì)監(jiān)測(cè)站硬件狀態(tài)發(fā)生對(duì)應(yīng)的改變,監(jiān)測(cè)中心通過讀數(shù)命令獲取水質(zhì)檢測(cè)站硬件作業(yè)狀態(tài)。水質(zhì)檢測(cè)終端下位機(jī)都擁有不同的編號(hào),編號(hào)對(duì)應(yīng)著命令幀中的目的地址,需要執(zhí)行功能則來自于功能信息,檢測(cè)終端下位機(jī)通過判斷目的地址與功能信息完成測(cè)量任務(wù),具體幀格式如表2所示。
表2 命令幀格式
3.1.1 人機(jī)交互界面設(shè)計(jì)
監(jiān)測(cè)中心所要完成服務(wù)工作包括水質(zhì)監(jiān)測(cè)、數(shù)據(jù)管理以及參數(shù)配置。這些功能的實(shí)現(xiàn)都是基于良好又高效的人機(jī)交互界面。所以良好的人機(jī)交互界面是本監(jiān)測(cè)系統(tǒng)中重要的基礎(chǔ)部分。通過人機(jī)交互界面,可以將水質(zhì)檢測(cè)終端檢測(cè)到的水質(zhì)信息實(shí)時(shí)顯示在監(jiān)測(cè)上位機(jī)中的屏幕上。本系統(tǒng)采用VC++軟件編寫監(jiān)測(cè)上位機(jī)。完成位圖編程、多線程編程、MFC ODBC數(shù)據(jù)庫編程相關(guān)系統(tǒng)功能[8]。
監(jiān)測(cè)界面由以下幾個(gè)部分組成,其各部分控件具體功能如下所述:
a.啟動(dòng)測(cè)量部分,當(dāng)監(jiān)控中心點(diǎn)擊啟動(dòng)按鈕,在位圖的左上角可以顯示連接工作情況,并且向現(xiàn)場(chǎng)檢測(cè)站發(fā)送命令數(shù)據(jù),執(zhí)行檢測(cè)功能。
b.停止測(cè)量部分,當(dāng)監(jiān)控中心點(diǎn)擊中斷按鈕,并且向檢測(cè)終端站發(fā)送命令數(shù)據(jù),執(zhí)行停止功能。
c.定時(shí)檢測(cè)部分,當(dāng)監(jiān)控中心點(diǎn)擊中斷按鈕,配置定時(shí)參數(shù),實(shí)現(xiàn)定時(shí)監(jiān)測(cè),并且向檢測(cè)終端站發(fā)送命令數(shù)據(jù),執(zhí)行檢測(cè)功能。
d.數(shù)據(jù)庫管理部分,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控中心對(duì)水質(zhì)等相關(guān)數(shù)據(jù)的管理、分析、顯示。
e.通信配置部分,完成串口通信服務(wù)設(shè)置,可以設(shè)置串口號(hào)、波特率、源地址、目的地址、停止位、奇偶位、校驗(yàn)位等相關(guān)信息。
f.曲線顯示部分,為了幫助工作人員更方便地分析水質(zhì)信息,在監(jiān)測(cè)軟件設(shè)計(jì)中還增加了各參數(shù)數(shù)據(jù)的曲線顯示,直觀地顯示水質(zhì)變化趨勢(shì)。
3.1.2 MFC ODBC數(shù)據(jù)庫設(shè)計(jì)
監(jiān)測(cè)軟件在對(duì)數(shù)據(jù)庫進(jìn)行查詢管理分析的時(shí)候,需要對(duì)已經(jīng)創(chuàng)建好的數(shù)據(jù)庫進(jìn)行訪問處理。在此,采用ODBC數(shù)據(jù)庫訪問技術(shù),實(shí)現(xiàn)在監(jiān)測(cè)軟件中打開、顯示、操作、更新數(shù)據(jù)庫的功能。VC++在其基礎(chǔ)類庫(MFC)里對(duì)ODBC API進(jìn)行了封裝,實(shí)現(xiàn)了一個(gè)面向?qū)ο蟮臄?shù)據(jù)庫編程接口,使VC++的數(shù)據(jù)庫變得更加容易。MFC對(duì)ODBC的封裝主要是CDatabase類和CRrcordSet類[9]。數(shù)據(jù)庫儲(chǔ)存過程主要分為3部分:使用Open()函數(shù)打開相應(yīng)數(shù)據(jù)庫;通過SQL語言查詢到相應(yīng)的主鍵實(shí)現(xiàn)數(shù)據(jù)的儲(chǔ)存;儲(chǔ)存結(jié)束后關(guān)閉數(shù)據(jù)庫。數(shù)據(jù)庫儲(chǔ)存程序流程如圖3所示。
使用MFC所供的ODBC類:CDatabase(數(shù)據(jù)庫類),CRecordSet(記錄集類)和CRecordView(可視記錄集類)。
CDatabase類可以實(shí)現(xiàn)對(duì)水質(zhì)監(jiān)測(cè)信息的數(shù)據(jù)源進(jìn)行連接,從而對(duì)水質(zhì)信息數(shù)據(jù)源進(jìn)行操作。
CRecordView類可以用來顯示本系統(tǒng)中水質(zhì)信息數(shù)據(jù)庫的記錄,該視圖可以直接連接到1個(gè)CRecordSet對(duì)象的表單視圖。
圖3 數(shù)據(jù)庫儲(chǔ)存流程
CRecordSet類可以實(shí)現(xiàn)用戶對(duì)水質(zhì)信息數(shù)據(jù)庫進(jìn)行數(shù)據(jù)查詢、數(shù)據(jù)刪除和數(shù)據(jù)修改,并能直接為水質(zhì)信息數(shù)據(jù)源中的表映射1個(gè)CRecordSet類對(duì)象,CRecordSet類對(duì)象提供了從數(shù)據(jù)源中提取出表的記錄集[10],并提供了2種操作形式:動(dòng)態(tài)記錄集(Dynasets)和快照記錄集(Snapshots)。
水質(zhì)監(jiān)測(cè)可以將水質(zhì)數(shù)據(jù)進(jìn)行采集顯示,為了合理高效地治理水污染,需要對(duì)水質(zhì)進(jìn)行分析,分析建立在大量數(shù)據(jù)的基礎(chǔ)上,所以建立水質(zhì)信息數(shù)據(jù)庫對(duì)于水資源管理十分必要。遠(yuǎn)程水質(zhì)監(jiān)測(cè)系統(tǒng)的目標(biāo)是對(duì)某一流域中某一斷面的水質(zhì)情況進(jìn)行監(jiān)測(cè)和分析,使監(jiān)測(cè)站的管理工作更加規(guī)范化、制度化、程序化、提高信息處理的準(zhǔn)確性,保證數(shù)據(jù)處理的時(shí)效性和完整性,充分發(fā)揮監(jiān)測(cè)數(shù)據(jù)的效用,提高水質(zhì)監(jiān)測(cè)和治理工作的效率,提高環(huán)保管理的決策水平[11]。本系統(tǒng)中的水質(zhì)信息數(shù)據(jù)管理系統(tǒng)為監(jiān)測(cè)站提供監(jiān)測(cè)信息管理工作[12]。系統(tǒng)功能模塊結(jié)構(gòu)如圖4所示。
圖4 系統(tǒng)數(shù)據(jù)庫功能
3.2.1 數(shù)據(jù)庫功能要求
數(shù)據(jù)庫主要有以下功能:
a.完成監(jiān)測(cè)信息的隨機(jī)查詢。
b.完成一定要求的統(tǒng)計(jì)分析。
c.完成監(jiān)測(cè)系統(tǒng)的更新、刪除、修改。
d.完成報(bào)表打印輸出。
e.保證信息的安全性。
3.2.2 邏輯結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)采用Access數(shù)據(jù)庫對(duì)水域河流的水質(zhì)氨信息進(jìn)行分析。Access采用模塊化設(shè)計(jì),基本上不需要復(fù)雜的編程操作,因此對(duì)非數(shù)據(jù)庫專業(yè)人員比較友好,可以在短時(shí)間內(nèi)自學(xué)掌握屬性數(shù)據(jù)庫的開發(fā)。并且Access數(shù)據(jù)庫的的優(yōu)化調(diào)整十分方便,便于對(duì)數(shù)據(jù)庫的修正和刪改,開發(fā)周期也短,維護(hù)方便[13]。經(jīng)過對(duì)《地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》分析研究,對(duì)相關(guān)水環(huán)境:河流的位置、斷面的位置、以及pH值、溫度信息進(jìn)行統(tǒng)計(jì)分析。本系統(tǒng)水質(zhì)監(jiān)測(cè)信息如表3所示。
表3 水質(zhì)監(jiān)測(cè)數(shù)據(jù)信息
3.2.3 物理結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)數(shù)據(jù)庫由于存儲(chǔ)的是實(shí)時(shí)監(jiān)測(cè)的水質(zhì)數(shù)據(jù),這些數(shù)據(jù)是對(duì)檢測(cè)水域的真實(shí)反映,同時(shí),工作人員需要對(duì)水質(zhì)數(shù)據(jù)進(jìn)行后續(xù)的管理分析預(yù)測(cè)等工作。所以本系統(tǒng)數(shù)據(jù)庫的設(shè)計(jì)需要堅(jiān)持以下的設(shè)計(jì)原則:
a.對(duì)數(shù)據(jù)庫里的數(shù)據(jù)進(jìn)行合理管理,根據(jù)數(shù)據(jù)的種類進(jìn)行有效的歸類和劃分,對(duì)數(shù)據(jù)進(jìn)行有效描述。
b.安全性是數(shù)據(jù)庫中十分重要的特征,通過對(duì)數(shù)據(jù)庫里面的數(shù)據(jù)進(jìn)行冗余處理,不過需要考慮到數(shù)據(jù)維護(hù)難度的提高。本系統(tǒng)根據(jù)實(shí)際水質(zhì)情況對(duì)數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行合理取舍,保證了數(shù)據(jù)的安全性穩(wěn)定性。
c.在數(shù)據(jù)庫設(shè)計(jì)的時(shí)候需要考慮存儲(chǔ)結(jié)構(gòu)的優(yōu)化和管理。這是數(shù)據(jù)庫高效工作的前提。
通過高速、穩(wěn)定、靈活的組網(wǎng)方式實(shí)現(xiàn)對(duì)水質(zhì)氨氮、pH、溶解氧等多參數(shù)水質(zhì)數(shù)據(jù)的穩(wěn)定上傳。設(shè)計(jì)合理的數(shù)據(jù)庫儲(chǔ)存上傳的數(shù)據(jù)信息,監(jiān)測(cè)人員通過高效友好的上位機(jī)實(shí)現(xiàn)對(duì)固定水域中的斷面水質(zhì)情況進(jìn)行監(jiān)測(cè),為環(huán)保部門提供了有效的水環(huán)境監(jiān)測(cè)方案,具有一定的社會(huì)效益和發(fā)展前景。
[1] Shaposhnika A, Ryabtsevb S, Zviagina A,et al. Selective detection of ammonia and its derivatives using MOX-sensor and microreactor[J].Procedia Engineering, 2011,25:1097-1100.
[2] Bourgeois W, Gardey G,Servieres M,et al.A chemical sensor array based system for protecting wastewater treatment plants[J]. Sensors and Actuators B Chemical,2003,91(1/2/3):109-116.
[3] Song X,Li Q,Yan D.Nutrient removal by hybrid subsurface row constructed wetlands for high concentration ammonia nitrogen wastewater[J].Procedia Environmental Sciences, 2010,2(1):1461 - 1468.
[4] 董加寶.基于CAN總線的水質(zhì)在線監(jiān)測(cè)嵌入式系統(tǒng)研究[C].合肥:中國科學(xué)技術(shù)大學(xué),2015.
[5] 馬明建.數(shù)據(jù)采集與處理技術(shù)[M].西安:西安交通大學(xué)出版社, 2005.
[6] 郝勇.地表水水質(zhì)監(jiān)測(cè)管理信息系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)[J].上海工程技術(shù)大學(xué)學(xué)報(bào),2003,17(3):211-216.
[7] 劉志雄,余臻,陳燕萍.GPRS DTU數(shù)據(jù)中心的通信設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2007,20(12):23-24,26.
[8] 魯東海,孫純軍,王曉虎.智能變電站中在線監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J]. 電力自動(dòng)化設(shè)備,2011,31(1):134-137.
[9] 馬成龍,段斌,龍辛,等.支持遠(yuǎn)程監(jiān)測(cè)的風(fēng)電場(chǎng)網(wǎng)絡(luò)體系架構(gòu)設(shè)計(jì)[J]. 電力自動(dòng)化設(shè)備,2011,31(1):95-99.
[10] 張磊,馮建華,袁愛軍,等.物聯(lián)網(wǎng)在高原寒區(qū)地下水監(jiān)測(cè)系統(tǒng)中的應(yīng)用[J].自動(dòng)化儀表,2016,37(2):54-56,60.
[11] 王永濤,吳艷英,李家春,等.基于GPRS DTU的農(nóng)業(yè)灌溉施肥智能化控制系統(tǒng)的應(yīng)用研究[J].中國農(nóng)村水利水電,2013(12):93-97.
[12] 樓鴻強(qiáng).基于嵌入式技術(shù)和分布式數(shù)據(jù)庫的水質(zhì)監(jiān)測(cè)系統(tǒng)[D].杭州:浙江大學(xué),2007.
[13] 熊子明.基于氨氣敏電極法的氨氮在線檢測(cè)系統(tǒng)研究及其工程應(yīng)用[D].北京:北方工業(yè)大學(xué).2014.