基于无线传感网络的智能机房环境监控系统的设计与实现_第1页
基于无线传感网络的智能机房环境监控系统的设计与实现_第2页
基于无线传感网络的智能机房环境监控系统的设计与实现_第3页
基于无线传感网络的智能机房环境监控系统的设计与实现_第4页
基于无线传感网络的智能机房环境监控系统的设计与实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、现有的机房监控主要采用人工监控和有线监控两种方法。传统的人工检测和控制方法费时费力;有线传输面临着布线复杂、维护和更新升级困难,而无线传感网络技术的诞生给它带来了一场全新的革命。文中提出了一种基于ZigBee无线网络技术的智能机房环境监控系统设计方案,通过对机房的湿度、温度、光照、火警和水浸等几个重要因素进行实时的智能化监测和控制,同时还可以通过手机短信通知管理者。文中重点介绍了基于ZStack的应用程序开发,实现了对机房内多种信息的远程监测、处理和控制。1 ZigBee无线网络技术ZigBee网络支持星状、网状和树状三种自组织无线网络类型,其连接地址分为16位短地址和64位长地址,最多一个主

2、节点可管理254个子节点;同时主节点还可由上一层网络节点管理,可组成多达65 000个节点的大网,一个区域可以有100个ZigBee网络同时存在。基于ZigBee技术的无线传感器网络是集信息采集、信息传输、信息处理于一体的综合智能信息系统,具有低成本、低功耗、低速率、高可靠性等特点。2 系统总体设计2.1 系统结构以自动控制原理为理论基础,应用传感器与执行器件构成闭环控制系统。传感器节点配有传感器感知机房环境,控制节点配有执行器件改善机房环境。传感器节点与控制节点相互配合,共同为机房内机器运行提供适宜的环境。本系统由无线传感器网络、网关和主控中心组成。无线传感器网络是物联网的神经末梢,负责感知

3、环境的变化,并将数据通过网关传输到互联网。系统结构如图1所示。2.2 网关系统结构网关是互联网与无线传感器网络之间的数据通讯桥梁。本方案提供了3种网关接入方式:本地访问、手机访问和互联网访问。网关系统结构如图2所示。 2.3 传感器网络结构ZigBee网络存在3种逻辑设备类型,即协调器、路由器、终端设备,并且在一个ZigBee网络中有且只有一个协调器。当协调器被激活后,它就会建立一个自己的网络。本方案采用的是星型网络,在星型网络结构中只有一个唯一的PAN主协调器,通过选择一个PAN标识符确保网络的唯一性。路由或终端都可以加入到这个网络中来。3 硬件设计本系统硬件主要包括3部分,其中无线传感器网

