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中的粗线条表示。
上一页 [1] [2] [3] 下一页