徐繼紅
(新疆塔里木河流域希尼爾水庫管理局,新疆庫爾勒841000)
希尼爾水庫異構網絡水情監測智能網關的應用
徐繼紅
(新疆塔里木河流域希尼爾水庫管理局,新疆庫爾勒841000)
為實現水庫水情監測中異構網絡的統一管理,該文研究了以E x y no s 4412為核心處理器的智能網關,設計了基于A ndr o i d的智能網關應用軟件。異構網絡管理過程為:配置網關通信接口、數據采集單元、傳感器數據流的字段描述等信息,建立基于X ML的信息配置文件,數據接收線程根據配置文件描述與接收數據流逐字節段比對,實現傳感器數值從數據流中定位、解析、數值轉換得到監測參數實際值,并與監測參數I D組成鍵值關系,最終存儲于SQ L i t e數據庫,提供接口給上層模塊進行實時數據查詢和歷史數據查詢。系統對Zigbee、R S-485、Wi-F i 3種異構網絡進行了試驗,運行結果表明,智能網關實現了監測參數解析、存儲和顯示功能,與配置信息描述實現了對應,滿足水庫水情監測異構網絡的統一管理要求,具有較好的穩定性,可進一步擴展異構網絡。
水庫;網關;網絡;A ndr o i d;數據流
近年來,隨著信息技術的發展,物聯網技術在水庫水情監測方面得到了廣泛應用,通過傳感器獲取水庫水情信息,再通過無線通信或者總線通信兩種方式實現傳輸[1]。研究者們通過部署Zigbee、Wi-F i、藍牙、G SM、R F I D等無線傳感器網絡,以及C A N總線、R S485總線等有線網絡實現對水庫水情信息的監測,再通過3G、G P R S、Wi-F i、以太網等方式接入互聯網,物聯網網關主要用于異構網絡的接入以及協議的轉發[2,3]。
目前,物聯網網關研究大多針對特定的網絡進行開發,各個網絡的數據協議都是在網關應用程序中固化,變更網絡傳輸的數據協議或者調整網絡節點的傳感器接線方式需要重新對網關應用程序進行編程[4]。無線傳感器網絡、總線網絡、互聯網等網絡之間的數據結構、傳輸方式等各不相同,如何實現異構網絡協議的統一轉換以及網絡節點的統一管理是物聯網技術在水庫水情監測中應用的一個核心。本文基于A ndr o i d(安卓)操作系統的水庫水情監測智能網關平臺,該平臺集成高速計算能力的處理器,實現多種異構網絡接口,滿足智能網關廣泛的網絡接入能力和可管理的要求,設計了運行于智能網關的異構網絡管理應用軟件,實現了多種異構網絡信息的統一配置、數據解析、數據存儲、數據顯示功能。在水庫控制中心構建感知端的水情信息監測網絡群組、構建異構網絡管理的智能網關,通過在網關的觸控屏界面進行異構網絡配置以及網絡節點數據傳輸協議配置,實現了智能網關對異構網絡節點中的各水情點信息的存儲與監測功能,研究結果可指導水庫調度向精準化、信息化、智能化發展。
根據水庫水情物聯網的要求,智能網關主要是實現多種水庫水情監測網絡群組及其互聯網接入方式等多種異構網絡的接口和管理,同時還能實現水庫水情監測信息的可視化界面。其功能包括與水庫水情監測網絡群組中部署的數據采集單元通信,實現各種水情傳感器信息參數的采集;同時智能網關可以通過Internet、3G等互聯網方式實現與遠程數據服務器、應用服務器之間的通信接入[5]。
智能網關作為信息集中處理以及異構網絡數據交互的平臺,需要有較快的運算處理速度和豐富的外設資源。本系統的智能網關采用四核Cortex-A9架構的Exynos4412為核心處理器,運行主頻為1.5G Hz,集成1G B內存和4G B非易失存儲器,集成了可視化觸控電容屏,并支持U SB、RS-232、RJ45、Wi-Fi、3G、SP I等接口,并借助多路串口通信接口擴展實現Zigbee、RS-485、藍牙等通信功能,其硬件系統結構如圖1所示。

