基于ASP.NET技术的无线传感器网络监控系统的设计
2014-05-16朱伟凯尹稚淳
朱伟凯,李 航,尹稚淳
(沈阳师范大学 科信软件学院,沈阳 110034)
0 引 言
无线传感器网络是由大量低成本且具有传感、数据处理和无线通信能力的传感器节点通过自组织方式形成的网络[1]。网络一般位于远程无人值守环境下的参数测量,其恶劣的工作环境和随机分布的特征使得网络中极易发生故障[2]。故障分为部件级故障(传感器损坏、电量低、通信模块损坏等等)和节点级故障(节点无法连入网络)。文章的选题是基于国家自然科学基金项目“无线传感器网络中基于时间序列相关性的低能耗数据获取方法研究”,在数据获取方法测试的过程中,发现网络节点缺乏一定稳定性,容易出现故障,为了能统一管理故障,对无线传感器网络的节点进行实时监控,准确跟踪节点的工作状态,对故障进行实时监测、诊断与预报,使其具有足够的精确性、鲁棒性和实时性,设计并实现了一款基于ASP.NET技术的无线传感器网络监控系统。
另外针对无线传感器故障的研究,国内外提出了还多的解决方案,总体上分为集中式故障检测、分布式故障检测,而这些故障检测方式都是通过节点的自诊断实现的。
1 研究现状
目前,国内外已经开发出了几种无线传感器网络监控平台后台软件,如中国科学院计算所的SNAMP[3],美国Crossbow公司的Surge Network Viewer、TinyViz和 MOTE-VIEW[4],德国 Lubeck大学的SpyGlass[5]等,但是这些平台都是需要下载、需要安装的专用软件;更有COSM和Yeelink嵌入式云服务平台等。而Web应用程序是一种可以通过Web访问的应用程序。它的最大的优点是用户很容易访问应用程序,只需有浏览器即可。这也模式也是 Web程序一般模式,即浏览器/服务器(Browser/Server,简称为B/S)模式。而近年来将无线传感器网络与 Web技术整合起来越发成为网络应用的一种趋势。但是对于Web技术和无线传感器网络监控系统的结合,研究才刚刚起步,还有很大的探讨研究空间。而本系统采用B/S模式,以成熟的ASP.NET作为开发技术,可以异地浏览以及灵活的采集信息,能够方便的达到系统预期目标。
2 系统开发需求和技术分析
2.1 系统需求分析
根据目前国内外无线传感器网络监控系统的研究现状,大多数研究关于网络拓扑的显示,而鲜有针对故障检测和诊断的研究和实现的,而本设计主要针对的是节点故障的检测和诊断。在网络拓扑显示界面上,当某个节点出现故障时,节点颜色会变成灰色的,同时系统会显示提示信息。至于故障的诊断则可根据表1作出判断。
表1 故障诊断分析表
针对以上3种故障有不同的判断机制。1)传感器损坏的情况,各种类型的传感器采集信息是和真实环境一致的,都会有一个阈值。其诊断思想为:把搜集到的信息和阈值做比对,同时还会和邻居节点采集的信息进行比对,最终综合考虑传感器模块是否出现故障。当采集的值在这个阈值范围外,则判断为故障。2)电量,当网络中出现节点电量低于低电量的阈值时,则视其为无效节点;若此节点电量突然变为零,则视其为死亡节点。诊断思想具体为:监控系统实时监测每个节点的能耗,通过把收到的能耗信息和能耗阈值比对,来进行判断。3)通信故障,当系统开始运行工作,监控系统会通过串口通信协议来遍历整个网路的节点,把节点信息以数据集合的形式上传到数据库。每次系统刷新时,都会和数据集合进行比对,若发现某个节点在数据集合中没有初始数据,那么可判断此节点出现故障。然后再根据监控系统中的能耗监测来判断此节点是否为能耗故障,若不是则判断为通信故障。
2.2 系统开发技术分析
系统开发工具:Microsoft Visual Studio 2012,后台数据库:SQL Server 2012,采用ASP.NET技术,主要使用C#语言编写应用程序。系统根据软件体系的结构,结合本系统的设计特点,采用B/S(Browser/Server)模式,即浏览器和服务器模式。
B/S模式是一种基于Web的协同计算模式,将整个业务应用划分为3层:表示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。B/S模式的3层结构图如图1所示。
图1 B/S模式3层架构示意图
B/S模式中,表示层为客户端表示层负责与用户交互,这一层只保留一个Web浏览器,用于显示数据和接收用户输入的数据,为用户提供一个交互式操作的界面。业务逻辑层是系统架构中核心价值的部分,主要负责业务规则的制定、业务流程的实现等与业务需求有关的系统设计。数据层是通过ADO.NET操纵数据位逻辑层提供数据服务[7],其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或者XML文档。
在这种结构下,用户工作界面通过Web浏览器来实现,浏览器靠HTTP协议与服务器进行通信,将服务器传回的HTML文档内容展示给用户[8]。B/S模式的主要优点为:开发人员可以只关注整个结构中的某一层,方便维护和升级。层与层之间的依赖性变低,独立性更强。只需要改变某一层的内容,即可实现所有数据的同步更新。对用户来说,使用起来方便。用户可以任何地点使用Web应用程序,可以随时进行查询、浏览、操作等处理。业务扩展简单方便,通过增加网页即可增加服务器功能[8]。
3 系统功能详细设计
3.1 系统总体设计
系统整体框架如图2所示。本系统包括登陆模块和UI界面以及4个功能子模块:导航模块,功能包括载入传感器网络拓扑、刷新、删除;网络拓扑模块,用于显示网络拓扑,用控件Diagram实现;节点信息模块,用于显示单个节点的信息,用控件DataGrid实现,节点能耗模块,用于显示单个节点的能耗信息,用控件ChartView实现。
本系统的主要功能有:用户注册、登录、修改密码;主界面每10s自动刷新(刷新时间可调),以便获得当前网络的最新数据,保证系统的及时性;当节点出现故障时,主界面的网络拓扑图中对应的节点图标变成灰色(见图3)。
图2 系统整体框架
图3 系统UI界面
3.2 数据处理流程图
无线传感器网路监控系统整体功能的设计的核心:应用数据绑定。各功能模块主要通过控件和数据绑定实现数据的显示、更新等。其中节点信息和能耗信息上传到云端为扩展功能。数据处理流程图如图4所示。
3.3 系统数据库设计
图4 数据处理流程图
由于本项目中组成的传感器网络包含大约50个节点,节点组网采用基于备份节点的无线传感器网络拓扑控制算法[9]。每个簇中包含父节点和子节点,每个子节点采取信息,然后通过特定的通信方式把信息传给父节点,由父节点传送给汇聚节点,最后再由汇聚节点把信息传送给终端设备,最终在这个网络监控系统界面上显示出来。基于无线传感器网络的这种结构,数据库中共设计了4张表,dbo.Nodes(节点表)、dbo.NodesTypes(节点类型表)、dbo.Powers(节点能量表),Admin表(管理员信息表)。
1)节点表和节点类型表是在UI界面中显示无线传感器网络拓扑结构用到的,主要是节点的序号、地址、描述、类型以及节点搜集的信息。如表2所示,描述了dbo.Nodes表的详细信息。如表3所示,描述了dbo.NodesTypes表的详细信息。
表2 dbo.Nodes表
表3 dbo.NodesTypes表
2)节点能耗表是在UI界面中显示单个节点一段时间的能耗值的坐标图所用到的表,主要记录当前时间和当前节点的能量值。如4所示,描述了dbo.Powers表的详细信息。
表4 dbo.Powers表
3)管理员信息表主要作用:是记录管理员登录服务器端主系统所用到的信息,主要包含用户名和登录密码,同时主键采用管理员用户ID。如表5所示,描述了Admin表的详细信息。
表5 Admin表
4 结 语
本文通过应用ASP.NET技术设计和实现的无线传感器网络监控系统,不仅实现了传感器网络的实时监控,让用户可以随时随地浏览传感器网络状况信息,保证无线传感器监控的实时性。对于网络中出现的故障,用户可以作出实时诊断并及时的采取相应的故障修复策略。本课题虽然是基于国家自然科学基金项目“无线传感器网络中基于时间序列相关性的低能耗数据获取方法研究”设计的,但是实际应用并不局限于此,还具有很大扩展性,例如可以扩展云端与移动设备的交互等。此系统根据不同项目不同的需求,具有一定的通用性,并且还在不断完善之中。
[1]彭力.无线传感器网络技术[M].北京:冶金工业出版社,2011:1-26.
[2]彭宇,宋佳,彭喜元.无线传感器网络故障管理架构设计方法概述[J].电子测量与仪器学报,2009,23(11):1-7.
[3]YANG Y,XIA P,HUANG L,et al.SNAMP:A multi-sniffer and multi-view visualization platform for wireless sensor networks[C]∥Proceedings of Industrial Electronics and Applications.Singapore,2006:1523-1526.
[4]MARTIN T,JOSE S.MOTE-VIEW:A sensor network monitoring and management tool[C]∥Proceeding of Embedded Networked Sensors,2005:11-18.
[5]BUSCHMANN C,PFISTERER D,FISCHER S,et al.SpyGlass:A Wireless Sensor Network Visualizer[J].ACMSIGBED Review,2005,2(1):1-6.
[6]沈泽刚,秦玉平.《Java Web》编程技术[M].北京:清华大学出版社,2010.
[7]史建江,李世银,黄兴,等.基于 ASP.NET的信息管理系统设计与实现[J].微计算机信息,2008,24(2/3):32-34.
[8]叶仕平.基于ASP.NET的图书馆志愿者考勤系统[J].计算机与现代化,2012(11):108-112.
[9]李尚鹏,刘瑞,赵永翼.一种基于备份节点的无线传感器网络拓扑控制算法[J].沈阳师范大学学报:自然科学版,2012,30(3):369-373.
[10]杨娇.基于ASP.NET的教师信息管理系统的设计与实现[D].南京:南京邮电大学,2013.
[11]骆晓娟,许力.基于 AJAX和B/S构架的实时监控系统[J].工业控制计算机,2013,26(4):64-65.
[12]朱晓骏,董黎刚.关于B/S模式下对串口实时监控的研究[J].杭州电子科技大学学报,2011,31(5):163-166.
[13]黄凯漩.基于B/S模式远程监控系统的研究与实现[D].南京:南京大学,2011.
[14]郝兴伟.Web技术导论[M].2版.北京:清华大学出版社,2009:312.
[15]焦伟平,陈向东,徐良.基于 WSN的宿舍监控系统设计[J].通信技术,2012,45(5):77-82.