数字图书馆机房远程监控系统研究与开发
顾勇, 储云峰, 居鑫磊
常州工学院图书馆 常州 213022
摘要

针对目前数字图书馆机房面临的安全问题,结合常州工学院数字图书馆机房环境,鉴于同类高校图书馆经费和人员紧张问题,研究机房安全问题的低成本解决方案;设计并实现基于PIC单片机及无线通信的B/S模式数字图书馆机房远程监控系统;对系统进行应用测试,结果表明系统稳定、可靠,设计方案及系统对同类数字图书馆机房的安全建设具有一定的借鉴意义。

关键词: 数字图书馆; 远程监控; 单片机; 传感器
中图分类号:TP393
Research and Development of Remote Monitoring System for Computer Room in Digital Library
Gu Yong, Chu Yunfeng, Ju Xinlei
Changzhou Institute of Technology Library, Changzhou 213022, China
Abstract

This article concerns on the security problems faced by computer room of digital library. Because of the tight budget and the lack of working personnel in university library, a kind of low cost scheme about security problems of computer room is studied based on the situation of Changzhou Institute of Technology Library. Then a B/S model computer room remote monitoring system of digital library is designed and implemented based on the PIC microcontroller and wireless communication. The experiment results show that the system is stable and reliable,and the scheme and system have some referential value to current safety construction of computer room in digital library.

Keyword: Digital library; Remote monitoring; Microcontroller; Sensor
1 引 言

随着数字图书馆的飞速发展,其机房的规模也越来越大,服务器数量不断增加,存储容量不断增大,网络设备不断增多,这给机房管理带来了严峻的挑战,也在一定程度上增加了机房设备发生故障的概率。机房一旦发生安全事故,如空调设备故障、UPS设备故障、人为破坏等,轻则导致数字图书馆系统瘫痪、停止服务,重则导致机房设备的损伤与损毁。为了避免或减轻机房安全事故造成的后果,要对机房进行全天候监控。然而,机房工作人员有限,不可能实现全天候专人值班,所以数字图书馆机房远程监控系统的研究与开发显得尤为重要。

目前,国内外对机房监控的研究较多,但也存在一些缺陷与不足。机房监控产品价格较高,超出了多数用户的承受能力;产品的适用性低,缺乏一些必要功能和个性功能,而某些功能又过于复杂,操作繁琐;产品的二次开发和后期维护比较困难。国内外的文献中,樊春等[ 1]设计并实现了北京大学计算中心机房动力及环境监控系统,基于SOAP协议进行信息传输,仅仅监控机房的动力和环境,缺乏一些必要的监控功能,系统后期维护需要一定的成本;张永波[ 2]设计并实现了一个高校信息机房环境数据网络化监控系统,功能不够完善,实现成本较高,部署较为困难。本文结合常州工学院数字图书馆机房环境,研究并设计同类机房安全问题的低成本解决方案,实现了一种基于PIC单片机和近距离无线通信的B/S模式数字图书馆机房监控系统。

2 系统方案设计

系统方案的设计不仅要考虑机房的实际环境,还要考虑图书馆的综合经济实力。常州工学院图书馆机房建设较早,设备陈旧,空调仍采用两台普通民用空调交替工作的方式,馆内经费也较为紧张,而目前国内很多高校图书馆也都有类似的情况,显然价格高昂的商业监控方案不适合此类图书馆机房的安全建设。本系统在设计过程中综合考虑了功能、成本及部署三个方面的因素,功能要齐全且实用;要通过廉价的方法实现所有功能,并且考虑系统运行成本;系统部署要简单,尽量减少对机房原有布局的变动。系统总体设计方案如图1所示:

图1 系统总体设计方案

(1)系统设计方案功能齐全

系统包含对UPS动力、机房环境、空调设备、机房图像等信息的采集和对部分设备的远程控制。通过外部邻居服务器自动定时访问内部服务器,来实现对内部服务器网络的监测。支持管理员对系统采集的数据进行远程访问与管理。如果检测到数据异常,系统会实时将异常信息发送至管理员的邮箱和手机。

(2)系统设计方案成本较低

由于采用图像监控方案,有别于现有产品和其他文献中使用流媒体服务器搭建的视频监控方案[ 3],对监控服务器的带宽和性能要求较低,所以系统利用机房内某一现有服务器作为监控系统服务器,省去了购买费用。监控用嵌入式设备采用8位PIC单片机和低价传感器组成,足以实现对各种数据的准确测量。对UPS的监控利用UPS设备自带数据,对网络的监测借助外部邻居服务器,无需任何成本。短信报警方式有别于现有产品和其他文献中使用商业短信平台或GPRS短信猫[ 4]发送短信的方式,采用移动飞信短信接口,不产生任何短信费用,系统后期的运行和维护成本为零。

