1、武 汉 工 商 学 院信 息 工 程 学 院 物 联 网 工 程 系Zigbee 应用课程设计项 目 名 称 : 基 于 ZigBee 的 温 度监 控 系 统 设 计 与 实 现学 生 姓 名 : 牛 超学 号 : 15406038班 级 : 15 物 联 本 2 班指 导 教 师 : 刘 芳2017 年 12 月 20 日Zigbee 应用课程设计目 录摘 要 .I关键词 .I1 绪论 .12 温度控制系统总体设计与实现 .12.1 系统整体结构 .12.2 系统实现功能 .12.3 方案具体流程 .13 温度检测系统工作原理 .43.1 Zigbee 技术简介 .43.2 Zigbee
2、协议栈结构 .43.3 Zstack 协议栈结构 .53.4 串口工作原理 .63.5 单播广播原理 .63.6 无线温度数据采集原理 .63.7 OSAL 工作原理 .74 系统硬件设计 .74.1 Zigbee 硬件设计 .74.2 协调器节点设计 .84.3 终端节点设计 .94.3.1 温度传感器 .94.3.2 电机 .94.4 电源电路设计 .94.5 A/D 转换电路设计 .104.6 RS232 串口电路设计 .105 系统软件设计 .115.1 协调器相关程序分析 .115.2 终端相关程序分析 .125.2.1 温度传感器相关程序分析 .125.2.2 电机相关程序分析 .
3、126 系统实现 .127 总结 .13参考文献 .13Zigbee 应用课程设计摘 要本方案基于 ZigBee 技术设计了监测环境温度的无线传感网系统。采用集成了无线射频芯片 CC2530 以及高集成度的数字温度传感器构建节点硬件,并实现了节点软件。该系统由三部分组成:温度传感器,风扇,协调器。温度传感器监测环境温度,若温度过高,启动风扇。测试结果表明,本系统具有低功耗、低成本、易于维护扩展等优点。该系统可以应用到智能家居领域从而节省人力和能源,具有非常广阔的应用前景和研究价值。关键词: 无 线 传 感 网 ; ZigBee; CC2530;温 度 采 集01 绪论在生产和科学研究过程中的很
4、多场合对环境的温湿度有较高的要求。为了更方便快捷的监控环境温湿度,针对有线温湿度监测系统布线复杂、成本偏高以及后期维护不便的问题,结合无线传感器网络技术,设计和实现了一种基于 ZigBee 技术的温度监测系统。ZigBee 作为一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,主要用于近距离无线连接。在温度传感器的配合下,采用 ZigBee 协议建立了点对点通信组网,能够高效地完成对环境温度的无线检测,实现了无线网络的功耗管理方法、无线网络的配置,利用温度传感器检测环境温度、从节点温度数据的发送、主节点对温度数据的接收、上传给 PC 机显示、通过温度变化控制风扇等内容。该系
5、统可以应用到智能家居领域从而节省人力和能源,具有非常广阔的应用前景和研究价值。近年来随着无线通信、计算机传感技术的飞速发展和融合,无线传感网技术(WSN)应运而生,而 Zigbee 以其低成本、低数据速率、超低功耗的特点满足了当前无线传感网络技术的应用与普及。2 温度控制系统总体设计与实现2.1 系统整体结构利用 Z-Stack 协议栈构建一个具有实际意义的无线传感器网络。系统由协调器节点和两个终端节点组成。协调器的硬件系统中包括 CC2530 通信模块、串口转 USB 模块和电源电路模块等,其中串口转 USB 模块负责转换 CC2530 模块与 PC 机的通信信号。其主要功能是负责接收无线传
6、感器节点发送来的消息,并向传感器节点发布网络控制信息,同时与 PC 机进行数据交换,向电机发送指令控制电机转动。2.2 系统实现功能为了更方便快捷的监控环境温湿度,文中针对有线温度监测系统布线复杂、成本偏高以及后期维护不便的问题,结合无线传感器网络技术,设计和实现了一种基于 ZigBee 技术的温度监测系统。通过温度传感器监测环境温度,如果温度过高,启动风扇。2.3 方案具体流程第一步,ZigBee 协调器以固定的周期发送查询光照的指令给终端,即温度传感器(温度采集节点),同时监听设备端口,接受节点返回的数据。协调器监听工作流程图如下所示:ZigBee 应用课程设计报告1开始初始化组件网络接收
7、节点消息是否为终端接收节点消息是否为终端定时发送查询指令结束接收节点消息继续监听否是图 2-1 协调器监听工作流程图第二步,温度采集节点接收到 ZigBee 协调器发送过来的温度采集指令后,从传感器取得当前的温度信息,将其打包成协议格式的指令返回给 ZigBee 协调器。温度采集节点工作流程图如下所示:开始初始化加入网络接收节点消息接收指令结束读取温度发送温度图 2-2 温度采集节点工作流程图ZigBee 应用课程设计报告2第三步,ZigBee 协调器接收到温度采集节点返回的数据后,对采集的温度与设定的温度值进行比较,若当前的温度值高于用户设定的温度值时,向电机发送开指令,并将收到的数据通过串
8、口打印出来。协调器工作流程图如下所示:开始初始化创建网络接收节点消息发现设备建立绑定发送温度采集指令结束接收数据生成关风扇指令温度 2 5 度生成开风扇指令是否发送指令串口打印图 2-3 协调器工作流程图第四步,节点接受网关消息并控制电机。电机工作流程图如下所示:ZigBee 应用课程设计报告3开始初始化加入网络接收节点消息接收命令结束关风扇判断是否为M 1开风扇是否灯闪烁图 2-4 电机工作流程图3 温度检测系统工作原理3.1 Zigbee 技术简介致力于无线个域网中无线协议的物理层和媒体访问层的标准化 ,为个人操作空间内互相通信的设备之间提供统一的通信标准,IEEE802.15.4 工作组
9、制定了相关标准,Zigbee 是基于此标准的一种无线通信方式。IEEE802.15.4 标准定义了物理层和媒体访问控制层。Zigbee 联盟在 IEEE802.15.4 标准的基础上定义了网络层和应用层构架。应用层构架包含应用支持子层和 Zigbee 设备对象以及制造商需要的应用对象组成。 Zigbee 是突出特点为低成本、低功耗、低复杂度,低时延,近距离,双向传输的一种无线通信标准。国内 Zigbee工作频段为 2.4GHz,欧洲与美国分别工作在 868MHz 与 915MHz。Zigbee 组网支持星形、树形和网络状拓扑结构,无线网络由一个协调器启动和控制,网络工作时协调器接收由终端节点发
10、送来的数据,并发送给上位机。网络可以由路由器进行扩展,终端节点打包的数据由路由器转发给协调器。3.2 Zigbee 协议栈结构 Zigbee 协议栈结构包括物理层、媒体访问控制层、网络层和应用层: 物理层由半双工的无线收发器及其接口组成,主要作用是激活和关闭射频收发器;检测信道的能量;显示收到数据包的链路质量;空闲信道评估;选择信道频率;数据的接受ZigBee 应用课程设计报告4和发送。 媒体访问控制(MAC)层建立了一条节点和与其相邻的节点之间可靠的数据传输链路,共享传输媒体,提高通信效率。在协调器的 MAC 层,可以产生网络信标,同步网络信标;支持 Zigbee 设备的关联和取消关联;支持
11、设备加密;在信道访问方面,采用 CSMA/CA 信道退避算法,减少了碰撞概率;确保时隙分配(GTS);支持信标使能和非信标使能两种数据传输模式,为两个对等的 MAC 实体提供可靠连接。 基于底层的可靠通信,提供路由、路由发现、多跳、转发的功能。Zigbee 网络可以组成星型、簇树型或 MESH 型网络。对于终端节点而言,网络层的功能只是加入和离开网络;对于路由器而言,网络层的功能是信息的转发,路由发现,建立和维护路由表和邻居表,以及构造到某节点的路由任务;而协调器网络层的任务主要包括启动和维护网络正常工作,为新加入的节点分配网络地址。 应用层包括三部分:应用支持子层(APS)、Zigbee 设
12、备对象(ZDO)和应用框架(AF )应用支持子层的任务是提取网络层的信息并将信息发送到运行在节点上的不同应用端点。Zigbee 设备对象负责设备的所有管理工作,包括设定该设备在网络中的角色(协调器、路由器或终端设备),发现网络中的设备,确定这些设备能提供的功能,发起或响应绑定请求,完成设备之间建立安全的关联等。AF 应用框架是应用层与 APS 层的接口。它负责发送和接收数据,并为接收到的数据寻找相应的目的端点。3.3 Zstack 协议栈结构 Zstack 协议栈结构如下: APP:应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般
13、是以操作系统的任务实现的。HAL:硬件层目录,包含有与硬件相关的配置和驱动及操作函数。MAC:MAC 层目录,包含了 MAC 层的参数配置文件及其 MAC 的 LIB 库的函数接口文件。MT:监控调试层,主要用于调试目的的,即实现通过串口调试各层,与各层进行直接交互。NWK:网络层目录,涵网络层配置参数文件及网络层库的函数接口文件,APS 层库的函数接口。OSAL:协议栈的操作系统。Profile:AF 层目录,包含 AF 层处理函数文件。Security:安全层目录,安全层处理函数接口文件,比如加密函数等。Services:地址处理函数目录,包括着地址模式的定义及地址处理函数。Tools:工
14、程配置目录,包括空间划分和 Zstack 相关的配置信息。ZigBee 应用课程设计报告5ZDO: ZDO 目录。ZMac:MAC 层目录,包括 MAC 层参数配置及 MAC 层 LIB 库函数回调处理函数。ZMain:主函数目录,包括入口函数 main()及硬件配置文件。Output:输出文件目录层,这个 EW8051 IDE 自主设计的。3.4 串口工作原理 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线 Universal Serial Bus 或者 USB 混淆)。大多数计算机包含两个基于 RS232 的串口。串口同时也是仪器仪表设备通用的通信协议;很多 GPIB 兼容的
15、设备也带有 RS-232 口。同时,串口通信协议也可以用于获取远程采集设备的数据。RS-232(ANSI/EIA-232 标准)是 IBM-PC 及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者 Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中 RS-232 的传输长度或者速度常常超过标准的值。RS-232 只限于 PC 串口和设备间点对点的通信。 RS-232 串口通信最远距离是50 英尺。3.5 单播广播原理单播是网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递只
16、在两个节点之间进行。单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。例如,你在收发电子邮件、浏览网页时,必须与邮件服务器、Web 服务器建立连接,此时使用的就是单播数据传输方式。但是通常使用 “点对点通信”(Point to Point)代替“单播”,因为“单播 ”一般与“广播”相对应使用。广播在网络中的应用较多,如客户机通过 DHCP 自动获得 IP 地址的过程就是通过广播来实现的。但是同单播和多播相比,广播几乎占用了子网内网络的所有带宽。拿开会打一个比方吧,在会场上只能有一个人发言,想象一下如果所有的人同时都用麦克风发言,那会场上就会乱
17、成一锅粥。集线器由于其工作原理决定了不可能过滤广播风暴,一般的交换机也没有这一功能,不过现在有的网络交换机(如全向的 QS 系列交换机)也有过滤广播风暴功能了,路由器本身就有隔离广播风暴的作用。 3.6 无线温度数据采集原理利用 ZigBee 无线通讯技术完成的温度无线采集系统。温度传感器采集来的数据,通过单片机做数据处理并利用 ZigBee 的无线发送模块,将温度信息发送出去。经过 ZigBee 接收模块接收数据,再通过单片机做数据处理,将温度信息通过 PC 显示出来,从而完成温度的无线采集。ZigBee 应用课程设计报告63.7 OSAL 工作原理 Z-Stack1.4.3 及以后的版本中
18、引入了一个 OSAL(Operating System Abstraction Layer 操作系统抽象层) ,但在我们整个的 ZigBee 协议栈的结构图中,我并没有能够发现这个层在哪个位置。但是整个的协议栈都要在 OS 的基础上才能运行。OSAL 和我们通常所说的RTOS ,pc 上的操作系统还是有很大的不同, ZigBee2006 中只是利用了操作系统的概念和思想,利用 OS 把 Z-Stack 软件组件从特殊的处理过程相分离,并将软件成分保护了起来。它提供的管理功能有:任务的注册、初始化、开始,任务间的消息交换,任务同步,中断处理,时间管理和内存分配。OSAL 主要是这样一种机制, 一种任务分配资源的机制, 从而形成了一个简单多任务的操作系统。4 系统硬件设计4.1 Zigbee 硬件设计Zigbee 硬件分为三部分,即 CC2530 核心板、协调器底板和路由器底板。CC2530 核心板是协调器底板和路由器底板共用的电路板,便于设备的维护,一旦 CC2530 核心板或者协调器底板和路由器底板出现问题,便于及时更换。便于设备灵活使用。CC2530 既可以配合协调器底板使用,也可以配合路由器底板使用,并且还可以与网关配合使用。CC2530串口图如下所示: