基于SNMP的太阳能电池监控系统管理端的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海交通大学
硕士学位论文
基于SNMP的太阳能电池监控系统管理端的设计与实现
姓名:李燕
申请学位级别:硕士
专业:通信与信息系统
指导教师:黄佩伟
20090101
基于SNMP的太阳能电池监控系统管理端的设计与实现
摘要
在能源危机日渐明显的今天,太阳能电池的发展会越来越得到人们的重视。
当太阳能电池进行大规模的产业化发展的同时,势必需要一套管理系统对太阳能电池进行远程监控,提高管理效率。
本文主要针对这一需求,设计了一套针对太阳能电池的监控系统。
本系统主要分为两部分,一是对太阳能电池板的数据采集,二是在管理端获得采集到的数据并显示给用户。
本文的研究重点是管理平台的设计。
管理平台软件除了要实现与太阳能电池板的通信外,还要将获得的数据存储到数据库,或是通过用户图形界面显示给用户。
本系统采用SNMP(简单网络管理协议)实现管理端数据的获取。
SNMP 协议是当前发展最迅速、应用最广泛的网络管理协议。
通信的两端为管理端和代理端,即太阳能电池板处要运行代理进程,管理平台上运行管理端进程,它们之间通过SNMP协议进行通信。
本文首先对SNMP协议进行了介绍,并详细说明了在管理端如何利用SNMP++软件开发包实现管理端与代理端之间的通信。
然后,分析了管理端应提供的功能,并对这些功能进行了进一步的分析和说明。
其中主要介绍了图形用户界面的设计和数据库的设计。
这
些是管理端平台软件必须具备的功能。
本文的主要工作包括:(1)管理端与代理端进行SNMP通信的实现;(2)通过对太阳能电池板上的信息的分析,在管理端创建了数据库来存取这些信息;(3)设计了图形用户界面,为用户提供了进行远程监控的操作平台。
关键词:简单网络管理协议,管理端,太阳能电池,数据库
Design and Realization of SNMP Based Manager in Monitor and Control System for Solar Battery
ABSTRACT
As the energy crisis becomes a serious issue, the development of solar battery will attract more attention. In the industrialization process of solar battery, a monitor and control system for the solar battery is desperately needed for improving the management efficiency. This is the origin drive of the system in this paper.
The system is this paper consists of two parts: one is the data collection from the solar battery; the other is the data transfer and display to the end-user. We focus on the design of the management platform in this paper. Besides implementing the communication between the management PC and the solar battery, the software on the management platform should also involve a database where the data stored or UI for data display.
SNMP (Simple Network Management Protocol), which is one of the most popular protocols for network management, is used in this system for the communication between the management PC and the solar battery. According to this protocol, the two sides are called the manager and the agent. So an
agent process as well as a manager process are needed to run on the solar battery part and the management platform separately. So SNMP is introduced firstly in this paper, followed by the implementation of the communication with SNMP++, which is a popular software development kit for SNMP.
Then the functions the management platform should offer are discussed. After further analysis and explain for each function, the design of UI and database, which are of great necessity is illustrated.
The main work in this paper include: (1) The implementation of the communication between the manager and agent based on SNMP; (2) The design of the data base following the analysis of the data information of the solar battery; (3) The UI design for the end-user monitoring and controlling the solar battery.
Keywords: SNMP, Manager, Solar Battery, Data Base
第一章绪论
1.1 太阳能电池的发展现状[1]
目前,能源问题己是一个迫在眉睫的重要问题,传统的能源煤、石油和木材按目前的消耗速度只能维持50-100年,这还没有考虑技术进步将不断扩大对能源的要求。
而在人类可以预测的未来时间内,太阳能可以说是一种取之不尽,用之不竭的洁净能源,且基本上不受地理条件的限制,因而人们寻找各种方法来利用太阳能。
越来越多的国家开始实行“阳光计划”,开发太阳能资源,寻求经济发展的新动力。
欧洲一些高水平的核研究机构也开始转向可再生能源。
在国际光伏市场巨大潜力的推动下,各国的太阳能电池制造业争相投入巨资,扩大生产,以争一席之地。
全球太阳能电池产业1994-2004年10年里增长了17倍,太阳能电池生产主要分布在日本、欧洲和美国。
2006年全球太阳能电池安装规模已达1744MW,较2005年成长19%,整个市场产值已正式突破100亿美元大关。
2007年全球太阳能电池产量达到3436MW,较2006年增长了56%。
中国对太阳能电池的研究起步于1958年,20世纪80年代末期,国内先后引进了多条太阳能电池生产线,使中国太阳能电池生产能力由原来的3个小厂的几百kW一下子提升到4个厂的4.5MW,这种产能一直持续到2002年,产量则只有2MW左右。
2002年后,欧洲市场特别是德国市场的急剧放大和无锡尚德太阳能电力有限公司的横空出世及超常规发展给中国光伏产业带来了前所未有的发展机遇和示范效应。
目前,我国已成为全球主要的太阳能电池生产国。
2007年全国太阳能电池产量达到1188MW,同比增长293%。
中国已经成功超越欧洲、日本为世界太阳能电池生产第一大国。
在产业布局上,我国太阳能电池产业已经形成了一定的集聚态势。
在长三角、环渤海、珠三角、中西部地区,已经形成了各具特色的太阳能产业集群。
中国的太阳能电池研究比国外晚了20年,尽管最近10年国家在这方面逐年加大了投入,但投入仍然不够,与国外差距还是很大。
政府应加强政策引导和政策激励,尽快解决太阳能发电上网与合理定价等问题。
同时可借鉴国外的成功经验,在公共设施、政府办公楼等领域强制推广使用太阳能,充分发挥政府的示范作用,推动国内市场尽
快起步和良性发展。
太阳能光伏发电在不远的将来会占据世界能源消费的重要席位,不但要替代部分常规能源,而且将成为世界能源供应的主体。
预计到2030年,可再生能源在总能源结构中将占到30%以上,而太阳能光伏发电在世界总电力供应中的占比也将达到10%以上;到2040年,可再生能源将占总能耗的50%以上,太阳能光伏发电将占总电力的20%以上;到21世纪末,可再生能源在能源结构中将占到80%以上,太阳能发电将占到60%以上。
这些数字足以显示出太阳能光伏产业的发展前景及其在能源领域重要的战略地位。
由此可以看出,太阳能电池市场前景广阔。
以太阳能光伏发电为例,太阳能发电系统一般由太阳能电池光伏组件、太阳能控制器、蓄电池(组)组成。
如输出电源为交流220V或110V,还需要配置逆变器。
各部分的作用为:
(1)太阳能电池光伏组件(Photovoltaic Array):光伏组件由一个或多个太阳电池片组成。
利用太阳电池将太阳光能直接转化为电能。
光伏组件是太阳能发电系统中的核心部分,也是太阳能发电系统中价值最高的部分。
主要是利用光伏发电是根据光生伏特效应原理,将太阳的辐射能力转换为电能,或送往蓄电池中存储起来,或推动负载工作。
光伏组件的质量和成本将直接决定整个系统的质量和成本。
(2)蓄电池(Battery Bank):一般为铅酸电池,小微型系统中,也可用镍氢电池、镍镉电池或锂电池。
其作用是在有光照时将太阳能电池板所发出的电能储存起来,到需要的时候再释放出来。
(3)太阳能控制器(Solar Charge Controller):太阳能控制器的作用是控制整个系统的工作状态,并对蓄电池起到过充电保护、过放电保护的作用。
在温差较大的地方,合格的控制器还应具备温度补偿的功能。
其他附加功能如光控开关、时控开关都应当是控制器的可选项。
(4)逆变器:在很多场合,都需要提供220VAC、110VAC的交流电源。
由于太阳能的直接输出一般都是12VDC、24VDC、48VDC。
为能向220VAC的电器提供电能,需要将太阳能发电系统所发出的直流电能转换成交流电能,因此需要使用DC-AC逆变器。
在某些场合,需要使用多种电压的负载时,也要用到DC-DC逆变器,如将24VDC的电能转换成5VDC的电能(注意,不是简单的降压)。
图1-1 太阳能发电系统示意图
Fig.1-1 Structure of the solar battery system
随着计算机、通信技术的飞速发展和Internet在全球的不断推广使用,人们对太阳能电池的状态监控提出了更高的要求,希望能通过网络远程监控太阳能电池的状态,包括输出电流、输出电压、板上温度,板上光照度等数据。
如何构建太阳能电池监控的网络系统,提高网络系统的可靠性,则成为其中一个重要问题。
1.2 SNMP简单网络管理协议
简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineering Task Force) (IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。
其前身是1987年发布的简单网关监控协议 (SGMP)。
SGMP给出了监控网关(OSI第三层路由器)的直接手段,SNMP则是在其基础上发展而来。
最初,SNMP是作为一种可提供最小网络管理功能的临时方法开发的,它具有以下两个优点[2]: (l)与SNMP相关的管理信息结构 (SMD)以及管理信息库(MIB)非常简单,从而能够
迅速、简便地实现;
(2)SNMP 是建立在SGMP 基础上的,而对于SGMP ,人们积累了大量的操作经验。
SNMP 经历了两次版本升级,现在最新的版本是SNMPv3。
在前两个版本中,SNMP 功能都得到了极大的增强,而在最新的版本中,SNMP 在安个性方面有了很大的改一善,SNMP 缺乏安全性的弱点正逐渐得到克服。
SNMP 是一种应用层协议,被专门设计用于在IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUB 等)。
SNMP 被设计成与协议无关,所以它可以在IP ,IPX ,AppleTalk ,OSI 以及其他用到的传输协议上被使用。
SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。
通过SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。
SNMP 使用的管理信息结构(SMI)和管理信息库(MIB)提供了一组监控网络元素的最小的,但功能强大的工具。
它的结构十分简单,能够简单快速地实现。
因而SNMP 在网络管理领域得到了广泛的接受,已经成为事实上的国际标准。
SNMP 网络管理模型的主体结构是由网络管理端(Manager)和网络代理端(Agent)组成的。
在传统的SNMP
网管模型中,管理端与代理端之间采用SNMP 进行会话,而Agent 与被管设备之间则采用用户自定义的通讯方式。
图1-2 SNMP 的网络管理参考模型
Fig 1-2 Structure of SNMP
管理端
代理端
1.3 基于SNMP的太阳能电池监控系统
基于SNMP的太阳能电池监控系统由管理端、代理端和太阳能电池板(即被管设备)三部分组成。
管理端可以用一台PC机来实现。
网络管理端平台软件作为一个应用程序运行于Windows平台上,它定期采集Agent所提供关于被管设备的运行参数,以图形交互方式向管理人员提供操作接口。
通过网络管理平台软件,管理人员可以及时观察被管设备运行状态,并通过Agent向被管设备发送状态调整命令。
在代理端,随着嵌入式设备的广泛应用,嵌入式网络管理也在不断发展。
嵌入式网络管理是指Agent基于嵌入设计,运行于某种嵌入式操作系统。
代理模块通常固化在被管设备中,与被管设备集成在一起或做为单独的Agent设备。
Agent将被管设备的信息返回给上级管理站,同时,也执行对被管设备的控制命令。
在本太阳能电池监控系统中,Agent与被管设备是合为一体的。
可以用一块基于ARM的嵌入式板来实现电流、电压、温度等数据的采集,并利用可移植性和可扩展性的开源SNMP Agent软件包,使其作为SNMP网络管理系统中的Agent端。
构建基于SNMP的太阳能电池远程监控系统,优点有:
(1)实时监测
本监控系统具有网络数据传输接口,可以通过SNMP数据包传送网络数据。
监控系统用一块嵌入式ARM板实时采集太阳能电池板上的数据及状态信息,代理端将这些数据以SNMP数据包的形式传送给管理端,这样远程计算机可以将数据存入数据库,利用数据库访问进行数据计算、整合和存储。
(2)易扩展性
SNMP是开放性的一个平台,有许多免费的资源可利用,易扩展性是SNMP的一大优点。
由于其简单化的设计,用户可以很容易地对其进行修改来满足他们特定的需要。
SNMP的扩展性还体现在它对MIB的定义上,各厂商可以根据SNMP制订的规则,很容易地定义自己的MIB,并使自己的产品支持SNMP,可以实现对不同厂家设备的统一管理,即通过将管理信息模型与协议、被管理对象的详细规定(管理信息库MIB)分离而实现易扩展性。
在本系统中,管理端和代理端是一对多的通信模型。
只要代理端的MIB定义相同,则无须修改管理端的MIB文件,可以很方便地在系统中添加或删除若干个的代理模块,灵活地实现一个管理端对多个太阳能电池板的监控。
而且许多厂商的通信设备如交换
机、路由器等都支持SNMP协议,在系统中也可以加入这些做为被管设备,扩展自己的网络架构。
(3)使用简单和安全
对前端数据采集设备嵌入式ARM板的配置和管理可以通过管理端进行,用户可配置代理端的IP地址、数据端口等设置,不需要安装额外的软件。
在管理端,采用纯中文显示,操作界面直观友好,安装使用方便。
通过简洁的界面,用户就可以进行配置,简单易用,节省安装维护人员;采用大型数据库,能够保存海量的历史事件、历史数据和系统日志记录;报表查看功能,提供用户各种使用方便的管理报表,使用户可以轻松地掌握和分析一段时期内太阳能电池板上的电流、电压、温度等采样数据以及设备的运行情况;可支持短信平台接口或网络短信告警器,短信告警服务更加灵活、方便、稳定、安全、可靠;灵活的告警自定义支持,用户可根据管理维护的需要,设定告警条件。
1.4 课题意义与主要工作
在当今非可再生能源如煤、石油等面临枯竭危机的情况下,太阳能做为一种清洁能源,以其取之不尽、用之不竭的特点,一定会成为二十一世纪能源方面的重点发展方面。
而大力发展太阳能,一套有效的太阳能电池监控系统则成为了必不可少。
本文根据太阳能电池采集设备都分布在户外,集中管理有一定的困难的实际情况,提出一种远程监控系统的实现方案。
首先,用嵌入式ARM开发板实现太阳能电池板上的数据采集,包括太阳能板(Solar)的光照度、温度、输出电压和电流数据、蓄电池(Battery)上的输出电压和电流数据、负载(load)的电压和电流数据、数据采集板(ARM板)上的温度等信息。
这些信息再加上系统信息(如IP地址、网关、系统位置等)就构成了管理端和代理端之间需要传送的数据信息。
然后,在ARM板上植移基于SNMP协议的代理模块,则ARM板就集成了数据采集和SNMP协议的代理端两个功能。
然后,用一台PC机做为管理端,开发一套网络管理端软件,管理端可以通过管理端软件查询每个太阳能电池板上系统信息和采集到的电压、电流、温度等数据,并通过数据库查询历史记录。
最后,一台管理端与若干个代理端相连,并通过SNMP 协议进行通信,就组成了基于SNMP的太阳能电池监控系统。
Fig.1-3 Application environment of solar battery monitor/control system 本文重点要解决的是,如何设计管理端平台的软件,即能查询代理端的数据信息,又能设置代理端的一些系统信息。
同时,使管理端能够方便地浏览这些信息并进行操作。
在发生异常的时候可以有报警机制。
本课题的研究工作主要分为四个部分:
(1) 太阳能电池的系统设计。
系统设计主要根据系统的需求,划分管理端和代理端的功能。
(2) 管理端使用SNMP通信的协议处理模块的实现。
(3) 管理端的图形用户界面的设计。
图形用户界面主要是为管理端提供了简单易用的操作界面,为用户进行远程监控提供了操作的接口。
(4) 管理端的数据库设计。
数据库存放了管理端从代理端得到的太阳能电池板上
的各种数据信息,供用户查阅。
1.5 本文章节结构
本文设计的太阳能电池监控系统主要由管理端的PC机和代理端的ARM开发板组成。
在本文的后续章节中,首先介绍了系统的整体框架,以及所用到的SNMP协议,然后重点介绍了管理平台软件的设计,包括SNMP协议处理模块的设计及图形用户界面和数据库的设计。
第二章,讨论太阳能电池监控系统的整体结构
第三章,介绍SNMP协议的基本知识及用SNMP++实现的管理端SNMP模块第四章,研究管理端平台软件的设计
第五章,总结论文工作并指出系统需要改进的一些方面
第二章系统整体结构设计
2.1 系统整体结构
整个系统的设计分为两部分:一是对太阳能电池板上的数据进行采集,二是代理端把采集到的数据通过SNMP协议发送到管理端以便进行管理。
整个系统的结构如图2-1所示。
图2-1太阳能电池监控系统的系统结构
Fig.2-1Structure of solar battery monitor/control system
2.1.1 太阳能电池板上的数据采集
对于太阳能电池板,管理端需要得到的数据信息由两部分组成:
(1)太阳能电池板上的输出电流、输出电压、输出功率、温度、光照度等需要进行采集的信息,我们用一块ARM板实现对这些数据的采集。
对于基于ARM芯片的数据采集系统,主要实现了多通道模拟量采集,以及数据的转换及存储功能。
本文限
于篇幅,不再进行详细介绍。
(2)太阳能电池板上固有的信息,如ID编号、位置信息、负责人信息等。
这些信息一般是固定不变的,用户不需要经常读取。
2.1.2 管理端与代理端之间的通信
管理端与代理端之间通过网络相连,用SNMP协议进行通信。
在管理端,用户需要查询某个太阳能电池板上的数据,或是进行某些设置,或是以一定的时间间隔获取ARM板上采集到的太阳能电池板上的各种信息,存入数据库中,并提供良好的图形用户界面,以便用户可以方便地查看这些信息。
2.2 Agent端的功能模块
该嵌入式Agent端实现了网络管理代理端的基本功能[3],能与管理站进行SNMP 会话,具备协议处理的一致性。
同时,它也可应用于嵌入式环境下的多种网络设备,如交换机、路由器以及光纤收发器等。
在嵌入式应用中,程序固化空间有限,需要对其大小进行控制。
此外,为了便于移植到其它嵌入式操作系统,还需要留下平台可移植的接口。
嵌入式SNMP Agent的体系结构如下图所示:
图2-2代理端的主要模块
Fig.2-2Main modules of agent
从图可见,在SNMP的Agent中有以下几个关键的模块:
z设备接口模块:主要是从被管设备得到需要通过SNMP协议发送给管理端的数据。
z数据存储模块:暂时存放从被管设备得到的数据,等待管理端的查询。
z异常处理模块:根据设定的异常条件,当被管设备发生异常或是Agent本身发生异常时主动向管理端发送异常报告,而不是被动等待管理端的命令。
z SNMP报文处理模块:接收管理端发送过来的SNMP数据包并解析出命令数据;或将需要发送的数据封装成SNMP数据包发送给管理端。
2.3 Manager端的设计原则[2]
网络管理平台是网络管理系统的核心组成部分。
一个功能强大、性能优异的网络管理系统离不开一个结构合理、具有良好可扩展性的网络管理平台。
特别是对大型网络的管理,由于管理需求多而复杂、网络管理应用种类众多,所以必须选择合适的网络管理平台。
网络管理平台通常由协议通信软件包、MIB编译器、网络管理应用编程接口和图形化的用户界面组成。
在网络管理平台的基础上可以进一步实现各种管理功能和开发行种管理应用。
要设计和实现一个具有优异性能和可扩展能力的网络管理平台,必须从整个平台的结构设计人手。
只有在充分考虑了应用需求的基础上,合理设计和实现整个平台的总体结构,才能建立一个好的网络管理平台,并在平台的基础上方便地开发各种新的网络管理应用程序和工具。
一般来说,在设计实现网络管理平台时应该遵循以下准则:(l)系统必须提供一个图形界面,它可生成网络的层次性视图,允许在不同层次之间建立逻辑连接:它必须能够理解包含在层次结构中的连接,以及这些连接与网络的性能和功能之间的网络拓扑结构。
(2)系统必须提供一个关系数据库接口,它可以存储和检索所需要的信息。
许多网络管理应用都需要使用这类数据库,如果没有它,系统就不能有效地实现配置管理和计费管理,这些信息可被集中保存,并提供历史数据和当前数据。
(3)系统必须提供从所有相关网络设备中收集数据的手段,最好通过使用单一的网络管理协议实现。
(4)系统必须易于扩充。
因为没有一个网络管理系统能够包括所有的网络。
因此,系统必须便于增加网络管理端所需的应用和特点。
(5)系统必须提供跟踪问题和时间的方法和手段。
随着网络规模和复杂性的提高,这种应用功能是非常有价值的。
(6)提供图形化的分析工具,这样管理端可以直观的观察到数据的变化情况。
2.4 本文中Manager端的实现技术
图2-3管理端的主要模块
Fig.2-2Main modules of manager
2.4.1 SNMP协议处理模块
这个模块主要利用了SNMP的软件开发包,实现了管理端平台将查询、设置等操作封装成SNMP数据包,并且通过网络发送给代理端,并且从代理端得到数据后将数据解析出来存入数据库或是显示给用户的过程。
这是管理端与代理端传递数据和命令的方式。
上海交通大学工学硕士学位论文第二章系统整体结构设计
2.4.2 图形用户界面
用户通过此界面,可以查看太阳能电池板上的数据信息,也可以查看数据库中的历史信息,并且可以对代理端进行一些设置操作。
这部分主要是使用MFC(Microsoft Foundation Class Library)开发的。
2.4.3 数据库
主要用来存放太阳能电池板上的历史数据。
在本文中,设计了需要保存数据的表的结构,使用的是ACCESS 数据库进行存储,并且使用了关系数据库接口ADO来进行开发。
2.5 本章小结
本章主要分析了系统的总体设计结构。
然后,对于太阳能电池板上的数据采集和代理端的设计及实现,这里只是做了简要的说明,并不是本文的重点。
最后,说明了管理端的设计原则及本文中主要实现的功能模块及使用的实现技术。
第三章 SNMP协议的原理及实现
3.1 SNMP协议的体系结构
SNMP采用无连接的数据报方式,潜在的提供了某种程度的健壮性,即使在网络处于高度负荷时也能继续处理管理功能。
SNMP采用管理端—代理端的管理模型,SN 是以TCP/IP的协议为基础的。
SNMP的网络管理模型包括以下关键元素:管理端(Manager)、代理端(Agent)、管理信息库(MIB)、简单网络管理协议(SNMP)。
SNMP 的结构如图:
被管设备
图3-1SNMP的体系结构图
Fig.3-1Structure of SNMP
(1) 管理端(Manager)
管理端通常是一个独立的设备,也可以利用共享系统实现。
管理端被作为网络管理员与网络管理系统的接口,是实施网络管理的实体,驻留在管理工作站上,是整个。