基于Web的無線傳感器網(wǎng)絡可視化管理系統(tǒng)的設計與實現(xiàn)
摘要:無線傳感器網(wǎng)絡廣泛部署于工業(yè)、農業(yè)、醫(yī)療及多種場景。面向網(wǎng)絡應用的信息管理需求,設計并實現(xiàn)了一種基于Web的無線傳感器網(wǎng)絡可視化管理系統(tǒng)。傳感器節(jié)點采集用戶感興趣的對象信息,通過多跳方式匯聚至網(wǎng)關,網(wǎng)關利用以太網(wǎng)或GPRS/CDMA等多種Internet接入方式將信息傳送給網(wǎng)絡服務器。用戶利用終端設備,可跨平臺訪問此管理系統(tǒng),執(zhí)行對IPv6無線傳感器網(wǎng)絡狀態(tài)信息和傳感信息的動態(tài)實時檢測,并可對節(jié)點設備進行遠程控制與管理。
關鍵詞:無線傳感器網(wǎng)絡;可視化;管理系統(tǒng);監(jiān)測;控制
0 引言
無線傳感器網(wǎng)絡(Wireless Sensor Network,WSN)是由大量傳感器節(jié)點通過無線通信方式組成的一個多跳自組織網(wǎng)絡系統(tǒng)。無線傳感器節(jié)點可以將節(jié)點覆蓋區(qū)域內的傳感信息通過無線多跳路由方式傳送到接收者,也可以通過反向路由方式傳送控制命令,使受控對象按照指令執(zhí)行相應操作。無線傳感器網(wǎng)絡極大地提高了人類對世界的認識能力和改造能力,在國防軍事、環(huán)境檢測、農業(yè)生產、醫(yī)療衛(wèi)生、智能家居等領域扮演著越來越重要的角色。
本文以室內環(huán)境檢測IPv6無線傳感器網(wǎng)絡為研究背景。系統(tǒng)由傳感器節(jié)點和網(wǎng)關設備組成。每個傳感器節(jié)點既可以發(fā)送本身的傳感信息,也可以路由轉發(fā)其他傳感器節(jié)點信息。監(jiān)測區(qū)域內的傳感信息由傳感器節(jié)點收集,通過多跳路由方式匯聚到網(wǎng)關,并由網(wǎng)關通過以太網(wǎng)或GPRS/CDMA等互聯(lián)網(wǎng)接入方式傳送到網(wǎng)絡服務器。
由于無線傳感器網(wǎng)絡中的傳感器節(jié)點會在短時間內采集大量的傳感信息,直接查詢和處理這些大量的傳感信息非常不便。因此,有必要設計一個方便、友好、高效的無線傳感器網(wǎng)絡可視化管理系統(tǒng)。本文設計實現(xiàn)了一種基于Web的無線傳感器網(wǎng)絡可視化管理系統(tǒng)。通過本系統(tǒng),用戶不僅可以實時地以曲線圖或數(shù)據(jù)表的形式查看溫度、濕度等多種傳感信息,動態(tài)拓撲路由變化信息,還可以對傳感器節(jié)點和空調等設備實現(xiàn)遠程控制。
1 主流WSN可視化技術介紹
當前無線傳感器網(wǎng)絡的研究熱點主要集中在網(wǎng)絡體系架構、網(wǎng)絡通信協(xié)議、網(wǎng)絡安全管理等方面,針對傳感信息可視化方面的研究相對較少。到目前為止,針對無線傳感器網(wǎng)絡設計的可視化工具主要有SpyGlass,Surge Network Viewer等。SpyGlass使用多層次的體系結構,是一個模塊化的、易于擴展的無線傳感器網(wǎng)絡可視化工具。其體系結構由傳感器網(wǎng)絡、網(wǎng)關、可視化軟件三部分組成。網(wǎng)關使用TCP/IP通信協(xié)議將收集到的傳感信息提供給遠程計算機的可視化軟件。SurgeNetwork Viewer是Crossbow公司使用實現(xiàn)的無線傳感器網(wǎng)絡可視化工具。通過Surge Network Viewer用戶可以監(jiān)測傳感器網(wǎng)絡和分析mesh網(wǎng)絡的性能。
上述無線傳感器網(wǎng)絡可視化工具雖然在一定程度上可以完成傳感網(wǎng)絡信息的管理功能,但由于建立在特定的應用環(huán)境基礎上,其通用性、可移植性比較差,不能直接應用在其他平臺上。針對這些局限性,考慮到當前瀏覽器/服務器(Browser/Server,B/S)模式可以隨時隨地進行查詢、瀏覽等業(yè)務處理分布性特點以及業(yè)務擴展方便、維護方便等優(yōu)點,開發(fā)了基于Web的無線傳感器網(wǎng)絡可視化管理系統(tǒng)來實現(xiàn)傳感信息和網(wǎng)絡拓撲信息的可視化。通過本系統(tǒng)提供的傳感信息、拓撲信息、節(jié)點配置信息和節(jié)點狀態(tài)信息的動態(tài)顯示和管理平臺,可以較好地適應無線傳感器網(wǎng)絡復雜多變的部署環(huán)境。
2 基于Web的WSN可視化管理系統(tǒng)體系結構
基于Web的無線傳感器網(wǎng)絡可視化管理系統(tǒng)體系結構包括服務器端和客戶端兩部分,如圖1所示。
考慮到傳感器節(jié)點處理能力及存儲能力等限制,需要及時將采集到的傳感信息傳送給網(wǎng)絡服務器,由網(wǎng)絡服務器來統(tǒng)一存儲和管理,并向用戶提供所需的可視化管理服務。在客戶端,用戶可以使用計算機、移動終端等終端設備通過互聯(lián)網(wǎng)訪問網(wǎng)絡服務器的方式隨時隨地進行對無線傳感器網(wǎng)絡的管理。
2.1 服務器端
服務器端主要包括Web服務器、數(shù)據(jù)發(fā)送模塊、數(shù)據(jù)接收模塊、數(shù)據(jù)服務模塊、數(shù)據(jù)管理模塊。服務器端各模塊提供的功能如下:
Web服務器提供互聯(lián)網(wǎng)信息瀏覽服務,是服務器端的核心部分;數(shù)據(jù)發(fā)送模塊將控制命令發(fā)送到網(wǎng)關,由網(wǎng)關解析并轉發(fā)到相應的傳感器節(jié)點;數(shù)據(jù)接收模塊使用套接字通信技術接收網(wǎng)關傳送的傳感信息或控制命令的反饋信息,解析并交給數(shù)據(jù)管理模塊;數(shù)據(jù)服務模塊是基于Web服務器基礎上實現(xiàn)的,接受客戶端的請求進行處理,再將處理結果格式化輸出給客戶端;數(shù)據(jù)管理模塊主要指一個關系型數(shù)據(jù)庫,進行數(shù)據(jù)的組織、存儲和管理。
2.2 客戶端
在B/S模式中客戶端就是瀏覽器,是用戶直接面對的可視化管理平臺,包括拓撲路由信息模塊、傳感信息模塊、空調控制模塊等??蛻舳烁髂K提供的功能如下:
拓撲路由信息模塊動態(tài)顯示當前無線傳感器網(wǎng)絡的傳感器節(jié)點及其狀態(tài)信息和拓撲路由信息。通過該模塊,用戶可以實時查看當前網(wǎng)絡的拓撲變化,更好地管理網(wǎng)絡。傳感信息模塊以動態(tài)數(shù)據(jù)表、動態(tài)曲線圖等形式顯示溫度、濕度、光強等傳感信息。用戶可以對傳感信息進行排序、篩選等操作,以所需方式查看傳感信息。節(jié)點及空調控制模塊能控制節(jié)點的工作模式和狀態(tài),如改變節(jié)點的采集信息速率、控制節(jié)點進行休眠等。同時,還可以通過節(jié)點控制空調設備,如控制空調的工作狀態(tài)、工作模式等。
3 基于Web的WSN可視化管理系統(tǒng)設計及其實現(xiàn)
3.1 系統(tǒng)層次結構
根據(jù)功能,可以將本系統(tǒng)劃分為數(shù)據(jù)層、業(yè)務層和表現(xiàn)層三層結構,如圖2所示。
數(shù)據(jù)層包括數(shù)據(jù)庫或數(shù)據(jù)源以及數(shù)據(jù)接入部分,位于最底層;業(yè)務層是系統(tǒng)的核心業(yè)務部分,負責業(yè)務邏輯實現(xiàn),位于中間層,是數(shù)據(jù)層與表現(xiàn)層的連接橋梁;表現(xiàn)層指用戶交互界面,位于最上層。[!--empirenews.page--]
3.2 數(shù)據(jù)收發(fā)模塊設計
作為系統(tǒng)的接人部分,本模塊屬于系統(tǒng)的數(shù)據(jù)層,是連接無線傳感器網(wǎng)絡和可視化管理系統(tǒng)的橋梁。本系統(tǒng)通過Socket套接字通信技術完成網(wǎng)關與數(shù)據(jù)收發(fā)模塊間的通信。這里采用資源消耗少,沒有擁塞控制的UDP協(xié)議保證數(shù)據(jù)的收發(fā)速率,滿足本系統(tǒng)的實時性要求。套接字通信技術明確將客戶與服務器區(qū)分開來,且可以實現(xiàn)多個客戶與服務器的連接。本系統(tǒng)把數(shù)據(jù)收發(fā)模塊作為套接字通信的服務器來監(jiān)聽一個端口,可以與多個子網(wǎng)絡進行通信。
3.3 數(shù)據(jù)管理模塊設計
本系統(tǒng)使用MySQL數(shù)據(jù)庫來存儲數(shù)據(jù)。為了方便數(shù)據(jù)管理、滿足不同需要,設計了如下三種信息表:
(1)傳感器節(jié)點信息表,包括當前無線傳感器網(wǎng)絡中傳感器節(jié)點的詳細信息,如地址信息、狀態(tài)信息等。其結構如下:
addr_info=(I,A1,A2,A3,A4,T)
其中:I為節(jié)點ID;A1為節(jié)點類型;A2為節(jié)點IPv6地址;A3為父節(jié)點地址;A4為節(jié)點狀態(tài);T為入網(wǎng)時間。
(2)路由信息表,包括當前無線傳感器網(wǎng)絡拓撲路由信息,是了解網(wǎng)絡拓撲結構的重要依據(jù)。為了詳細了解節(jié)點傳感信息的詳細傳送路徑,本信息表不僅存儲節(jié)點的下一跳,還存儲節(jié)點的下i跳,其中i=0,1,2,…,其最大值等于max_hop。其結構如下:
route_info=(I,Bi,T)
其中:I為節(jié)點ID;B0為節(jié)點IPv6地址;Bi為節(jié)點的下i跳節(jié)點地址,i=0,1,2,…,max_hop;T為路由信息更新時間。
(3)傳感信息表,存儲監(jiān)測區(qū)域中的傳感信息。包括溫度信息表,濕度信息表,光強信息表等,還可以根據(jù)應用需求增加相應的信息表。其信息表結構類似,這里以溫度信息表舉例:
temperature_info=(I,C1,C2,T)
其中:I為節(jié)點ID;C1為節(jié)點IPv6地址;C2為溫度傳感信息;T為溫度采集時間。
3.4 數(shù)據(jù)服務模塊設計
本模塊屬于系統(tǒng)的業(yè)務層,主要提供系統(tǒng)邏輯運算和業(yè)務支持等服務,是使用Java技術設計實現(xiàn)的。這里設計的核心類SystemService類,一方面可以分析客戶端的服務請求類型,并根據(jù)服務請求類型,使用JDBC技術動態(tài)訪問數(shù)據(jù)庫獲取信息進行處理,并將處理后的結果以List集合或XML文件形式傳回給客戶端,來響應客戶端的服務請求。另一方面還可以通過創(chuàng)建線程定時查詢的方式主動將告警信息發(fā)送給客戶
端,使用戶及時了解當前無線傳感器網(wǎng)絡狀態(tài),使其做出相應的處理。其工作流程如圖3所示。
3.5 數(shù)據(jù)顯示模塊設計
數(shù)據(jù)顯示模塊采用的Flex應用技術,能展現(xiàn)出獨一無二的圖像、動畫和音像等多媒體技術,向用戶提供更加美觀的、全動態(tài)的可視化操作界面。Flex具有分布式、跨瀏覽器等優(yōu)點,不管是Windows系統(tǒng)還是Linux系統(tǒng),只要有Flash Player插件的瀏覽器,可以通過互聯(lián)網(wǎng)隨時隨地使用本系統(tǒng)。
數(shù)據(jù)顯示模塊的工作流程如圖4所示。用戶界面請求可視化服務,進一步將數(shù)據(jù)對象放置到事件中廣播出去。監(jiān)聽中的前端控制器接收到廣播事件后找出相應的業(yè)務邏輯處理模塊,并由業(yè)務邏輯處理模塊使用RemoteObject組件對數(shù)據(jù)服務模塊中的方法進行遠程調用。業(yè)務邏輯處理模塊接收到數(shù)據(jù)服務模塊返回的結果信息存儲到數(shù)據(jù)服務模型中的數(shù)據(jù)對象中,并共享結果信息,供不同的用戶界面顯示。
4 基于Web的WSN可視化管理系統(tǒng)性能測試
為了驗證系統(tǒng)的有效性,搭建了如圖5所示的測試環(huán)境。
測試環(huán)境中,節(jié)點7919是網(wǎng)關;節(jié)點6101,6102為路由節(jié)點,只負責傳感信息的轉發(fā),并不收集傳感信息;節(jié)點7010,7030,7050,7070,7090為五個終端節(jié)點,負責收集監(jiān)測區(qū)域內的傳感信息,其傳感信息可以通過多個路由節(jié)點的轉發(fā),并通過網(wǎng)關到達網(wǎng)絡服務器。其中節(jié)點7090位于705房間內,可以控制此房間內的一臺空調,其控制信息的傳輸路徑如圖5中的粗線條表示。[!--empirenews.page--]
4.1 拓撲信息的可視化
拓撲信息的可視化包括可視化當前網(wǎng)絡的節(jié)點和節(jié)點之間的連接關系,是分析和了解當前網(wǎng)絡拓撲路由情況的重要方法。通過拓撲信息的可視化,用戶可以直觀了解當前網(wǎng)絡狀態(tài),包括節(jié)點之間的位置關系、節(jié)點傳感新信息的傳送路徑和網(wǎng)絡分簇情況,分析出潛在的規(guī)律性和網(wǎng)絡的異常性,可以迅速地做出相應的處理。
拓撲信息的可視化分三部分實現(xiàn)。首先從傳感器節(jié)點信息表addr_info中獲取當前網(wǎng)絡中的節(jié)點地址信息及其信息。然后從路由信息表route_info中獲取節(jié)點傳感信息的傳送路徑和節(jié)點之間的連接關系信息,并根據(jù)節(jié)點信息和路由信息格式化存儲在可擴展標記語言XML文件中。業(yè)務層的數(shù)據(jù)服務模塊根據(jù)當前網(wǎng)絡的拓撲變化情況實時地更新此文件,滿足拓撲信息的動態(tài)可視化要求。最后表現(xiàn)層的數(shù)據(jù)顯示模塊根據(jù)生成的XML文件,生成拓撲路由圖。
根據(jù)測試環(huán)境生成的實際網(wǎng)絡拓撲圖如圖6所示。圖6中,終端節(jié)點7070和7090采集到的傳感信息通過路由節(jié)點6101,到達網(wǎng)關7919,這部分成為一個簇,且其簇內路由用線條A1,A2,A3表示。同理,終端節(jié)點7010,7030,7050分別通過路由節(jié)點6102最后到達網(wǎng)關7919,成為另一個簇,其簇內路由則用線條B1,B2,B3,B4表示。最后網(wǎng)關7919的數(shù)據(jù)都發(fā)送到網(wǎng)絡服務器,其通信線路用線條C表示。
4. 2 傳感信息的可視化
在拓撲路由圖中,雙擊方式選擇一個節(jié)點,即可看到此節(jié)點監(jiān)測區(qū)域內的溫度、濕度、光強等傳感信息。圖7描述了IPv6地址3ffe:3240:8007:1209:9070:6392:4700:0的傳感器節(jié)點(圖5中的節(jié)點7090)采集到的溫度信息的動態(tài)曲線圖及動態(tài)數(shù)據(jù)表,可以直觀地看到其監(jiān)測區(qū)域內的溫度信息。在曲線圖中。x軸代表時間,y軸代表溫度值,其單位為℃。
4.3 對空調的控制
在拓撲路由圖中,選擇一個節(jié)點,可以看到如圖7所示的節(jié)點信息面板,包括節(jié)點的節(jié)點類型、地址信息、狀態(tài)信息及其控制范圍內的空調設備信息。如圖5的系統(tǒng)測試環(huán)境中,節(jié)點7090是一個空調控制節(jié)點,可以控制705房間內的一臺空調。打開如圖8所示的空調控制面板,用戶可以遠程控制空調,如進行開啟和關閉、加熱或制冷等模式設置、溫度設置、門限設置等操作。
5 結語
本文介紹了無線傳感器網(wǎng)絡可視化方面的研究進展,并根據(jù)實際應用與需求,設計并實現(xiàn)了基于Web的無線傳感器網(wǎng)絡可視化管理系統(tǒng),描述了其架構與層次結構。本系統(tǒng)通過引入Flex,Java等技術,有效解決了可視化的實用性、動態(tài)性等問題。通過本文的研究,為基于
Web的無線傳感器網(wǎng)絡的可視化提供了技術基礎和應用方法,具有重要的研究和應用價值。在此系統(tǒng)的基礎上,后續(xù)的工作將可以在可擴展性等方面進行發(fā)展,并結合實際應用,增加更多的功能,滿足不同的應用場合。