基于物聯(lián)網(wǎng)的水文監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
遠(yuǎn)程中心監(jiān)控節(jié)點(diǎn)是整個(gè)系統(tǒng)的管理中樞,用于匯集并處理各區(qū)域的水文參數(shù),并根據(jù)分析結(jié)果提出不同的合理化建議,主要完成數(shù)據(jù)的存儲(chǔ)與處理、數(shù)據(jù)的可視化、物聯(lián)網(wǎng)的管理功能。其硬件組成主要是大規(guī)模的磁盤陣列以及高性能的工作站服務(wù)器。
在整個(gè)水文監(jiān)測(cè)系統(tǒng)硬件部署、軟件參數(shù)設(shè)置完成后,就可以對(duì)部署了終端傳感器節(jié)點(diǎn)的水區(qū)域進(jìn)行水文參數(shù)的主動(dòng)監(jiān)測(cè)。其具體流程如下:
(1) 遠(yuǎn)程監(jiān)控中心發(fā)出控制指令,通過(guò)網(wǎng)關(guān)節(jié)點(diǎn),啟動(dòng)激活終端傳感器節(jié)點(diǎn)進(jìn)行水文參數(shù)檢測(cè)。
(2) 終端節(jié)點(diǎn)處理器收到指令后,由主處理器對(duì)命令進(jìn)行解碼。若節(jié)點(diǎn)地址與控制指令中的地址一致,則啟動(dòng)傳感器進(jìn)行水文參數(shù)采集,并將最終采集到的數(shù)據(jù)傳送給節(jié) 點(diǎn)處理器。節(jié)點(diǎn)主處理器捕獲到測(cè)量數(shù)據(jù)后,再進(jìn)行相關(guān)數(shù)據(jù)的分析、融合,并將水文數(shù)據(jù)打包成符合6LoWPAN協(xié)議標(biāo)準(zhǔn)的數(shù)據(jù)幀,然后加入包頭、節(jié)點(diǎn)編號(hào) 等信息后送到射頻模塊進(jìn)行數(shù)據(jù)的發(fā)射,同時(shí)也可在該節(jié)點(diǎn)實(shí)現(xiàn)其他節(jié)點(diǎn)的路由轉(zhuǎn)發(fā)。
(3) 中心節(jié)點(diǎn)匯聚各個(gè)終端節(jié)點(diǎn)參數(shù),發(fā)出相應(yīng)控制指令。
2 軟件系統(tǒng)集成及設(shè)計(jì)
水文監(jiān)測(cè)系統(tǒng)的管理功能比較復(fù)雜,任務(wù)多樣,需要監(jiān)測(cè)的水文參數(shù)種類多,僅目前就包括水溫、水位、PH 值等參數(shù)測(cè)試,而且為了今后的拓展,還必須為今后其他水文參數(shù)測(cè)試預(yù)留軟件接口。同時(shí),水文參數(shù)測(cè)試結(jié)果的通信方式的種類差異也較大,軟件設(shè)計(jì)涉及大量的 網(wǎng)絡(luò)通信程序設(shè)計(jì)以及數(shù)據(jù)庫(kù)設(shè)計(jì)管理工作。為便于不同模塊的接口,軟件設(shè)計(jì)整體應(yīng)采用一致性、模塊化設(shè)計(jì)。所有節(jié)點(diǎn)開(kāi)發(fā)和應(yīng)用平臺(tái)可選用Linux 操作系統(tǒng),因?yàn)長(zhǎng)inux 系統(tǒng)成熟穩(wěn)定、源代碼開(kāi)放,尤其在網(wǎng)絡(luò)通信方面有其獨(dú)到的優(yōu)勢(shì)。終端節(jié)點(diǎn)由于其節(jié)電性方面的要求,可采用裁剪后的最小嵌入式Linux 操作系統(tǒng),網(wǎng)關(guān)節(jié)點(diǎn)采用普通嵌入式Linux 操作系統(tǒng),而中心節(jié)點(diǎn)則采用完整的Linux 系統(tǒng),這種軟件平臺(tái)架構(gòu)保證了整個(gè)系統(tǒng)的軟件一致性,以便于以后的保障和維護(hù)。
2.1 終端節(jié)點(diǎn)的軟件設(shè)計(jì)
終端節(jié)點(diǎn)的硬件平臺(tái)主要包括核心控制器、I/O 接口、存儲(chǔ)模塊及射頻收發(fā)模塊等,其硬件構(gòu)成決定了終端節(jié)點(diǎn)采用裁剪后的最小嵌入式Linux 操作系統(tǒng)比較符合終端節(jié)點(diǎn)特性。同時(shí),由于終端節(jié)點(diǎn)以及物聯(lián)網(wǎng)組網(wǎng)的特殊性,其通信協(xié)議不可能采用完整的IP 協(xié)議棧,而必須采用修改后能適用本系統(tǒng)的網(wǎng)絡(luò)協(xié)議棧來(lái)實(shí)現(xiàn)報(bào)文的分片和重組、報(bào)頭壓縮和地址自動(dòng)配置、組播和安全。協(xié)議棧數(shù)據(jù)幀格式符合 IEEE802.15.4,其水文參數(shù)測(cè)試協(xié)議幀格式如圖2 所示,其中MAC 負(fù)載部分包括上層協(xié)議幀控制信息、水文參數(shù)、傳感器節(jié)點(diǎn)號(hào)等信息。

