您的位置:首页 » 技术交流 » 行业期刊 » 2015第2期 » 正文

基于MVC和EF的多回路无线照明控制系统软件设计

放大字体  缩小字体 发布日期:2015-08-06  来源:常州市城市照明管理处1 (213022) 苏州大学计算机科  作者:孙晨晖1 谢忠明2  浏览次数:2777
核心提示: 随着智能照明技术的发展,以及绿色照明的提出,照明节能已经成为照明行业研究发展的重要方向。在.NET平台上设计和描述了MVC与Entity Framework框架在多回路无线照明控制系统软件中的应用方法。对多回路无线照明控制器进行设置以及使用前后的能耗进行监控、对比和分析,为多回路照明控制器的节能性能分析提供详细的数值依据。

摘 要   随着智能照明技术的发展,以及绿色照明的提出,照明节能已经成为照明行业研究发展的重要方向。在.NET平台上设计和描述了MVCEntity Framework框架在多回路无线照明控制系统软件中的应用方法。对多回路无线照明控制器进行设置以及使用前后的能耗进行监控、对比和分析,为多回路照明控制器的节能性能分析提供详细的数值依据。

关键词   MVC Entity Framework 节能监测 无线照明控制

 

由于近几年来,石油、煤矿、木材等能源资源消耗过度,引起“地球温室效应”及环境污染等状况的灾害,世界各国纷纷掀起一场“节能减排、低炭生活”的热潮,其中“节能照明”就是大家所关注的一个重点。“节能照明”就是在满足正常照明需求的前提下,最大限度的节省能耗。

城市照明节能措施主要有两个方面:节能管理措施和节能技术措施。节能管理措施主要是采用智能照明控制系统,根据具体的使用环境和使用要求出发,合理的进行开关灯或降功率,通过科学的控制达到节能的目的。节能技术措施主要是利用新技术、新材料来节能,其手段和方法较多[1]

基于云平台的多回路无线照明控制系统,是在分析和调研道路照明与景观亮化照明差异化功能需求的基础上,借助物联网实现了针对景观亮化照明的多回路细化监测和面向场景的智能节电方法,满足了按需照明的要求。

本系统是基于MVC软件构架的应用程序,其优点是模型与控制器和视图相分离,有利于改变应用程序的数据层和业务规则层。由于一个应用被分离为三层独立封装和交互实现,有时改变其中的一层就能满足应用改变需求,任何一层的改变不会影响其他层已有的处理功能。采用MVC软件构架的设计思想能构造良好的松耦合的软件构件[2]。系统数据接入层使用Entity Framework框架,它是一个开源的“对象/关系映射(ORMObject Relational Mapping)” 框架,使应用程序可以使用一种“纯”的对象模型来访问关系数据库中的数据。Web前端使用基于JQueryUI插件集合EasyUI,其能够轻松的打造出功能丰富并且美观的UI界面,用户可以通过多种直观的图表形式查看能耗分析信息。

 

一、系统设计

(一)总体框架

根据系统需求分析说明书,可将整个系统划分为两个部分:硬件部分和软件部分,其中软件部分又可划分为监控模块和远程控制分析模块。

硬件部分是整个系统的底层硬件基础,主要负责采集用电相关信息通过GPRS发送给监控模块以及远程接收相关配置信

息。

监控模块负责与底层进行通信:将远程控制分析模块的控制命令发送给底层模块;接收底层发送的数据信息并分析处理后保存在节能数据中心。

远程控制分析模块负责对能耗数据进行相关分析处理,然后以多种直观的图表形式展示出来,并且提供相关的用户控制功能,该模块是整个系统的核心,是为用户直接提供服务和交互的部分。

整个系统的拓扑结构如图1所示:

1 系统拓扑结构图

 

         为了方便开发人员的工作分配,提高代码的重用性与灵活性,实现表示层与业务层的分离,本系统软件采用分层的体系结构,并且为了提升软件的可扩展性,采用面向接口的编程思想完成开发,其基本结构如图2所示。

 

2 多回路无线照明控制系统框架

(二)功能模块

根据实际需要,本多回路无线照明控制系统软件主要分两大功能模块,各模块下又有相应子模块,如图3所示。

 

