基于嵌入式Internet技术的电网远程监测系统之二
- UID
- 1023229
- 来自
- 中国
|
基于嵌入式Internet技术的电网远程监测系统之二
3.1 嵌入式操作系统的选择
嵌入式操作系统是整个嵌入式系统的核心,它具有实时性强、可靠性高等特点,在嵌入式系统中应用广泛。商用的嵌入式实时操作系统比如Vxworks、Nucleaus、QNX等价格比较昂贵,一般不适宜广泛应用。μC Linux是从Linux 2.0/2.4内核派生而来[2],适用于没有虚拟内存或内存管理单元(MMU)的处理器,它在标准的Linux基础上进行了适当的裁剪和优化,体积很小,而且保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能,并内嵌了TCP/ IP 协议。考虑到嵌入式μCLinux的以上优点,本系统选择采用嵌入式μCLinux作为嵌入式的实时操作系统。
3.2 Web服务器的实现
在电网远程监测系统中,嵌入式Web服务器技术将有效降低系统运行维护费用,提高系统管理水平 [3]。本系统将嵌入式Web服务器以及B/S结构模型相结合。其中B/S结构中最底层为数据层,负责从采集电网数据;中间层为信息处理系统,负责将电网中的实时参数写入挂接在这一层的Web服务器中,然后对数据进行统计、分析等处理,最后将处理过的数据实时的以网页的形式发送到第三层客户端,客户端可以通过浏览器直接监测电网运行参数,实现了电网远程监测系统。
嵌入式Web服务器(Embedded Web Server,简称EWS)是实现电网远程监测的重要组成部分和关键技术,利用嵌入式Web服务器可对电网进行监测和实时参数的传输[4]。嵌入式web服务器通过CGI接口或其他方法,可以在HTML文件或表单中运行代码,供RAM读/写数据。在μCLinux下,本系统选择使用一个支持CGI的、非常适合于嵌入式系统的Boa Web Server。在Boa Web Server使用时需要对与Boa相关的文件做一些配置和修改:
1) 建立存放目录
由于μClinux默认的根文件系统romfs是只读的,不能用mkdir等命令来新建目录,故应在编译内核前先建好要用到的目录,这通过修改../μClinux-dist/vendors/Philips/LPC2200/Makefile文件来实现。在ROMFS_DIRS=bin dev etc home lib mnt proc usr var的后边增加home/cgi-bin,这样修改后编译内核,编译好的根文件系统romfs中就包含这些目录了。
2) 指定Web服务器的根目录路径。
进入../μClinux-dist/user/boa/src/目录,通过修改defines.h文件中#define SERVER ROOT “/home/”语句来指定SERVER ROOT。
3) 修改boa.conf文件。修改../μClinux-dist/user/boa/examples/boa.conf主要内容如下:
Part 80
User 0
Group 0
ServerName μClinux
DocumentRoot /home/ /*设定存放路径*/
Directoryindex index.html
MimeType /home/mime.types
ScriptAlias /cgi-bin/ /home/cgi-bin/
AddType text/plain.txt /*可支持的文件类型*/
AddType image/gif.gif
AddType text/html.html
AddType text/html.htm
AddType image/jpeg.jpeg
这样指定后,index.html为远程浏览客户访问Web Server所看到的首页默认值。把C编写的CGI程序编译成二进制文件,存放到.. /home/cgi-bin/目录下。Boa.conf和mime.types文件必须放到Web服务器根目录下,也就是把bao.conf和mime.types复制到“../μClinux-dist/romfs/home/”目录下。然后在../μClinux-dist/Vendors/Philip/LPC2200/inittab里修改,在“inet:unknown:/bin/inetd”后加“boa:unknown: /bin/boa /home/”。
配置完成后,重新编译内核。把编译好的内核下载到ARM硬件平台,启动μClinux操作系统,完成IP配置,运行Boa Web Server,然后就可以通过浏览器访问网页了。
3.3 用户与主机间安全交互的实现
为了在μCLinux系统中实现网页的实时刷新,得到实时电网参数,实现客户端与电网监测系统之间的交互,本系统采用了CGI的方法。当客户端采用FORM POST形式向Boa服务器发出CGI请求时,服务器守护进程启动相应的CGI程序,CGI程序通过CONTENT—LENGTH获取客户端传输数据的字节数,通过STDIN读取客户端传输数据,这些数据一般是客户端在表单中输入的简单的监控信息。CGI获取这些信息后通过串行通信将这些信息发送到电网监测系统中,等待监测系统模块的应答消息,最后生成网页文件,并且将返回结果嵌入到网页文件中,通过cgi—send—string函数将此网页发送给客户端浏览器。一段时间后客户端浏览器会再次向服务器发送一个CGI请求,相应的CGI函数会查询最新的数据,刷新后将新数据发送给客户端浏览器。这样周而复始,实现了网页的刷新功能,从而保证了远程监测数据的实时性,实现客户端与电网监测系统之间的交互。客户端通过CGI接口与电网监测系统之间交互的关系如图3所示[5]。
图3 用户通过CGI与目标板交互
Fig.3 Client Connects with Target Board through CGI
同时为了保证远程监测的安全性不被非法侵入,通常嵌入式Internet可以采用:加密和解密(Encryption andde—eryption)、数字签名(Digitalsignatures)、信息摘要(Message digests)、公共密钥基本架构(Public—keyinfiastrueture)、证书(Certifieates)等方法确保网络通讯的安全。本系统采用了用命令识别的方法来保证系统数据传输的安全性,即客户端计算机首先向监测系统发送命令代码,由监测系统分析,确定为请求数据发送命令码再向客户端计算机端发送数据,发送命令代码即相当于发送了身份验证码,从而保证电网数据传输的安全性。
4.系统的应用
本系统在成都某电厂的局域网(以太网)的环境里做调试,通过IE浏览器完全实现了电网参数的监测功能:在客户端IE浏览器中输入主网页的地址,进入电网监测系统的主网页,如图4;输入正确的用户名和密码后登陆电网远程监测系统的参数监测网页。在参数监测网页可以监测到电网运行的实时参数。整个系统具有良好的人机界面,操作简单,有效的保证了电网运行安全,大幅提高了电网监测的实时性和有效性。
图4 主网页
Fig4 The home
5.结束语
本文提出了将嵌入式Internet技术应用于电网远程监测系统的开发与实现,研究了基于嵌入式实时操作系统μCLinux下嵌入式Internet的接入方案以及Boa Web服务器的参数配置,并提出了利用CGI技术实现网页的实时刷新以及客户端与主机间交互的方法 ,开发实现了电网远程监测系统并将该系统应用于成都某电厂。实践表明,该系统可以实时监测电网参数,保证了电网的安全运行。本系统的构建代表了新一代监测网络发展的必然趋势,在不久的未来必将具有十分广阔的应用前景。 |
|
|
|
|
|