• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      開源硬件arduino在通信機(jī)房環(huán)境集中監(jiān)控中的應(yīng)用

      2014-09-11 18:23:36趙鵬褚劍
      中國新通信 2014年11期
      關(guān)鍵詞:通信機(jī)房機(jī)房空調(diào)

      趙鵬 褚劍

      【摘要】通信機(jī)房環(huán)境集中監(jiān)控系統(tǒng)主要是對機(jī)房的溫濕度、電源、空調(diào)等相關(guān)設(shè)備運(yùn)行情況進(jìn)行監(jiān)控,然后對采集到的環(huán)境數(shù)據(jù)和動力設(shè)備運(yùn)行數(shù)據(jù)進(jìn)行相關(guān)的分析與研究。本文采用arduino控制器以及配套的傳感器獲取環(huán)境數(shù)據(jù),利用arduino控制器和MAX485模塊通過Modbus協(xié)議監(jiān)控空調(diào)、UPS等運(yùn)行狀態(tài)可以完成數(shù)據(jù)采集工作。

      【關(guān)鍵詞】arduino傳感器modbus監(jiān)控

      一、環(huán)境集中監(jiān)控系統(tǒng)結(jié)構(gòu)

      隨著信息網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,不同種類、不同數(shù)量的網(wǎng)絡(luò)設(shè)備分布于用戶分支機(jī)構(gòu)所在的不同地域,由于缺乏與之相對稱的運(yùn)維系統(tǒng),數(shù)量眾多的無人值守機(jī)房的物理運(yùn)行環(huán)境、動力配電狀況、設(shè)備運(yùn)行狀況等可能發(fā)生危急狀況,而無法及時發(fā)現(xiàn)和處理。因此,機(jī)房環(huán)境集中監(jiān)控系統(tǒng)可以對電力供應(yīng)、溫度、濕度、空氣含塵量、UPS、空調(diào)等設(shè)備運(yùn)行狀態(tài)進(jìn)行24小時實(shí)時測量與智能化調(diào)節(jié),保證網(wǎng)絡(luò)運(yùn)行環(huán)境的穩(wěn)定與網(wǎng)絡(luò)軟硬件資源的安全。

      該系統(tǒng)可以實(shí)現(xiàn)對機(jī)房溫濕度、精密空調(diào)、配電柜、UPS、門禁等實(shí)現(xiàn)監(jiān)控,如圖1所示。

      二、數(shù)據(jù)采集

      通信機(jī)房環(huán)境集中監(jiān)控需要實(shí)現(xiàn)對環(huán)境數(shù)據(jù)的采集,例如機(jī)房的溫濕度,空氣含塵量,空調(diào)的運(yùn)行狀態(tài),配電柜的輸入電壓、電流、功率,UPS的運(yùn)行狀態(tài)等數(shù)據(jù)進(jìn)行采集。其中一些環(huán)境數(shù)據(jù)可以利用傳感器直接獲取,而UPS、精密空調(diào)的運(yùn)行狀態(tài)可以通過廠家提供的RS485接口的modbus協(xié)議獲取。

      2.1傳感器

      傳感器是一種檢測裝置,能夠感受被測的信息并能將感受的信息按照一定的規(guī)律轉(zhuǎn)換成電信號或者其他形式輸出,傳感器是實(shí)現(xiàn)自動檢測盒自動控制的首要環(huán)節(jié)。對于通信機(jī)房的一些環(huán)境數(shù)據(jù)可以采用傳感器獲取,以下是部分采集通信機(jī)房環(huán)境實(shí)時數(shù)據(jù)的傳感器,見表1。

      2.2modbus協(xié)議

      Modbus協(xié)議是應(yīng)用于電子控制器的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)和其他設(shè)備之間可以通信,成為一種通用的工業(yè)標(biāo)準(zhǔn)。不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。Modbus協(xié)議有兩種模式,ASCII模式和RTU模式。其中RTU模式比ASCII模式可以傳送更多的數(shù)據(jù),廣泛應(yīng)用于工控領(lǐng)域。Modbus協(xié)議采用主從方式,其中一臺控制器作為主機(jī)設(shè)備發(fā)送信息到從設(shè)備,從設(shè)備返回一個響應(yīng),見圖2。

      Modbus RTU查詢命令格式,見表2。

      Modbus RTU正?;貞?yīng)格式,見表3。

      Modbus RTU異常響應(yīng)格式,見表4。

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

      Arduino是一個基于開放源碼的軟硬件平臺,使用了AVR單片機(jī),構(gòu)建于開放源代碼simple I/O接口板,可以與傳感器和各式各樣的電子元件連接,通過傳感器感知外界環(huán)境數(shù)據(jù)。

      3.1接收傳感器數(shù)據(jù)

      利用arduino控制器可以獲取通信機(jī)房溫濕度、空氣含塵量、電流、電壓、電功率數(shù)據(jù)。以下是利用DHT11采集機(jī)房溫濕度的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協(xié)議數(shù)據(jù)

      對于UPS、精密空調(diào)的運(yùn)行狀態(tài)可以通過廠家提供的RS485接口的modbus協(xié)議讀取設(shè)備的運(yùn)行狀態(tài)。

      3.2.1對UPS進(jìn)行監(jiān)控

      通過UPS廠家提供的modbus協(xié)議通訊接口對UPS內(nèi)部整流器、逆變器、電池、旁路、負(fù)載等各部件的運(yùn)行狀態(tài)進(jìn)行實(shí)時監(jiān)視,參數(shù)超出閾值時,及時報警。

      艾默生UH31UPS安裝modbus適配卡,設(shè)置通信波特率和設(shè)備地址后,就可以通過arduino控制板提供的modbus server端與UPS進(jìn)行通信。該適配卡僅對功能碼#03的查詢命令有應(yīng)答信息,適配卡扮演從機(jī)的角色,等待控制器的查詢。將arduino控制器與max485模塊連接,轉(zhuǎn)換TTL到RS485。

      以下是讀取UPS相位電壓的相關(guān)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( );

      }

      首先導(dǎo)入modbus庫文件,SimpleModbusMaster.h。

      然后通過modbus_construct( )函數(shù)構(gòu)造請求信息,其中packect1為返回參數(shù),包含了從設(shè)備的返回信息。Modubs_configure( )函數(shù)初始化主從設(shè)備通訊參數(shù)。

      最后通過Modbus_update( )將請求信息發(fā)送到從設(shè)備,返回信息包含在readRegs緩存中,可以從中讀取相關(guān)數(shù)據(jù),該實(shí)例中返回UPS輸入電壓A相電壓值。

      3.2.2對精密空調(diào)進(jìn)行監(jiān)控

      通過空調(diào)廠家提供的modbus協(xié)議通訊接口對空調(diào)各部件的運(yùn)行狀態(tài)與參數(shù)進(jìn)行監(jiān)控,若空調(diào)組發(fā)生故障,及時報警。

      如果要查詢室內(nèi)溫度需要構(gòu)造如下請求信息:

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

      Packet1為從設(shè)備返回信息,其中regRead緩存中包含了返回數(shù)據(jù),例如返回的數(shù)據(jù)是41 A8 00 00轉(zhuǎn)換為float型數(shù)據(jù)就是室內(nèi)溫度21度。

      四、對設(shè)備的控制

      4.1modbus協(xié)議

      可以通過modbus協(xié)議的功能碼16寫輸出寄存器,更改寄存器的狀態(tài)實(shí)現(xiàn)對設(shè)備的控制。例如控制UPS逆變器關(guān)機(jī)可以構(gòu)造如下請求信息。

      unsigned int writeRegs[1];

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

      通過功能碼PRESET_MULTIPLE_REGISTERS(功能碼16)寫輸出寄存器(0x4E22),實(shí)現(xiàn)UPS逆變器關(guān)機(jī),其中writeRegs中的數(shù)據(jù)為延時時間。

      4.2繼電器

      可以采用與arduino控制器配套的繼電器模塊,利用3.3V~5V的TTL控制信號,實(shí)現(xiàn)“自動開關(guān)”的功能。根據(jù)采集到的環(huán)境參數(shù)控制相關(guān)設(shè)備的運(yùn)行。例如當(dāng)機(jī)房濕度小于某值時,可以控制加濕器開機(jī),增加通信機(jī)房的濕度。

      五、報警模塊

      利用GSM/GPRS SIM900模塊,插入arduino控制器。當(dāng)所檢測的環(huán)境數(shù)據(jù)超出閾值時,通過GSM模塊發(fā)送語音或者短信報警信息。

      #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]='

      鹤岗市| 锦州市| 贺兰县| 吉安县| 阳朔县| 瑞安市| 康保县| 定安县| 宝坻区| 巴彦淖尔市| 湘潭县| 额尔古纳市| 扶风县| 绥江县| 宣化县| 乌拉特前旗| 定南县| 峨边| 来安县| 图片| 蒙自县| 兴安盟| 同心县| 乾安县| 青神县| 偏关县| 广安市| 库车县| 铁岭市| 米易县| 怀远县| 麟游县| 祁门县| 旅游| 庐江县| 永州市| 康乐县| 旌德县| 南木林县| 永泰县| 湘潭县|