下面对各模块的功能做简要说明:

(1) 监控模块

监控模块采用Winform进行开发,主要包含命令解析与组装和GPRS发送与接收两个子功能模块。监控模块主要是为了实现远程控制分析模块与底层硬件的相互通信,将用户的采集控制操作转换成通信命令帧发送给底层硬件,接收底层硬件采集的数据帧解析后保存在能耗数据中心,供汇总分析使用。

(2) 远程控制分析模块

该模块采用B/S构架模式进行开发,用户直接与该模块进行交互。其主要包含下列五个子功能模块:

1)        用户管理 主要提供密码修改、系统用户的增删改查、角色的维护以及相应权限的设定。

2)        基础配置 实现对系统软件基础信息的管理,主要有系统运行参数的设置,硬件终端的维护管理。

3)        数据采集 用户可以通过该模块设置系统自动数据采集的频率、内容等,以及查看终端的实时能耗数据信息。

4)        查询统计 按照天、月、季度、年等方式对历史能耗数据进行统计分析

5)        数据对比 提供同一终端不同时间段和不同终端同一时间段两种方式的能耗数据对比。

 

二、相关技术在本系统软件中的应用

(一)概述

基于MVC+EF的多回路无线照明控制系统软件采用了B/S架构模式、MVC软件架构设计模式、EF数据访问框架、JQuery EasyUIAjax技术、JSONMS SQL Server2008数据库管理软件和Visual Studio 2010编译平台,本平台具备易用性、高效性、可扩展性等综合特征。

(二)MVC架构

