当前位置:无忧公文网 >范文大全 > 征文 > 开源硬件arduino在通信机房环境集中监控中的应用

开源硬件arduino在通信机房环境集中监控中的应用

时间:2022-03-22 09:04:17 浏览次数:

【摘要】通信机房环境集中监控系统主要是对机房的温湿度、电源、空调等相关设备运行情况进行监控,然后对采集到的环境数据和动力设备运行数据进行相关的分析与研究。本文采用arduino控制器以及配套的传感器获取环境数据,利用arduino控制器和MAX485模块通过Modbus协议监控空调、UPS等运行状态可以完成数据采集工作。

【关键词】arduino传感器modbus监控

一、环境集中监控系统结构

随着信息网络技术的不断发展,不同种类、不同数量的网络设备分布于用户分支机构所在的不同地域,由于缺乏与之相对称的运维系统,数量众多的无人值守机房的物理运行环境、动力配电状况、设备运行状况等可能发生危急状况,而无法及时发现和处理。因此,机房环境集中监控系统可以对电力供应、温度、湿度、空气含尘量、UPS、空调等设备运行状态进行24小时实时测量与智能化调节,保证网络运行环境的稳定与网络软硬件资源的安全。

该系统可以实现对机房温湿度、精密空调、配电柜、UPS、门禁等实现监控,如图1所示。

二、数据采集

通信机房环境集中监控需要实现对环境数据的采集,例如机房的温湿度,空气含尘量,空调的运行状态,配电柜的输入电压、电流、功率,UPS的运行状态等数据进行采集。其中一些环境数据可以利用传感器直接获取,而UPS、精密空调的运行状态可以通过厂家提供的RS485接口的modbus协议获取。

2.1传感器

传感器是一种检测装置,能够感受被测的信息并能将感受的信息按照一定的规律转换成电信号或者其他形式输出,传感器是实现自动检测盒自动控制的首要环节。对于通信机房的一些环境数据可以采用传感器获取,以下是部分采集通信机房环境实时数据的传感器,见表1。

2.2modbus协议

Modbus协议是应用于电子控制器的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其他设备之间可以通信,成为一种通用的工业标准。不同厂商生产的控制设备可以连成工业网络,进行集中监控。Modbus协议有两种模式,ASCII模式和RTU模式。其中RTU模式比ASCII模式可以传送更多的数据,广泛应用于工控领域。Modbus协议采用主从方式,其中一台控制器作为主机设备发送信息到从设备,从设备返回一个响应,见图2。

Modbus RTU查询命令格式,见表2。

Modbus RTU正常回应格式,见表3。

Modbus RTU异常响应格式,见表4。

三、控制器——开源硬件arduino

Arduino是一个基于开放源码的软硬件平台,使用了AVR单片机,构建于开放源代码simple I/O接口板,可以与传感器和各式各样的电子元件连接,通过传感器感知外界环境数据。

3.1接收传感器数据

利用arduino控制器可以获取通信机房温湿度、空气含尘量、电流、电压、电功率数据。以下是利用DHT11采集机房温湿度的arduino代码。

#include "DHT.h"

#DHT dht(2, DHT11);

void setup( ) {

dht.begin( );

}

void loop( ) {

if (isnan(t) || isnan(h)) {

float h = dht.readHumidity( );

float t = dht.readTemperature( );

}

}

3.2接收modus协议数据

对于UPS、精密空调的运行状态可以通过厂家提供的RS485接口的modbus协议读取设备的运行状态。

3.2.1对UPS进行监控

通过UPS厂家提供的modbus协议通讯接口对UPS内部整流器、逆变器、电池、旁路、负载等各部件的运行状态进行实时监视,参数超出阈值时,及时报警。

艾默生UH31UPS安装modbus适配卡,设置通信波特率和设备地址后,就可以通过arduino控制板提供的modbus server端与UPS进行通信。该适配卡仅对功能码#03的查询命令有应答信息,适配卡扮演从机的角色,等待控制器的查询。将arduino控制器与max485模块连接,转换TTL到RS485。

以下是读取UPS相位电压的相关arduino代码:

#include

#define TxEnablePin 2

enum{

PACKET1,

TOTAL_NO_OF_PACKETS // leave this last entry

};

