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