圖2 水文參數(shù)測(cè)試協(xié)議幀格式
作為終端節(jié)點(diǎn),軟件節(jié)能設(shè)計(jì)是其中的一個(gè)重要考慮。為了避免節(jié)點(diǎn)頻繁進(jìn)入暫停工作等待充電的工作模式,減少無(wú)用數(shù)據(jù)的采集和傳輸,傳感器節(jié)點(diǎn)采 用基于閾值的工作方式:當(dāng)監(jiān)測(cè)數(shù)據(jù)的大小在報(bào)告閾值以內(nèi)時(shí),不予發(fā)送,當(dāng)監(jiān)測(cè)數(shù)據(jù)的大小超過(guò)報(bào)告閾值而在告警閾值以內(nèi)時(shí),以較長(zhǎng)的周期循環(huán)報(bào)告實(shí)時(shí)數(shù)據(jù); 當(dāng)監(jiān)測(cè)數(shù)據(jù)的大小超過(guò)告警閾值時(shí),以較短的周期循環(huán)報(bào)告實(shí)時(shí)數(shù)據(jù)。這樣的工作方式既保證了關(guān)鍵實(shí)時(shí)數(shù)據(jù)的可靠獲取,又減少了頻繁發(fā)送無(wú)用數(shù)據(jù)的能量消耗。
2.2 水文監(jiān)控中心軟件設(shè)計(jì)
水文監(jiān)控中心應(yīng)用軟件的設(shè)計(jì)目標(biāo)是盡可能地使得系統(tǒng)友好,使用戶操作簡(jiǎn)單直觀,對(duì)險(xiǎn)情或者異常情況表示及告警明顯。在方案設(shè)計(jì)中,上層部分不但 需要提供給用戶與系統(tǒng)交互能力相適應(yīng)的界面,還需要提供對(duì)水文參數(shù)進(jìn)行歸納、綜合分析等功能的實(shí)現(xiàn)模塊以及與底層交互的通訊模塊。
基于設(shè)計(jì)目標(biāo)的要求,其監(jiān)控中心的軟件平臺(tái)設(shè)計(jì)采用B/S 架構(gòu),應(yīng)用界面程序部分和核心平臺(tái)之間采用多種耦合方式。核心平臺(tái)可以作為界面的一個(gè)功能模塊DLL 嵌入上層直接調(diào)用底層庫(kù)函數(shù),也可以把核心平臺(tái)單獨(dú)作為一個(gè)獨(dú)立的進(jìn)程,二者之間通過(guò)操作系統(tǒng)提供的進(jìn)程間的管道機(jī)制實(shí)現(xiàn)通信。監(jiān)控中心應(yīng)用程序通過(guò)核心 平臺(tái)實(shí)現(xiàn)對(duì)水文監(jiān)測(cè)網(wǎng)絡(luò)的管理,并啟動(dòng)終端水文監(jiān)測(cè)節(jié)點(diǎn)來(lái)采樣區(qū)域水文資料。監(jiān)控中心在收集到由路由節(jié)點(diǎn)轉(zhuǎn)發(fā)來(lái)的水文采樣數(shù)據(jù)之后,可將數(shù)據(jù)存儲(chǔ)于后臺(tái)數(shù) 據(jù)庫(kù)中,同時(shí)提供用戶界面對(duì)水文參數(shù)進(jìn)行分析處理,并采用圖形方式進(jìn)行顯示,最終根據(jù)分析結(jié)果進(jìn)行視覺(jué)或聲響告警。系統(tǒng)應(yīng)用程序主要包括文件處理模塊、系 統(tǒng)配置模塊、分析處理模塊以及告警模塊等4 個(gè)功能模塊。監(jiān)控中心軟件系統(tǒng)平臺(tái)采用Linux 系統(tǒng), 存儲(chǔ)數(shù)據(jù)庫(kù)則采用ORACLE 大型關(guān)系數(shù)據(jù)庫(kù)[7-8]。
通過(guò)文件功能模塊可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ)、調(diào)取以及打印等功能,也可以保存設(shè)置應(yīng)用程序工作環(huán)境參數(shù)等功能,同時(shí)可實(shí)現(xiàn)對(duì)數(shù)據(jù)的永久性存儲(chǔ),以便于后期數(shù)據(jù)的綜合化處理。
配置功能模塊采用圖形化的方式實(shí)現(xiàn)對(duì)系統(tǒng)節(jié)點(diǎn)、整個(gè)系統(tǒng)的網(wǎng)絡(luò)路由以及終端傳感器的參數(shù)設(shè)置,從而達(dá)到對(duì)整個(gè)水文監(jiān)測(cè)系統(tǒng)的硬件和軟件配置,包括應(yīng)用程序啟動(dòng)時(shí)對(duì)硬件的檢測(cè)以及檢測(cè)通過(guò)后初始化測(cè)試所需要的軟硬件環(huán)境。
分析處理模塊是整個(gè)監(jiān)控中心的核心模塊,主要包括水文數(shù)據(jù)的分析、歸類、比較、模型建立、數(shù)據(jù)歸一化處理以及對(duì)數(shù)據(jù)曲線進(jìn)行描繪和顯示等功能。大致的功能包括下列4 個(gè)方面:
(1) 結(jié)合地理信息系統(tǒng),將所有終端節(jié)點(diǎn)的位置及其實(shí)時(shí)數(shù)據(jù)顯示在地圖上,這樣可實(shí)現(xiàn)監(jiān)測(cè)者快速定位水文終端節(jié)點(diǎn)地理坐標(biāo),全局監(jiān)測(cè)整個(gè)水域的水文信息情況;
(2) 以時(shí)間坐標(biāo)為基軸,將所有終端節(jié)點(diǎn)的歷史或?qū)崟r(shí)數(shù)據(jù)顯示在以時(shí)間為橫軸的曲線圖上,以便于監(jiān)測(cè)者分析一段時(shí)間內(nèi)水文參數(shù)的變化情況,進(jìn)而結(jié)合其他監(jiān)測(cè)信息分析發(fā)生的原因,完善預(yù)警機(jī)制;
(3) 基于節(jié)點(diǎn)標(biāo)識(shí)的展示,對(duì)所有節(jié)點(diǎn)按網(wǎng)絡(luò)內(nèi)的標(biāo)識(shí)大小進(jìn)行整體的實(shí)時(shí)數(shù)據(jù)和節(jié)點(diǎn)狀態(tài)顯示,以便監(jiān)測(cè)者抽取導(dǎo)出監(jiān)測(cè)數(shù)據(jù),同時(shí)觀察節(jié)點(diǎn)異常狀態(tài),對(duì)整個(gè)網(wǎng)絡(luò)系統(tǒng)進(jìn)行及時(shí)有效地維護(hù);
(4) 建立水文參數(shù)模型,構(gòu)建參數(shù)預(yù)測(cè)模型,建立專家系統(tǒng),提供領(lǐng)導(dǎo)決策科學(xué)依據(jù)。告警功能模塊可實(shí)現(xiàn)對(duì)水文參數(shù)的異常情況的報(bào)警,主要實(shí)現(xiàn)異常節(jié)點(diǎn)的快速定 位、進(jìn)行聲光報(bào)警提示以及按照設(shè)定策略進(jìn)行異常處理。報(bào)警的方式主要包括在圖形界面上快速閃爍紅色告警提示信息,通過(guò)揚(yáng)聲器發(fā)出告警提示聲音[9]。其軟 件整體結(jié)構(gòu)如圖3 所示。
評(píng)論