基于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所示结构。
Device_Info表用于构造生成节点树形逻辑视图,节点树的叶子节点与ZigBee无线传感器网络的终端节点一一对应。节点树形逻辑视图的生成达到了将无线传感器网络上数据的逻辑视图和网络的物理实现分离的目的。
使用.net Framework2.0的TreeView控件,绑定节点关系表Device_Info,递归生成节点树。
2.2 数据的查询与显示
运行于客户端浏览器的Web页面可以方便用户查询各个终端节点上传的数据。Web页面采用上方固定,左侧嵌套的框架结构。上方为Head-form.aspx页面,用于功能菜单的选择。
(1)功能菜单选择。选择“即时数据”菜单,下方子框架执行realtemp.html页面,若选择“历史数据”菜单,则下方子框架执行history.html页面。realtemp.html和history.html都为左侧固定的框架结构,左侧重用TreeShowPage.aspx页面,Tree-ShowPage.aspx页面用于显示节点树形逻辑视图;
(2)若进行即时数据查询,勾中节点树叶子节点的Checkbox,可选择多个,右侧子框架执行Re—altemper.aspx页面;若进行历史数据查询,勾中节点树叶子节点的Checkbox,可选择多个,然后选择日期范围,右侧子框架执行HistoryTemper.aspx页面;
(3)遍历节点树,统计所有Checkbox为选中状态的叶子节点并传值;
(4)根据获取的页面间传送的值进行查询,并分页显示查询结果。
查询即时数据主要算法如下:
查询历史数据与查询即时数据类似,不同之处是多了一个日期范围的判断。使用.net Frame-work2.0的GridView控件,绑定查询结果集,可以分页显示结果。
3 测试结果
如图3所示,页面上方为功能菜单选择子框架页面,下方左侧子框架页面为设备节点树形视图,下方右侧为数据显示框架页面。选取MAC地址分别为E280、1480、0703的3个终端节点,查看它们上传温度数据的详细信息。数据采集频率大约为两分钟一次,实际应用中可根据需要设置数据采集的时间间隔。用户可以方便地查看3个终端节点工作的具体情况,为对监测环境的分析提供比较直观的参考数据。
4 结束语
为解决当前大多数ZigBee无线传感器网络应用层数据的监测及管理系统受空间限制的问题,设计了一种基于B/S结构的数据管理平台,它将网络的物理实现和数据的逻辑视图有效的分离,实现了远程终端浏览器在线监测终端节点数据的功能。同时该数据管理平台交互性良好,能够直观地反映每个终端节点的工作情况,为用户进一步分析提供依据,它的通用性强,可以适当调整数据库结构,设计出满足自身需求的客户端软件。总的来说,该数据管理平台普遍适用于基于ZigBee的无线传感器网络。