MVCModel-View-Controller)是软件工程中的一种软件架构设计模式,把软件系统分为3个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最早由Trygve Reenskaug1974年提出,它是一种目前广泛流行的软件设计模式,多被B/S模式的网站设计所采用。随着办公网络化的发展,B/S模式的管理系统日渐增多,对于Web应用的开发MVC设计模式是一个非常先进的设计思想。无论选择哪种开发语句(如C#JavaC等),无论应用场景多复杂,MVC设计模式都能为理解和分析应用模型提供其最基本和有效的分析方法,为构建产品提供清晰的设计框架,为软件设计提供规范的依据3

ASP.NET MVC软件框架是微软官方提供的基于MVC软件构架编写ASP.NET Web应用程序的一个框架。它不仅包含功能强大的URL映射组件,而且为测试驱动开发、模拟对象、单元测试提供了更好的支持;它采用轻量级的前端JavaScript框架JQuery,提高人机交互的友好度和可视化效果[4]

本系统软件采用ASP.NET MVC 3.0实现。该版本增添了HTML5功能的项目模板、Razor视图引擎、支持多个视图引擎、JavaScriptAjax的远程验证、模型验证的改进和依赖注入等功能。图4`ASP.NET MVC软件框架运行机制流程图,它通过URL路由映射组件和Razor或其他自定义视图引擎,实现视图和控制器的分离。

 

(三)EF数据访问框架

EFADO.NET Entity Framework)是微软以ADO.NET为基础所发展出来的对象关系对应(O/R Mapping)解决方案。EF利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象(entity),而数据字段都转换为属性(property),关系则转换为结合属性(association),让数据库的E/R 模型完全地转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问。而在抽象化的结构之下,则是高度集成与对应结构的概念层、对应层和储存层,以及支持Entity Framework 的数据提供者(provider),让数据访问的工作得以顺利与完整地进行5-6

EF框架有3种设计模式:Code-firstModel-firstDatabase-first7,本系统软件采用Code First模式进行EF开发。开发人员只需要编写对应的数据类(其实就是领域模型的实现过程),然后自动生成数据库。这样设计的好处在于我们可以针对概念模型进行所有数据操作而不必关系数据的存储关系,使我们可以更加自然的采用面向对象的方式进行面向数据的应用程序开发。EF结合LINQ,有很高的可扩展性,可以充分地定义与数据库表映射的实体,并将这个实体(系统中的Model实体)直接用于业务逻辑层,实体模型可以在运行时修改并生效。开发人员与数据库直接打交道的次数将大大减少,大部分时间开发人员只需操作实体模型,框架会自动完成对数据库的操作。如此,降低了数据访问层的复杂度,增强了系统的可靠性、稳定性和可扩展性[8]

(四)JQuery EasyUI+Ajax+JSON

JQuery EasyUI是基于JQueryAjax开发的一个UI框架,实现前、后台分离、功能和数据分离,UI层全部使用html+js+json完成,通过一个统一数据接口与服务端进行数据交换[9]

AJAX即“Asynchronous JavaScript and XML”(异步JavaScriptXML)AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。Ajax技术的核心是XMLHttpRequest对象(简称XHR),可以通过使用XHR对象获取到服务器的数据,然后再通过DOM将数据插入到页面中呈现[10-11]。虽然AJAX名字中包含XML,但Ajax通讯是与数据格式无关的,由于在JavaScript中操作XML存在严重的跨浏览器问题,因此在本系统软件中采用JSON数据格式进行AJAX通信。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScriptStandard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。

在本系统软件中Web前端采用JQuery EasyUI创建用户界面,多个页面操作中采用AJAX+JSON对页面请求进行异步处理,使得用户的操作更加简捷顺畅。如实时数据查询页面中当用户点击查询按钮后,页面后台自动通过AJAX读取最新的数据然后加载到图表控件中进行显示出来,从而提高用户体验。

四、结 语

为了配合多回路无线照明控制器实现针对景观照明的节能控制以及节能效果监测,本文基于MVC软件构架和EF数据访问框架,探讨了多回路无线照明控制系统软件设计。系统软件具有很好的易用性、稳定性和可扩展性,能够对节能效果进行多方位的监测与分析。

参 考 文 献 

 [1]    徐庆.对城市道路照明的技能探讨[J].城市照明,20133):50-51

 [2]    王志东,殷宏,郝文宁.一种基于B/S/S模式的电子政务系统的设计与实现[J].计算机工程与应用,200518):100-103.

 [3]    徐玲玲,冯文超.基于MVCEF的学位与研究生教育信息管理系统设计与实现,计算机与现代化,20124):104- 109.

 [4]    冯向阳,冯飞飞等. MVC 软件构架在城市安全生产监管系统中的设计与应用[J]. 计算机应用与软件,2013,304): 192-194.

 [5]    Wikimedia Foundation Inc.. ADO.NET Entity FrameworkEB/OL.http://en.wikipedia.org/wiki/Entity_Framework2013-10-29.

 [6]    Scott Klein. Pro Entity Framework 4.0M. Apress201030.

 [7]    Christian Nagel,BillEvjen,Jay Glynn.Professional C# and .NET 4[M]. New Jersey:John Wiley & Sons, 2010.

 [8]    李志,贾克斌等. 基于.NET MVC架构的网上珠宝销售系统的设计与实现[J]. 计算机应用与软件,2013,303): 187-189.

 [9]    杨旭光. 基于EasyUI datagrid实现数据库操作的方法[J].计算机光盘软件与应用,201222):27-29

[10]    王星,潘郁. 基于AJAX技术的Web模型在网站开发中的应用研究[J. 微计算机信息,20062227):206-207241.

[11]    Jesse James Garrett. AjaxA New Approach to Web ApplicationsM. Adaptive Path2005.

 
关键词: 灯光监控
 
技术交流搜索 | | 打印 | 关闭
更多


 免责声明:
1 、本网转载作品目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
2 、凡来源注明“中国道路照明网”的所有作品,版权均属中国道路照明网,转载使用本作品请注明来源。否则本网有权追究其相关法律责任。
3 、如涉及作品内容、版权和其它问题,请在30个工作日内与本网联系,我们将在第一时间处理!
* 有关版权事宜请联系: 0519-85529633


 
推荐图文
推荐技术交流
点击排行
关于我们 | 帮助中心 | 联系我们 | 给我留言 | 诚聘英才 | 广告服务 | 网站地图
版权所有 @ 中国市政工程协会道路照明专业委员会 城市道路照明技术情报总站 本站网络实名:中国道路照明网
中国道路照明网常州采编中心 电话:0519-85529633
地址:常州市新北区衡山路6号218室 电话:0519-88162193
备案序号:京ICP备11025568号-1 .