Packet packets[TOTAL_NO_OF_PACKETS];

packetPointer packet1 = &packets[PACKET1];

unsigned int readRegs[2];

void setup() {

modbus_construct(packet1, 0x01, READ_HOLDING_REGISTERS, 0x041A, 2, readRegs);

modbus_configure(&Serial, 9600, SERIAL_8N2, 1200, polling, 10, TxEnablePin, packets, TOTAL_NO_OF_PACKETS);

}

void loop( ) {

modbus_update( );

}

首先导入modbus库文件,SimpleModbusMaster.h。

然后通过modbus_construct( )函数构造请求信息,其中packect1为返回参数,包含了从设备的返回信息。Modubs_configure( )函数初始化主从设备通讯参数。

最后通过Modbus_update( )将请求信息发送到从设备,返回信息包含在readRegs缓存中,可以从中读取相关数据,该实例中返回UPS输入电压A相电压值。

3.2.2对精密空调进行监控

通过空调厂家提供的modbus协议通讯接口对空调各部件的运行状态与参数进行监控,若空调组发生故障,及时报警。

如果要查询室内温度需要构造如下请求信息:

modbus_construct(packet1, 0x01, READ_HOLDING_REGISTERS, 0x7E, 4, readRegs);

Packet1为从设备返回信息,其中regRead缓存中包含了返回数据,例如返回的数据是41 A8 00 00转换为float型数据就是室内温度21度。

四、对设备的控制

4.1modbus协议

可以通过modbus协议的功能码16写输出寄存器,更改寄存器的状态实现对设备的控制。例如控制UPS逆变器关机可以构造如下请求信息。

unsigned int writeRegs[1];

modbus_construct(packet2, 0x01, PRESET_MULTIPLE_REGISTERS, 0x4E22, 2, writeRegs);

通过功能码PRESET_MULTIPLE_REGISTERS(功能码16)写输出寄存器(0x4E22),实现UPS逆变器关机,其中writeRegs中的数据为延时时间。

4.2继电器

可以采用与arduino控制器配套的继电器模块,利用3.3V~5V的TTL控制信号,实现“自动开关”的功能。根据采集到的环境参数控制相关设备的运行。例如当机房湿度小于某值时,可以控制加湿器开机,增加通信机房的湿度。

五、报警模块

利用GSM/GPRS SIM900模块,插入arduino控制器。当所检测的环境数据超出阈值时,通过GSM模块发送语音或者短信报警信息。

#include

#include

char number[]="+39123456789";//Destination number

char text[]="alarm: UPS1 is power off";//SMS to send

byte type_sms=SMS_UNREAD;//Type of SMS

byte del_sms=0;//0: No deleting sms - 1: Deleting SMS

GSM gsm;

void setup( ) {

gsm.TurnOn(9600);//module power on

gsm.InitParam(PARAM_SET_1);//configure the module

gsm.Echo(0); //enable AT echo

}

void loop( ){

char inSerial[5];

int i=0;

delay(2000);

Check_SMS();//Check if there is SMS

if (Serial.available() > 0) {

while (Serial.available() > 0) {

inSerial[i]=(Serial.read()); //read data

i++;

}

inSerial[i]="\0";

if(inSerial=="s"){

Serial.print("Send SMS to ");

Serial.println(number);

error=gsm.SendSMS(number,text);

}

}

六、小结

本文充分利用arduino的开源特性,设计了一套应用于机房的监控系统,能有效的实现对机房内的环境如温度、湿度、烟雾浓度等进行监测,还能对UPS的运行情况、机房专用智能空调机的运行情况进行监测。一旦出现异常,该系统可以自动通过GSM短信的形式及时告知机房管理人员,达到机房无人值守的目的。

参考文献

[1]殷鹏. 通信机房动力与环境监控系统实现和研究[D]

[2]雷远扬. 通信电源设备、空调和环境集中监控管理系统. 电信工程技术与标准化. 2003.72-75

[3]胡干勋. 动力环境集中能够系统可靠性的提高[J]. 通信电源技术

[4]崔怡,何继淳,刘小丹. 基于构建的远程视频监控设计与实现[J]. 计算机工程

推荐访问: 开源 机房 监控 通信 环境