无线传感器网络(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的无线传感器网络的可视化提供了技术基础和应用方法,具有重要的研究和应用价值。在此系统的基础上,后续的工作将可以在可扩展性等方面进行发展,并结合实际应用,增加更多的功能,满足不同的应用场合。