(3)系统设计方案部署简单

嵌入式装置与服务器之间通过2.4GHz无线方式进行信息传输,无需布线。对空调电流的采集采用非接触方式,对空调的控制采用红外遥控控制,无需对空调系统作任何更改。

3 系统硬件设计与实现
3.1 硬件设计

系统硬件由嵌入式装置、无线收发设备、UPS信息采集和图像采集设备组成,其中UPS信息采集为UPS设备自带功能,通过RS485总线将数据传输至服务器,图像采集设备为普通CMOS摄像头,通过USB接口将数据传输至服务器,所以系统的硬件设计主要是对嵌入式装置和无线收发设备的设计。

嵌入式装置包括处理器、电源管理、一组传感器、一组设备驱动电路、红外收发、键盘、LCD显示器及无线收发等模块。处理器负责对数据进行分析、存储与传输;电源管理包括反接保护、过流保护、供电电压检测、DC-DC转换、供电控制等功能;一组传感器对系统设计方案中需要的信息进行采集与转换;一组设备驱动电路对系统外围设备进行控制;红外收发用于对空调设备遥控码的学习及对空调的控制;键盘和LCD显示器用作系统设置和实时数据显示;无线收发用于嵌入式装置与服务器间的数据传输。

服务器端无线收发设备包括DC-DC、TTL-RS232、无线串口等模块。DC-DC将USB接口电压转换为系统工作所需电压;TTL-RS232存在于无线串口模块与服务器之间,进行信号转换。

系统硬件结构如图2所示。

图2 系统硬件结构

3.2 硬件实现

限于篇幅,仅对部分主要硬件模块的实现进行介绍。

(1)处理器

系统选择PIC16F877单片机作为处理器,该单片机由Microchip公司生产[ 5],功耗低,电压范围宽,具有两个8位和一个16位定时器,两个PWM模块,8通道10位AD转换器,功能强大,价格低廉,满足系统的设计要求。PIC16F877与晶振电路、上电复位电路共同构成处理器模块的最小电路。

(2)无线收发模块

无线收发模块选择广州汇承信息科技有限公司生产的HC-05模块[ 6],该模块采用低电压3.3V供电,利用CSR BC04蓝牙芯片技术和自适应跳频技术,实现无线串口通信,体积小,误码率低,外围电路简单,成本低,功率为蓝牙Class 2功率级别,通信距离在10米左右,符合本系统的设计要求。

(3)非接触式电流检测

非接触式电流检测利用电流互感原理实现电流检测,探测头选用100mH电感,与空调供电线垂直放置,供电线中的市电交变信号会造成通过电感的磁通量发生变化,从而产生微弱的感应电流。感应电流首先通过运算放大器TL072进行信号一级放大,由于机房中有其他频率信号和谐波的干扰,需要将这些信号滤除,所以将一级放大后的信号通过50Hz带通滤波器,然后再进行信号的二次放大,经过前期处理后信号变成具有一定振幅的50Hz的近似正弦波。此时的波形还要经过一个谷值检测电路后才能转换成一个可以被PIC单片机读取的电压信号。PIC通过对电压信号的测量判断空调电流的大小。

(4)温湿度模块

温湿度模块采用DHT11传感器,它是一款含有已校准数字信号输出的温湿度复合传感器,内部包括一个电阻式感湿原件和一个NTC测温原件,具有极高的可靠性和长期稳定性,该传感器体积小、功耗低、信号传输距离可达20米以上,测湿精度为±5%,测温精度为±2℃。该传感器通过单总线加一个上拉电阻与PIC单片机连接。

(5)水浸传感器

水浸传感器有线式和点式两种传感器,线式传感器测试范围较大,但布线比较麻烦,点式传感器虽然测试范围较小,但布线相对简单。本系统采用两个脚间距为2mm的不锈钢柱电极组成水浸传感器,不锈钢柱截面积宜大于10mm2,该传感器布置时两不锈钢柱紧贴在被测墙体或地表表面,当墙体或地表干燥时,电极间电阻无穷大,而当墙体渗水或地表积水时,两电极间电阻一般小于100kΩ,将电阻的变化转换为电压信号的变化送至单片机AD口,来判断漏水情况。

