基于ZigBee技术的机房监控系统0.docx
- 文档编号:28245403
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:21
- 大小:690.90KB
基于ZigBee技术的机房监控系统0.docx
《基于ZigBee技术的机房监控系统0.docx》由会员分享,可在线阅读,更多相关《基于ZigBee技术的机房监控系统0.docx(21页珍藏版)》请在冰豆网上搜索。
基于ZigBee技术的机房监控系统0
题目:
基于ZigBee技术的机房监控系统
摘要
对于公司、学校和家庭的机房设备实时、动态监控的需求,设计了一种基于ZigBee技术的多终端的远程机房监控系统。
该系统以多块ZigBee作为监控模块,在其上集成了温湿度、噪声、振动、电压电流等各种传感器以及蜂鸣器、门控装置等各种控制设备。
同时每块ZigBee会将这些传感器的数据实时传递到服务器上,服务器也可以对每个AVR进行控制,使得用户无论离开监控环境多远都可通过Internet实现对机房的远程监控。
整个系统安全、可靠、稳定、方便,扩展和升级都很方便。
关键词:
ZigBee,传感器,监控
Abstract
Tomeetthedemandofmonitoringthemachineroom’sequipmentsincompanies、collegecampusandfamilydigitaldynamicallyandinrealtime,aremotemonitorsystemofengineroomisdesignedbasedonZigBeetechnology.TheZigBeedevelopmentboardisusedasmonitorboard,whichisintegratedwithtemperature,moisture,noise,shaking,currentandvoltagesensors.EachZigBeewillpassthesesensordatatotheserveratthesametime,servercanalsobecontrolledforeachAVR,allowsuserstomonitortheenvironmentnomatterhowfarawaycanbeachievedthroughtheInternetremotemonitoringofengineroom.Itisprovedthat,thesystemissafe,convenient,stable,andcanbeupgradedeasily.
Keywords:
ZigBee,sensor,monitor
1任务提出与方案论证
1.1任务提出
近年来,随着网络技术的发展和成熟,越来越多的公司、学校和家庭重视数字化建设,工厂和学校配置有大量计算机网络中心和机房,这些机房平时无人看守。
只是在必要时,做些检查。
这样很难实时的监控到计算机网络中心或机房的状态变化,很容易带来一些不必要的损失,如有人没经过同意进入计算机网络中心窃取资料或盗取设备,还有可能在机房发生火灾没能及时检测到等。
普通的家庭也担心这样的安全隐患。
对此提出了这套系统。
这套系统能够采集机房内类的电压、电流、温湿度、声音检测、烟雾浓度、门的状态、机房内是否有震动等参数信息。
同时还可以对机房的门进行监控,蜂鸣器报警等。
这些参数由处理器采集通过ZigBee上传服务器,用户在通过访问服务器来查看或控制相应的设备。
在该系统中主要讲解参数的采集和怎样传输到服务器。
1.2方案论证
首先讲解各项传感器参数的采集。
对电压的采集,最开始的方案是通过变压器将220V交流降压到低电压5V以下,再通过ADC采样进行分析。
但是变压器是铜线绕成会有一定的电感,这样会对交流电有一定的阻碍。
后来采用纯电阻来实现,通过两个电阻分压得到低电压,再由ADC采集低电压。
由于市电为50Hz,所以ADC要求不高采用常用ADC0809。
对电流的采集,电流不能直接进行检测。
后来想到可以通过转换器件将电流转换成电压再进行采集。
这样就想到使用互感器将电流转换成电压,再通过ADC采集。
对温湿度采集,最开始在实验室找到18B20温度传感器和一个输出为模拟量的湿度传感器。
但是这个方案实现起来有点麻烦,原因是18B20是一个单总线的传感器,控制起来较复杂,还有就是湿度传感器输出的是模拟量这会增加ADC的工作负担。
因为后面的烟雾传感器也是个模拟量输出的。
在网上那个找了下,后来查到了一个传感器DHT11。
这个传感器是一个温湿度集成在一起的传感器。
虽然也是单总线,但是可以减轻ADC的负担。
声音检测这个系统首先喜爱那个到的就是用麦克风采集声音,再经运放放大后,再通过比较器得到声音信号量。
烟雾浓度采用SQ-2对可燃性气体进行检测。
门的状体采用红外对管检测,震动采用震动传感器检测。
最后数据如何传给服务器。
最开始是想将采集板和服务器做到同一块板上。
但这样很浪费资源。
如果在就近的几个机房需要每个机房都有服务器。
后来想在采集板和服务器间采用总分式,多块采集板可以连接到一个服务器上。
那么服务器和采集板如何通讯呢?
开始时采用串口通讯,后来才发觉通讯距离很有限。
距离不是很远,数据量不大。
后来就想到了ZigBee无线通讯。
ZigBee是一种新兴的短距离、低功耗、低数据速率、低成本、低复杂度、安全性能高的无线网络技术,ZigBee采取了IEEE802.15.4强有力的无线物理层所规定的全部优点:
省电、简单、成本又低的规格;ZigBee增加了逻辑网络、网络安全和应用层;ZigBee的主要应用领域包括无线数据采集、无线工业控制、消费性电子设备、汽车自动化、家庭和楼宇自动化、医用设备控制、远程网络控制等场合;ZigBee无线可使用的频段有3个,分别是2.4GHz的ISM频段、欧洲的868MHz频段、以及美国的915MHz频段,而不同频段可使用的信道分别是16、1、10个,在中国采用2.4GH频段,是免申请和免使用费的频率。
这些都很适合在这个系统中应。
2总体设计
机房监控系统的首要任务是收集机房内的各传感器探测得到的环境参数,机房中安装上温度、烟感、火警探头并将这些探头探测出的数据通过AVR单片机进行采集处理再由AVR控制CC2420将采集到的数据通过无线传感网络传输到与服务器相连的zigbee模块上,再通过已经建设好的有线网络将数据传输到互联网上,将这些信息传送至远程监控点供管理者查看。
这不仅避免了维护人员的奔波之苦,更提高了机房管理的效率,杜绝安全事故的发生。
系统整体结构图如图2-1所示:
图2-1系统整体结构图
3详细设计
3.1电压电流测量原理
3.1.1电压测量原理及其电路
电压测量模块主要用于对供电质量的检测。
在这个模块对供电电压尽量进行无失真的采样,最开始是对220V交流电经变压器降压后进行采样。
后来意识到变压器中存在电感会对220V交流电的波形有失真。
所以采用纯电阻分压采样。
用一个4.3M的电阻与RES1(200K)滑动变阻器串联,在滑动变阻器两端采样,面加一级电压跟随,与前一级隔离,由于采样电压是双极性的,而我们采用的ADC0809是单极性的需要将电压进行提升。
采用LM317稳压器件通过滑动变阻器RES2进行调节使输出波形为单极性。
电压跟随后产生的双极性信号与LM317产生的基准电压经第二片OP07后输出波形就是单极性信号,为了使电压过高也能采到值,我们把220V交流电,分压到4.5V。
这样我们能采到的电压值可以在250左右了。
电路图如图3-1。
图3-1电压测量电路图
3.1.2电流测量原理及其电路
电流测量模块主要与电压结合起来对用电功率进行检测。
由于我们是把电压采集与电流采集做在一块板上的,上面电路图的“L”端与电压采集模块“L”端相连,为220V交流电的输入。
220V另一输入与地相连。
“R7”电阻与“C3”电容串联后,在与用电设备并联。
这里“R7”与“C3”起了一个简单的滤除高频成分。
“T”为电流互感器,经互感器后的电流也是双极性的,与电压一样也需加一个电流提升。
变为单极性再由ADC采集。
电路图如图3-2。
图3-2电流测量电路图
3.1.3电压、电流采电路介绍
电压、电流以及烟雾浓度模拟信号都是通过ADC0809转换成数字信号采样量化再传输到AVR在进行处理的。
ADC_A0-ADC_A2为8路通道的地址信号,ADC_ALE为地址锁存信号,ADC_D0~D7为转换后的结果输出数据总线,ADC_Start为ADC开始转换信号,ADC_OVER为转换结束信号。
ADC_EN为输出使能信号,ADC需外加时钟由ADC_clk输入。
以上引脚全部接入到AVR的IO口上,由AVR控制ADC0809的时序。
ADC第一路模拟信号接220V交流电采集信号;第二路接220V电流采集信号。
第三路接烟雾采集信号。
电路图如图3-3。
图3-3电压电流测量电路
3.1.4ADC0809的设计原理
ADC08098路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道抵制锁存用译码电路,其转换时间为100μs左右。
单极性+5V电源供电,模拟输入电压范围0~5V,不需零点和满刻度校准。
时钟由外部供给。
工作时序如图3-4。
图3-4工作时序
3.2温湿度传感器介绍
3.2.1温湿度传感器DHT11功能介绍
DHT11相对湿度和温度测量全部校准,数字输出超长的信号传输距离超低能耗,4引脚安装。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,信号传输距离可达20米以上,DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。
电路如图3-5介绍:
图3-5温湿度传感器DHT11
该电路很简单传感器有4个引脚,只有3个引脚有用。
一个接VCC,一个接GND,还有一个是数据总线。
外接一个10K的上拉电阻,再接一个1K的电阻就可以和微处理器的IO口相接了。
3.2.2温湿度传感器DHT11设计原理
由于是单总线,在设计中首先将单总线拉低20ms,再置高,过50us检测总线是否有应答信号(总线被拉低)。
检测到后在等待数据线再被拉高大约80us,再被值低,在数据线再次产生上升沿开始计时,在数据线被拉低后结束计时,通过上升沿时间判断为0,或为1.总共可读出40个数据。
前16位为湿度,后16位为温度,最后8位为校验码。
校验合格后写入寄存器。
等待CPU的读取。
读完一次数据后需经过1秒钟后,再次读取。
整个周期大约1.08秒。
每个1.08秒会更新一次数据。
DHT11时序图如图3-6、3-7、3-8所示:
图3-6
图3-7
图3-8
3.3噪声测量原理介绍
噪声监测模块主要用于监测机房内是否有高分贝的声音,用于判断是否有小偷的闯入。
如果有小偷的在机房对机房的门进行敲击,或进入后说话,敲打机房内里面的机柜等发出声响。
都会监测到,并将有效信号传入AVR。
再由AVR控制声音播放模块发出声音提示。
该电路由“SOUND”麦克风采集声音通过“C1”电容简单的滤波,再由“OP07”请参考文献[]《OP07.pdf》对声音放大,放大倍数由“R9”滑动变阻器调节,再经另一片OP07进行比较输出,后面这片“OP07”用作比较器的参考电压由“R11”滑动变阻器调节。
这里相当于一个门限值,一般情况下不会超过这个门限,在引脚“SOUND”输出为低电平,若超过这个门限值认为有人闯入,“SOUND”输出为高电平。
“SOUND”引脚与AVR的一个IO相连,再由AVR根据监测到的信号做相应的处理。
电路图如图3-9。
图3-9噪声监测电路图
3.4烟雾度测量介绍
3.4.1烟雾度传感器介绍
在较宽的浓度范围内对可燃气体有良好的灵敏度对液化气、丙烷、氢气的灵敏度较高长寿命、低成本简单的驱动电路即可。
MQ-2气体传感器请参考文献[]《MQ-2/MQ-2S可燃气体检测用》所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。
当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。
使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。
MQ-2气体传感器对液化气、丙烷、氢气的灵敏度高,对天然气和其它可燃蒸汽的检测也很理想。
这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。
3.4.2烟雾测量的原理
烟雾传感器模块主要用于检测机房内可燃性气体的浓度,防止火灾的发生。
上图是MQ-2的简单电路,调节R3来改变MQ-2的分辨率。
由于MQ-2产生的是模拟信号,需经AD采样再送入AVR。
这里MQ-2连接到ADC0809的第3路输入端。
电路图如图3-10。
图3-10烟雾传感器模块电路图
3.5门控监控及蜂鸣器介绍
3.5.1门控电路介绍
门监控系统主要用于防止非工作人员的进入。
对门的控制:
通过AVR的一个IO引脚与该模块的“DOOR”引脚相连来控制4N25光耦隔器件的导通和关闭。
我们原打算用电磁阀来控制的们的开关。
由于门锁在关闭的情况下需很大的力才能打开,这样需要很大的电磁阀。
由于体积原因这里采用发光二极管来代替电磁阀和门锁的状态。
4N25光耦隔器件在这里主要是隔离电磁阀在开和关时,带来的强大反电动势。
防止AVR被烧坏。
对门的状态的检测:
通过AVR的一个IO与该模块的“HT130”引脚相连来控制检测HT130红外对管的接受端与发送端是否有障碍物。
这里当HT130红外对管U形槽有障碍物时,我们认为门是开启的,无障碍物时认为是关闭的,一次来判断门的状态的开关。
电路图如图3-11。
图3-11门监控系统电路图
3.5.2蜂鸣器介绍
蜂鸣器电路主要是对整个系统的工作状态,在现场起一个提示报警作用。
例如温度和湿度过高不适用机房仪器设备的工作时。
通过AVR的另一个引脚与该模块的“BUZZER”引脚相连来控制蜂鸣器的发声。
该电路主要是通过一个三极管来驱动蜂鸣器发声。
电路图如图3-12。
图3-12蜂鸣器电路图
3.6震动传感器检测电路介绍
震动传感器检测模块主要用于非工作人员入侵机房的检测,该传感器主要用在空调的户外机和一些设备上。
上图“ZD”脚与AVR的一个IO连接,当空调的户外机遭到非法震动。
就会在“ZD”脚上会产生一个下降沿。
在AVR上通过读取这个引脚的点平变化就可以知道是否有震动产生。
电路图如图3-13。
图3-13震动传感器检测电路
3.7CC2420模块介绍
ZigBee是一种基于IEEE802.15.4规范的无线技术。
它具有在802.15.4规范上创建的安全和应用层接口、工作于免授权频段、以年计算的超低电池寿命、低至3美金的超低成本、极大可伸缩的网格和星型网络拓扑每个主设备可支持4万多个节点,数据速率达250kbps码片速率达2MChip/s;采用o-QPSK调制方式;超低电流消耗(RX:
19.7mA,TX:
17.4mA)高接收灵敏度(-99dBm);抗邻频道干扰能力强(39dB);内部集成有VCO、LNA、PA以及电源整流器,采用低电压供电(2.1~3.6V);输出功率编程可控;IEEE802.15.4MAC层硬件可支持自动帧格式生成、同步插入与检测、16bitCRC校验、电源检测、完全自动MAC层安全保护(CTR,CBC-MAC,CCM);与控制微处理器的接口配置容易(4总线SPI接口);CC2420芯片的内部结构如图1所示。
天线接收的射频信号经过低噪声放大器和I/Q下变频处理后,中频信号只有2MHz,此混合I/Q信号经过滤波、放大、AD变换、自动增益控制、数字解调和解扩,最终恢复出传输的正确数据。
发射机部分基于直接上变频。
要发送的数据先被送入128字节的发送缓存器中,头帧和起始帧是通过硬件自动产生的。
根据IEEE802.15.4标准,所要发送的数据流的每4个比特被32码片的扩频序列扩频后送到DA变换器。
然后,经过低通滤波和上变频的混频后的射频信号最终被调制到2.4GHz,并经放大后送到天线发射出去。
CC2420只需要极少的外围元器件,其典型应用电路如图3-14所示。
它的外围电路包括晶振时钟电路、射频输入/输出匹配电路和微控制器接口电路三个部分。
芯片本振信号既可由外部有源晶体提供,也可由内部电路提供。
由内部电路提供时需外加晶体振荡器和两个负载电容,电容的大小取决于晶体的频率及输入容抗等参数。
例如当采用16Mhz晶振时 其电容值约为22pF。
射频输入/输出匹配电路主要用来匹配芯片的输入输出阻抗,使其输入输出阻抗为50Ω,同时为芯片内部的PA及LNA提供直流偏置。
CC2420可以通过4线SPI总线(SI、SO、SCLK、CSn)设置芯片的工作模式 并实现读/写缓存数据 读/写状态寄存器等。
通过控制FIFO和FIFOP管脚接口的状态可设置发射/接收缓存器。
注意:
在SPI总线接口上进行的地址和数据传输大多是MSB优先的。
CC2420片内有33个16比特状态设置寄存器,在每个寄存器的读/写周期中,SI总线上共有24比特数据,分别为:
1比特RAM/寄存器选择位(0:
寄存器,1:
RAM),1比特读/写控制位(0:
写,1:
读),6比特地址选择位、16比特数据位。
在数据传输过程中CSn必须始终保持低电平。
另外,通过CCA管脚状态的设置可以控制清除通道估计 通过SFD管脚状态的设置可以控制时钟/定时信息的输入。
这些接口必须与微处理器的相应管脚相连来实现系统射频功能的控制与管理。
图3-14CC2420模块电路
3.8AVR最小系统
控制芯片为ATMEGA128L-3,外围电路很简单。
有两个晶振Y1为7.3728M,Y2为32768Hz。
再就是电源管理模块,外接电源为5V,AS1117-3.3为稳压芯片。
提供ARV3.3V电源。
最小系统就可以跑起来了ATMEGA128L自身有个SIP串行数据接口,正好可以和CC2420进行通讯,有利于编写程序。
还有一个ISP下载端口,用于程序的下载调试。
另外还有3个LED灯,用于程序运行时观察运行的状态。
MAX3232电平转换芯片,用于串口通讯。
在就是其他的IO口,用于与其他传感器相连,PA3-PA5是ADC的地址选择端口,PA6是ADC的输出使能端口,PA7是ADC的ADC的转换结束信号端口,PC0-PC7为ADC的8位数据端口。
PD0为温湿度采集端口。
PD1为噪声采集端口。
PD2为门的控制端口。
PD3为震动传感器信号端口。
PD4为门的状态采集端口。
PD5为蜂鸣器的控制端口。
PD6为ADC的转换启动信号。
PE0和PE1为串口的通讯的数据收发端口。
PE7为ADC提供转换时钟。
这几个就是和外围传感器的接口。
电路图如图3-15。
图3-15最小系统电路图
4软件编程
4.1协调器编程流程图
图4-1协调器编程流程图
4.2节点编程流程图
图4-2节点编程流程图
4.3编程详细设计原理
4.3.1ZigBee通信协议
1.IEEE802.15.4MAC数据包
ZigBee模块的通讯符合IEEE802.15.4标准,IEEE802.15.4MAC数据包的最大长度为127字节,每个数据包都由头字节和16位CRC值组成,16位CRC值验证帧的完整性。
此外,IEEE802.15.4还可以选择使用应答数据传输机制,使用这种方法,所有特殊ACK标志位置1的帧均会被它们的接收器应答。
如果发送帧的时候置位了ACK标志位而且在一定的超时期限内没有收到应答,发送器将重复进行固定次数的发送,如仍无应答就宣布发生错误。
2.网络配置与网络关联
ZigBee无线网络可采用多种类型的网络配置。
本工程使用星型网络,星型网络配置由一个协调器节点(主设备)和一个或多个终端设备(从设备)组成。
在星型网络中,所有的终端设备都只与协调器通信。
根据系统需求,协调器会在非易失性存储器中存储所有网络关联,称为邻接表。
为了连接到网络,终端设备可能执行孤立通知过程来查找先前与之关联的网络或者执行关联过程来加入一个新网络。
在执行孤立通知过程的情况下,协调器将通过查找其邻接表来识别先前与之关联的终端设备。
3.端点、接口及端点绑定
典型的ZigBee节点可支持多种特性和功能,为了便于在I/O节点和两个控制器节点之间进行数据传输,所有节点中的应用程序必须保存多个数据链路。
为了减少成本,ZigBee节点仅使用一个无线信道来和多个端点/接口来创建多条虚拟链路或信道,每个端点总共有8个接口。
在星型网络中的终端设备总是只与协调器通信,协调器负责将端点发送的数据包从一个节点转发到接收终端设备的相应端点。
所以,当建立一个新的网络时,必须告知协调器如何创建源端点和目标端点之间的链路,ZigBee协议使用了一个称为端点绑定的特殊过程来实现链路的连接。
4.数据传输机制
传输数据到终端设备和从终端设备传输数据的确切机制随网络类型的不同而有所不同。
在无信标的星型网络中,当终端设备想要发送数据帧时,它只需等待信道变为空闲。
在检测到空闲信道条件时,它将帧发送到协调器。
如果协调器想要将此数据发送到终端设备,它会将数据帧保存在其发送缓冲器中,直到目标终端设备明确地来查询该数据为止。
5.协议栈架构
协议栈是使用C语言编写的,协议栈使用内部闪存程序存储器来存储可配置的MAC地址、网络表和绑定表,因此,必须使用可自编程的闪存存储器单片机。
协议栈根据ZigBee规范的定义将其逻辑分为多个层。
实现每个层的代码位于一个独立的源文件中,而服务和应用程序接口(API)则在头文件中定义。
要实现抽象性和模块性,顶层总是通过定义完善的API和紧接着API的下一层进行交互,该层的C头文件定义该层所支持的所有API。
用户应用程序总是与应用支持子层(APS)和应用层(APL)交互。
典型的应用程序总是与应用层(APL)和应用支持子层(APS)接口,APL模块提供高级协议栈管理功能,用户应用程序使用此模块来管理协议栈功能。
APS层主要提供ZigBee端点接口。
应用程序将使用该层打开或关闭一个或多个端点并且获取或发送数据。
它还为键值对(KVP)和报文(MSG)数据传输提供了原语。
当首次对协调器编程时绑定表为空,主应用程序必须调用正确的绑定API来创建新的绑定项。
APS还有一个间接发送缓冲器RAM,用来存储间接帧,直到目标接收者请求这些帧为止。
节点请求数据时间越长,数据包需要保存在间接发送缓冲器里的时间也越长,数据请求时间越长需要的间接缓冲空间越大。
网络层(NWK)负责建立和维护网络连接,它独立处理传入数据请求、关联、解除关联和孤立通知请求。
ZigBee设备对象(ZDO)负责接收和处理远程设备的不同请求。
介质访问控制(MAC)层实现了IEEE802.15.4规范所要求的功能,并负责同物理(PHY)层进行交互。
4.3.2与上位机的接口
与上位机通讯采用RS232串口通讯。
为了避免在无线传感器网络通讯时,多个节点同时给协调器发送数据是发生冲突。
协调器与节点通讯采用查询方式通讯。
这样就只有一个主设备,其他的从设备都是被动的工作。
协调器的数据发送又是由上位机控制的。
这样所有的主动权就全部给到了上位机,上位机什么时候发数据给协调器,协调器时候给节点发数据。
节点什么时候收到数据后就会采集传感器的数据或根据不同的命令来控制相应的设备发出相应的动作。
这样就解决了上位机与ZigBee模块的通讯问题。
4.3.3传感器采集
当节点接受的协调器发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ZigBee 技术 机房 监控 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)