基于ZigBee的无线传感器网络数据管理平台
1 数据管理平台设计
数据管理平台允许用户在客户端浏览器上实时监测来自ZigBee无线传感器网络传来的数据,工作原理,如图l所示。文中搭建的ZigBee无线传感器网络采用TI公司的CC2430芯片以及Figure8 Wireless ZigBee Protocol Stack协议栈来实现,采用树形(Cluster一Tree)组网方式,网络节点包括协调器、路由器和终端节点,协调器负责收集各终端节点上传的数据。
数据管理平台分为两大部分:一是数据的采集、分析与计算,由通信计算机完成这部分工作;二是运行于客户端浏览器的Web页面,主要完成数据的查询及显示。这种基于B/S结构设计的数据管理平台,结合了asp.net在Web应用上的优势,很好的实现了远程终端浏览器在线监测、分析和处理传感器节点数据的功能。
协调器发布广播,要求终端节点上传各自的信息数据,终端节点在收到协调器下发的命令后,将传感器采集到的数据通过路由器转发或者直接发送给协调器。终端节点上传数据包的结构为:包头+命令类别+数据内容+包尾,数据包为16进制编码,如图1所示。
协调器通过串口与通信控制计算机连接,通信控制计算机首先完成数据采集工作。数据采集采用定时响应模式,采集周期时间可以预先设定,每隔一个采集周期,协调器将收集到的数据通过串口传输到通信控制计算机。通信控制计算机接下来将数据进行分析、计算,处理后的数据再通过以太网传输到数据库服务器上,写入自定义的数据库。
运行于客户端浏览器的Web页面是基于.net框架开发的,开发工具主要有Visual Studio 2005和SQL Server 2000。Web页面主要功能模块包括即时数据、历史数据、设备管理、用户管理。即时数据模块允许用户查看当天各个终端节点上传的数据,历史数据模块允许用户选择时间范围查看各个终端节点上传的数据,设备管理模块允许用户对设备节点进行重命名、新增、删除操作,用户管理模块允许用户更改密码,管理员用户可以进行新增用户、删除用户、授予权限等操作。普通用户不具备设备管理、用户管理权限。
2 客户端软件设计
2.1 数据库设计
根据需要,在数据库的设计中,主要包含以下数据表:Station_Info、Ark_Info、Node_Info、Device_Info、User_Info、Temperature_Record。Station_Info为站点信息表,Ark_Info为监测点信息表,Node_Info为终端节点信息表,它们的数据库关系图,如图2所示。Device_Info为节点关系表,User_Info为用户信息表,Temperature_Record为温度日志表。
数据库的设计比较繁杂,在这里仅以节点关系表I)evice_Info为例进行说明。Device_Info表能大致但不能严格地反映出ZigBee无线传感器网络的拓扑结构,这是由于终端节点位置的关系,上报数据的过程中,有可能要经过二级以上路由转发到协调器。如表2所示,l#监测点是指实际的地点,它下面的各个终端节点上报数据经过的路径可能并不完全一致,也即是说实际的网络拓扑可能会更加复杂一些。在实际应用中,并不需要十分关注网络的拓扑结构,更多的关注点是终端节点上传数据的实际情况。因此,在设计节点关系表Device_Info时,不用把ZigBee无线网络的每个节点都反映出来,这样可以进行简化设计,它的结构类似于,如表2所示结构。
评论