4 系统软件设计与实现
4.1 系统软件结构

系统软件包括嵌入式装置软件、服务器软件及外部邻居服务器软件三部分,结构如图3所示:

图3 系统软件结构

嵌入式装置软件采用C语言开发,实现系统数据采集、设备控制、串口数据的收发、数据解析与封装、系统设置、故障分析、智能温控及信息显示等功能。服务器软件采用两种平台开发,图像采集软件采用C#开发,实现图像采集、存储功能;Web服务与串口通信软件采用PHP语言开发,串口通信程序不断监听串口数据,对接收到的串口数据进行处理、分析与存储,如有异常情况则存入系统日志,同时将异常情况发送至管理员邮件和管理员手机;Web服务器基于Apache、PHP与MySQL环境,实现访问者的身份认证、用户管理、数据管理、同时将访问情况存入访问日志。外部服务器软件也采用PHP语言开发,实现每10分钟访问一次监控系统登录页面,分析页面内容,如果页面内容正确则不作处理,否则表示网络出现异常,发送邮件和短信通知服务器管理员,并存入网络异常日志,该软件的开发是为了防止内部网络出现问题后,设备异常信息无法通过网络通知管理员。

4.2 嵌入式装置软件实现

嵌入式装置软件包括主程序和中断服务程序两个部分。主程序经过初始化后,进入一个周期为100ms的循环体,进行数据采集、读数据发送标志位、发送数据、读控制变量、分析异常、智能温控、控制设备等。中断服务程序主要是串口中断,接收服务器发来的数据请求和设备控制请求,然后写数据发送标志位和控制变量。

嵌入式装置与服务器的通信需要定义严格的通信过程和通信协议。系统通信过程包括以下三种:

(1)自动发送:当嵌入式装置检测到数据异常,则自动发送异常数据至服务器,服务器收到异常数据后发送回复指令。

(2)请求发送:服务器发送请求指令给嵌入式装置,嵌入式装置根据请求类型发送数据,服务器收到数据后发送回复指令。

(3)心跳信号发送:嵌入式装置以每秒1次的频率向服务器发送两个字节信号,服务器对该信号不回复,用于服务器判断下位机是否故障或是否连接。

系统通信协议包括两种格式:

(1)单字节格式:请求指令和回复指令属于单字节格式,由服务器发送给嵌入式装置。

(2)双字节格式:数据和心跳信号属于双字节格式,由嵌入式装置发送给服务器,每个字节的最高位代表字节序号,其余14位代表数据,其中4位表示数据类型,10位表示数据值。

由于图书馆机房温度有严格的标准,温度波动必须控制在23±2℃(夏季)或20±2℃(冬季)之内,温度变化率<5℃/h[ 7],所以必须加强对机房温度的精确控制,温度控制通过空调控制来实现,嵌入式装置软件中包含了对本馆两台普通民用空调的温度控制与故障分析算法,部分代码如下:

Air_Mode_Set(air_a,Ref);Air_Mode_Set(air_a,Off); //空调开机自启动

...

if(time_hour==change_time) //双空调定时切换

{if(air_status_a){Air_Mode_Set(air_a,OFF);}

else{Air_Mode_Set(air_a,Ref);}

if(air_status_b){Air_Mode_Set(air_b,OFF);}

else{Air_Mode_Set(air_b,Ref);}}

...

if(environment_temperature>limit_high_tem) //下调设定温度

{air_set_temperature--;Air_Tem_Set(Con_Num,air_set_temperature);}

else if(environment_temperature< limit_low_tem) //上调设定温度

{air_set_temperature++;Air_Tem_Set(Con_Num,air_set_temperature);}

if((abs(air_temperature-air_set_temperature)>=limit_range_tem)&&(air_current<=dead_current)){Air_Status_Set(Con_Num,Wrong);} //空调故障判断

4.3 服务器软件实现

服务器软件包括图像采集软件、数据处理与存储软件、Web服务器软件、外部邻居服务器页面采集分析软件。

(1)图像采集调用avicap32.dll动态链接库所提供的API,avicap32.dll是Windows API应用程序接口相关模块,用于对摄像头和其他视频硬件进行AVI视频和图像的截取。主要函数如下:

this.OpenCapture(); //打开摄像头

CameraForm.SendMessage(this.hHwnd, 0x41e, 0, 0); //复制当前图像

image1.Save("C://PHPnow-1.5.6/htdocs/test2/" + SaveFileDialog1.FileName + ".jpeg", ImageFormat.Jpeg); //存储图像到指定位置