4、络核心是基于TI公司的CC2430开发的无线模块;网关是基于ARM微处理器的嵌入式平台;主控中心是PC机。3.1 ZigBee协调器节点硬件设计ZigBee协调器节点主要由无线收发器CC2430、射频天线RF、电源模块、晶振模块、串口模块和LED指示灯组成,功能模块如图3所示。RF的输入/输出是高阻和差动的,用于RF 口最合适的差动负载是(115+180 。当使用不平衡天线时为了优化性能,应当使用不平衡变压器。由于CC2430的工作电压为3.3 V,所以要用电压转换模块把5 V降到3.3 V。CC2430可以同时接32 MHz和32.768 kHz的两种频率的晶振电路,以满足不同的要求。串口模

5、块用于ZigBee协调器将无线接收的数据信息传送给网关,同时接收网关传送过来的控制命令。LED指示灯用于显示网络连接状态。 3.2 传感器节点硬件设计无线传感器节点由各种数据采集模块、CC2430数据传输模块、电源模块和外部数据存储等功能模块组成,功能模块如图4所示。数据采集模块负责采集监测区域的温度、湿度、光照强度、火警和水浸等信息并完成数据转换;CC2430数据传输模块负责与路由节点进行无线数据交换、传输采集数据、接收控制命令。外部数据存储模块用来保存传感器节点采集的数据。电源管理模块采用两节5号干电池。LED指示灯显示加入或退出网络的状态。 路由器节点的主要任务是将不同区域的数据从传感器

6、节点路由到协调器节点,因此电路比较简单,不再赘述。4 软件设计本系统采用的开发环境是IAR7,系统软件是基于TI公司的Z-Stack 2006协议栈开发。从系统结构中可以看出本系统软件设计包括3大部分:无线传感器网络基于Z-Stack的应用程序开发;网关基于Qt的应用程序开发;主控中心Web应用程序开发,本文着重实现基于Z-Stack 的应用程序开发。4.1 ZigBee协议栈ZigBee协议栈由一组子层构成,每一层向它的上层提供数据和管理服务,分别为物理层(PHY、媒体访问控制层(MAC、网络层(NWK和应用层(ADL,应用层又分为:应用支持子层(APS、ZigBee设备对象(ZDO和由制造

7、商制定的应用对象。其中PHY和MAC位于最低层,且与硬件相关;除此之外的其他层建立在PHY和MAC层之上,并且完全与硬件无关。分层的结构脉络清晰、一目了然,给设计和调试带来极大的方便。 实际开发中根据需要将协议栈的层次又做了细化,Z-Stack软件的总体架构如图5所示。Z-Stack中的硬件抽象层HAL提供各种硬件模块的驱动,基于HAL之上是操作系统抽象层OSAL,OSAL实现了一个易用的操作系统平台,以实现多任务为核心的系统资源管理机制。Z-Stack采用操作系统的思想来构建,采用事件轮循机制,当各个层初始化完成后,系统将会进入低功耗模式,当有事件发生时,系统立刻被唤醒,并转而进入中断处理事

8、件,处理完成后再次进入低功耗模式,减少功耗。OSAL把优先级放在了最重要的地位。当在处理的任务中有两个以上事件待处理,处理完一件后,也要去查询优先级更高的任务。赋予优先级高的任务最大的权利,尽可能保证高优先级任务的每一个事件都能得到最及时的处理。操作系统任务调度流程如图6所示。 开发所用协议栈目录结构如图7所示。主要用到的文件有:ZMain/ZMian.c、Tools/ f8wConfig.cfg、App/OSAL_SampleApp.c和App /SampleApp.c。其中ZigBee协议栈的main函数在ZMain.c中,总体上来说它一共做了两件事,一个是系统初始化,即由启动代码来初始化

9、硬件系统和软件架构需要的各个模块;一个是执行操作系统实体。fSwConfig.cfg为网络配置文件。App/OSAL_SampleApp.c为操作系统任务初始化和添加文件。App/SampleApp.c为应用程序核心文件。整个Z-stack的主要工作流程大致分为:系统启动,驱动初始化,OSAL初始化和启动,进入任务轮循几个阶段。 4.2 无线传感网软件平台搭建操作系统是通过调度各项任务来使整个系统协调的运作起来的。对不同类型设备的处理作为一个任务,把新建的任务添加到系统中,操作系统便会把新任务与协议栈融合到一起,使系统具备新的功能,即完成了无线传感器网络软件平台的搭建。1建立任务:任务初始化函

10、数的建立任务初始化函数要做两件事,首先是为任务获取系统分配的任务ID,最后是初始化运行任务所需的硬件资源及变量。任务初始化函数的格式为:XXX_Init(unsigned char task_idXXX_TaskID=task_id;初始化任务运行所需的硬件资源及变量。其中“XXX”表示任务的名称。“XXX_TaskID”是用户自己定义的变量,用于存储任务的ID 号。2建立任务:任务事件处理函数的建立对模块的各种外部变化操作系统以事件的方式来处理,不同的宏定义代表不同事件,比如: KEY_CHANGE为按键事件;ZD0_STATE_CHANGE为网络状态变化事件;AF_INCOMING_MSG

11、 CMD表示接收到其他节点发送来的数据,该事件为无线处理的重要事件。任务事件处理函数原型为:uint16 Sample_ProcessEvent(uint8 task_id,uint16 events;形参task_id为任务ID号,events为事件代号。3添加任务所有的任务添加都是在应用层App/OSAL_SampleApp.c中通过osalTaskAdd(函数添加一个OSAL任务,函数原型为:void osalTask Add(const pTaskInitFn pfninit,const pTaskEventHandlerFn pfnEventProcessor,const byte

12、taskPriority参数1:pfnInit(指向任务初始化函数的指针;参数2:pfnEventProcessor(指向任务事件处理函数的指针;参数3:taskPrioritv(任务优先级。4.3 ZigBee网络通讯设置与组网在Tools/f8wConfig.cfg配置文件中定义了工程相关的网络通讯设置。其中比较重要的是ZigBee通信相关的信道通道的设置和PAN ID的设置。用户可以通过更改该文件中的相关宏定义,来控制ZigBee网络的通道和PAN ID,以此来解决多个ZigBee网络的冲突问题。信道是数据在物理层传输时使用的通道:PIN ID为ZigBee网络的标识符,用来区别不同的网

13、络。除此之外在启动网络前还需要修改模块的物理地址。在ZigBee网络中,无论是协调器还是路由器或终端节点,每个模块都有自己唯一的64位物理地址。物理地址的修改有两种方式,一种是通过Zmain/Zmain.c中的zmain_ext_addr(函数设置;另一种是使用Chipeon Flash Programmer软件。默认地址0xff ff ff ff ff ff ff ff为无效的,除此之外都是有效的,且保证在网络中的唯一性即可。1协调器格式化网络协调器将扫描DEFAULT_CHANLIST指定的通道,最后在其中之一上形成网络。如果ZDAPP_CONFIG_PAN_ID被定义为0xFFFF,那么

14、协调器将根据自身的IEEE地址建立一个随机的PAN ID。如果ZDAPP_CONFIG_PAN_ID没有被定义为0xFFFF,那么协调器建立网络的PAN ID将由ZDAPP_CONFIG _PAN_ID指定,通常这个值介于00x3FFF。2路由器和终端设备加入网络路由器和终端设备启动后,将扫描DEFAULT_CHANLIST指定的频道。如果ZDAPP_CONFIG_PAN_ID没有被定义为0xFFFF,则路由器或终端将强制加入ZDAPP_CONFIG_PAN_ID定义的网络。反之随机加入网络。4.4 数据传输系统中涉及的数据传输方式有两种: 无线收发和串口收发。 其中节点向协调器发送采集信息、

15、 协调器向控制节点发送控制信息是通过无线收发实现的; 协调器将采集信息传送给网关、 网 关向协调器发送控制命令是通过串口收发实现的。 441 无线数据收发 1无线发送 系统中采用短地址方式发送数据,数据以帧格式传输。在发送前按照协议规定 的帧形式构建数据帧, 然后调用无线发送函数。 函数原型为: uint8 SendData(uint8*buf, uint16 addr,uint8 Leng;buf 为发送数据指针;addr 为目的地址;Leng 发送数据长度。 2无线接收 对于无线接收并没有像发送一样单独的处理函数,而是在任务处理函数中通过 处理无线接收数据事件来完成处理的,具体函数如下: 其中 AF_INCOMING_MSG_CMD 为无线接收事件宏定义,SampleApp_MessageMSGCB( 函数则为具体接收事件的处理函数。 442 串口数据收发 系统中所用的串口为无线芯片 CC2430自带资源,通过自定义串口收发函数来使用该资源, 从而实现网关与协调器节点数据传输。 串口发送函数原型为: void UartTX_Send_String(char*Data,int len; 串口接收函数原型为: char UartRX_Receive_Ch

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论