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