CameraForm.SendMessage(this.hHwnd, 0x40b, 0, 0); //断开摄像头采集

CameraForm.DestroyWindow(this.hHwnd); //注销窗口

(2)数据处理与存储软件是Web服务器应用程序与底层硬件的桥梁,定时发送串口指令给嵌入式装置请求数据,并分析得到的数据;同时监听串口数据,如果嵌入式装置自动发送数据,则分析处理数据。数据处理与存储软件流程如图4所示:

图4 数据处理与存储流程图

其中,报警有两种方式:短信报警和邮件报警,短信报警采用移动飞信方式发送短信,用PHP发送HTTP请求模拟登录WAP版本的飞信,并模拟发送飞信,部分代码如下:

require ′C:/PHPnow-1.5.6/htdocs/feixin/PHPFetion.php′; //发送库函数

﹩fetion = new PHPFetion(﹩tnum, ﹩password); //飞信登录

﹩fetion->send(﹩tnum, ﹩content); //信息发送

(3)Web服务器软件实现用户通过浏览器访问和管理数据的功能,主要包含用户身份认证设计、图像及数据页面设计、数据分析页面设计、数据管理页面设计和用户管理页面设计等。Web服务器软件部分主要函数如下:

function CheckUser(﹩username, ﹩password, ﹩imagecode);

//用户身份认证

function EncodePassword(﹩password); //密码加密

function DecodePassword(﹩password); //密码解密

function query(﹩mysql); //SQL查询

function addUser(﹩username, ﹩password, ﹩role); //增加用户

(4)外部邻居服务器软件实现对页面的抓取、分析与网络异常处理,部分代码如下:

﹩url = "http://211.70.105.23/jfjk/admin/"; //监控登录页地址

﹩html_buf = file_get_contents(﹩url); //抓取页面内容

if(strstr(﹩html_buf,′< title >登录< /title >′)==FALSE) //是否包含特定字符

{write_log(); //写日志

send_message();} //发送消息

5 应用效果展示

数字图书馆机房远程监控系统基于B/S结构,对系统的访问通过浏览器进入。在登录页面输入用户名、密码和验证码后,进入监控系统主页面。监控系统主页面包括5个区域:准实时图像、环境数据、设备状态、UPS数据和UPS状态,如图5所示:

图5 监控主页面

监控主页面实时图像每5秒更新一次,其他数据每2秒更新一次。通过对系统的测试,发现各项数据存在一定的误差和时延,但均在允许范围内。对系统进行人为制造故障测试,漏报率小于1%。在系统投入使用半年内,运行稳定,未发生漏报,误报“人体感应”和“空调故障”各一次。

6 结 语

本文的数字图书馆机房远程监控系统是根据本馆机房实际情况而开发的一个低成本监控系统,由于成本限制,系统功能在智能性和体验性上有所欠缺,但不失完整性、稳定性和易用性,切实解决了本馆机房的安全问题。下一步的工作是结合图书馆发展需要,针对系统出现的一些问题,对系统软硬件进行升级和完善,进一步提高系统性能。

The authors have declared that no competing interests exist.

作者已声明无竞争性利益关系。

参考文献
[1] 樊春, 杨天颖, 杨旭, . 高校机房动力及环境监控系统的设计[J]. 中山大学学报: 自然科学版, 2009, 48(Z1): 226-228. [本文引用:1]
[2] 张永波. 高校信息机房环境数据网络化监控系统的应用研究[J]. 丽水学院学报, 2010, 32(5): 46-50. [本文引用:1]
[3] 陈碧玉, 罗轶. 数字视频及流媒体技术在电信机房监控系统中的应用[J]. 自动化与信息工程, 2010(3): 20-22. [本文引用:1]
[4] 张尧, 韩雪琴, 夏永泉. 采用GPRS的远程UPS设备监控系统[J]. 计算机工程与设计, 2010, 31(12): 2716-2719. [本文引用:1]
[5] 李学海. PIC单片机实用教程[M]. 北京: 北京航天航空大学出版社, 2007: 22-23. [本文引用:1]
[6] 广州汇承信息科技有限公司: HC-05规格书[EB/OL]. [2010-05-15]. http://www.wavesen.com. [本文引用:1]
[7] 郭永建, 赵岩碧. 数字图书馆机房环境建设的实践与探讨[J]. 江西图书馆学刊, 2006, 36(2): 120-121. [本文引用:1]