圖1 智能網關硬件架構
智能網關運行以J a v a為編程語言,采用Ec1iPse+JDK+SDK+ADT+AVD構建客戶端應用軟件的開發環境,實現的主要功能有∶接入到網關的異構網絡配置、異構網絡協議封裝、異構網絡協議解析、數據庫管理、水庫水情參數監測[6]。
3.1異構網絡配置
實現接入智能網關平臺的異構網絡的配置,包括智能網關各個通道的連接屬性和通信波特率以及We b服務器的I P地址等信息。對異構網絡的數據采集單元的基本信息進行定義,包括唯一標識號、所屬通道、名稱、通信數據流。其中,通信數據流是由一串具有實際含義的數值用來描述異構網絡中的監測信息。設定首字節為異構網絡類型標識(本文定義Zigbee網絡數據標識為11(he x),R S-485網絡數據標識為24(he x),Wi-F i協議標識為69(he x)),并根據各個已知的通信協議對字節段進行定義(包括∶字節段長度、監測數值I D、含義、進制含義、偏移量、轉換倍數、單位)。
3.2異構網絡協議封裝
由X M具有跨平臺性的數據表述能力和數據解析工具的多樣化,采用基于X ML實現數據的結構化描述是一種通用且有效的方法。借助A ndr o i d的SD K提供的X ML編程接口,能夠實現異構網絡數據的協議封裝。實現原理∶首先,創建X ML配置文件的Document對象,根據異構網絡配置模塊的輸入信息,創建采集單元基本信息子元素描述。其次,當數據流配置按鈕觸發,則以字節段描述結束為條件,循環地封裝數據流的字節段長度、監測數值I D、含義、進制含義、偏移量、轉換倍數、單位等信息成X ML數據結構的子元素。最終以U T F-8編碼格式寫入X ML配置文件庫。
3.3異構網絡協議解析
Android應用程序通過NI(JavaNativeInterface)對底層內核資源進行調用,實現與C語言編寫的串口通信程序進行交互,本模塊以數據流的方式與匯聚節點通信交互。系統運行過程中實時地對網絡進行監聽,當有數據流產生的中斷發生,取出數據流第1字節的協議標識,查詢X ML配置文件的數據流定義,判斷網絡的類型并運行各自的線程。線程中,根據數據流定義以及系統提供的X ML的編程軟件接口逐字節地查詢數據流,主要原理為∶根據字節段長度檢索數據流對應的數據,判斷“監測數值I D”是否為“nu1 1”,如果為“是”則不進行解析;如果為“否”則根據“進制含義”進行數值轉換,再根據“偏移量”和“轉換倍數”計算出具體含義的數據,最終組合成以“監測數值I D”為ke y,具體含義的數據為va1ue的多個maP(<key,va1ue>)關系表,并調用數據庫管理接口存儲。
3.4數據庫管理
在程序運行初始階段,判斷已經存在數據庫表格中的列字段描述與X ML配置文件的數據結構描述是否一致,不一致則進行列字段描述的匹配。然后,在異構網絡解析的整個持續過程中,周期性地查詢m a P關系表,將每個監測數值I D所對應的數據,存儲到SQLite關系型數據庫表格中。最后,本模塊對所存儲的數據進行統一管理,提供上層訪問接口函數。
3.5水庫水情參數監測
水庫水情參數監測模塊查詢X ML配置文件中對數據采集單元描述,選取“位置”、“監測參數含義”、“監測數值I D”、“單位”等元素的描述,根據預先通過J a v a代碼配置好的界面顯示風格,生成軟件初始界面。并實時地通過調用數據庫管理模塊查詢各個“監測數值I D”所對應的具體數值,結合“單位”的描述對號地填充到界面的指定組件中,實現水庫水情監測參數的實時更新以及歷史數據查詢。
系統在新疆希尼爾水庫進行安裝應用,采用具有Zigbee通信功能的數據采集單元、具有R S-485通信接口的數據采集單元、具有Wi-F i通信功能的圖像監控攝像機構建感知層網絡。Zigbee協調器模塊、R S-485轉R S-232模塊、無線Wi-F i路由器分別作為3種異構網絡的匯聚點,接入智能網關。
4.1異構傳感器網絡群組構建
Zigbee通信系列的數據采集單元采用SZ 06系列的無線數據采集設備。該采集單元具有模擬量輸入采集、Zigbee無線通信等功能。通過計算機的超級終端配置數據采集單元的I D、端口功能、數據傳輸方式以及傳輸速率。在水情監測中,部署數個SZ 06系列數據采集單元,實現對水庫進水量、放水量、水庫水位、閘門開度、降水量、風速、溫度等傳感器信息采集。Zigbee數據采集單元與Zigbee協調器以星型結構拓撲網絡進行通信,Zigbee協調器與智能網關的異構網絡通道接口有線連接,以1m i n為周期主動上傳數據。
R S-485通信接口系列的數據采集單元采用富奧通科技的智能型自動氣象站設備單元,可獲取風向、風速、雨量、空氣溫度、空氣濕度、等數據信息。氣象數據傳輸方式為主動上傳,與智能網關的另一路異構網絡通道接口有線連接,以1m i n為周期主動上傳數據。Wi-F i通信模塊是通過3G無線路由器生成的Wi-F i熱點,實現威視達康網絡攝像機和智能網關的Wi-F i接入并實現二者間數據流的傳輸,并使智能網關通過3G的流量接入互聯網,以2h為周期主動上傳數據。
4.2智能網關應用
水庫水情數據采集單元網絡群組根據各自的通信匯聚流,傳輸至智能網關;程序開始運行后,讀取X ML配置文件初始化傳輸速率并中斷使能,生成異構網絡配置界面和水庫水情參數監測界面;異構網絡配置界面實現數據采集單元各節點配置信息的可視化交互界面,根據數據采集節點在水庫部署情況以及數據流定義進行輸入配置,實現基于X ML數據結構描述的異構網絡數據統一描述,存儲于X ML配置文件庫。當有數據流傳輸時,數據解析模塊將數據流與X ML配置文件的數據流描述進行比對,判斷當前數據流的協議類型,解析得到實際含義的信息,調用數據庫管理模塊存儲至數據庫;水庫水情參數監測界面查詢X ML配置文件庫以及調用數據庫管理模塊對實現信息顯示。
4.3去異構化的水庫水情參數監測
智能網關根據X ML配置文件的各個監測參數描述(<Position>、<meaning>、<sid>、<unit>)的內容以及預先通過軟件編程設定的界面顯示風格,在智能網關的觸控屏上首先填充添加位置信息,再填充監測參數名稱并以該監測參數I D作為關鍵字。實時監測模塊周期性地調用數據庫管理模塊查詢界面的監測參數I D所對應的具體數值并與單位進行字符連接,再對號地填充到監測參數I D對應的數值顯示View組件。歷史數據模塊根據地點選擇生成監測參數名稱的按鈕,再根據時間段選擇以及控件點擊觸發,調用數據庫管理模塊查詢監測參數I D所對應的歷史數值,填充到界面的List-View組件,并根據achartengine編程接口生成歷史數據曲線。其中水情圖像數據由于非10進制表示的形式,屏蔽了歷史數據顯示功能。
4.4性能測試
系統開始運行,運行周期為14d。智能網關實現了部署在水庫水情監測參數的實時更新和歷史數據記錄的查詢。對X ML配置文件和SQ L i t e數據庫中存儲的各個水情監測參數進行分析,智能網關實現了Zigbee、R S-485、Wi-F 3種異構網絡的統一管理,存儲了14d的Zigbee網絡的水情監測參數、R S-485網絡的水情監測參數、以及Wi-F i網絡的水庫圖像監測參數。為期14d運行的智能網關通過異構網絡相關信息的配置,根據配置信息描述實現了異構網絡數據解析、存儲、監測、查詢等功能,運行效果具有較好的穩定性,解決了智能網關廣泛的網絡接入和統一管理的能力,滿足水庫異構網絡水情監測的要求,可為水庫異構網絡水情監測的搭建提供通用平臺,避免智能網關應用軟件二次開發。
(1)對異構網絡通道、數據采集單元基本信息、接收數據流的字節段屬性進行配置,最終生成基于X ML的數據結構描述的配置文件。在異構網絡解析過程中,將數據流與X ML數據結構描述進行逐字節段比對并解析出具體含義數值,實現水庫水情異構網絡監測參數的去異構化存儲。上層模塊調用數據庫管理模塊實現監測參數的實時查詢以及歷史查詢,準確地實現了水庫水情異構網絡的監測參數在智能網關的融合。
(2)異構網絡通道屬性、傳感器采集的數據流協議沒有固化在應用程序中,而是通過智能網關的界面實現動態配置,監測參數解析、存儲和顯示功能與配置信息描述實現了對應,避免應用軟件的多次開發,滿足水庫異構網絡統一管理的要求。
(3)智能網關在水庫進行了3種異構網絡的部署并實現了統一管理的功能,未能覆蓋所有能夠運行于水庫水情的網絡,未來需對更多類型的網絡以及實現特定功能的通信協議數據流進一步進行研究,以提高系統的通用性。
[1]房國良,喻松陽.石佛寺水庫樞紐一期工程水情自動測報系統建設相關問題探討[J].水利技術監督,2009(04)∶30-32.
[2]王暄.庫塔東干渠工程水情自動測報系統設計[J].水利技術監督,2010(06)∶58-61.
[3]何惠良,王永明.1 nm a r s a t-C在水情自動測報系統中的應用[J].水利技術監督,2002(02)∶38-40.
[4]張建國.渾河閘水情自動化遙測系統技術研究[J].水利規劃與設計,2015(08)∶1-3.
[5]賈瑞紅.水情自動測報系統在水利工程中的應用研究[J].水利規劃與設計,2014(03)∶21-23.
[6]富慶范,肖佳華.青草沙水庫綜合自動化系統設計與實現[J].水利規劃與設計,2013(12)∶77-81.
T P 393
:B
:1672-2469(2016)05-0047-03
D0I∶10.3969/j.i s s n.1672-2469.2016.05.019
2015-03-10
徐繼紅(1970年—),女,技術員。