首页 > 范文大全 > 正文

基于Zigbee 的无线温度监测系统的设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Zigbee 的无线温度监测系统的设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:随着传感器技术和无线通信技术的发展,ZigBee技术得到广泛应用,在数据实时监测与采集等方面,其应用优势更为显著。该文设计并实现的基于zigbee无线温度监测系统使用多个CC2430模块,一个作为ZigBee协调器,其余作为温度数据采集端。温度数据采集端采集温度数据并通过ZigBee协议上传至ZigBee协调器,ZigBee协调器通过串口将数据汇集到上位机中,从而实现数据的实时监测。本系统的完成有助于改变传统人工的收集数据方式,实现数据的实时收集,适用环境监测,智能家居,工业监测等领域。

关键词:ZigBee;CC2430; DS18B20;无线传感网络;温度监测

中图分类号:TP368.2 文献标识码:A 文章编号:1009-3044(2013)15-3545-05

1 概述

近年来,得益于无线通信技术、计算机技术和传感器技术的不断进步,无线传感器网络已从理论研究逐渐步入生产应用。环境数据的实时采集是无线传感器网络在环境监测领域应用中实现的一个重要功能。由于,环境温度数据指标对于能源消耗、设备安全、生物生命体征、生活舒适度等方面均是较重要的参考指标,因此设计一种低成本、可靠高效的温度采集系统对于工农业生产效率的提高与社会生活环境的改善具有一定的辅助作用。

在传统的温度采集系统中,节点一般采用有线连接方式,布线繁琐,扩展性和可移植性不高[6]。文献[5]中使用的是基于WiFi的温度监测的方法, 但WiFi技术功耗较高,影响了温度检测网络的使用寿命。ZigBee[1]作为一种新兴的短距离无线通信网络技术,凭借其低成本、低功耗的优势,成为无线传感器网络中主要的通信协议之一。该文设计并实现了一个基于CC2430的ZigBee无线温度监测网络。该网络通过ZigBee协议栈将多个节点设备组建成星型网络,将各个节点的采集的温度数据实时发送到协调器并又协调器在汇聚到上位机中,从而实现温度数据的实时采集。

2 系统设计方案

2.1 系统概要设计

无线温度检测系统组建成星型网络,由各个温度采集的终端设备和协调器以及其所连接的上位机组成。协调器负责整个网络的启动和配置,并且在这些工作完成后,协调器工作就像一个路由器或者不再起作用。而终端设备主要负责采集数据,并将数据传送给协调器,随后传给上位机。系统架构如图1所示。

2.2 温度传感器选择与设计

DS18B20[3]是美国Dallas公司推出的新型数字温度传感器,其具有低功耗、微型化、抗干扰性强、高性能等优点,且采用单接线口方式。数字温度计提供9位温度读数,指示器件的温度。DS18B20的信息的送入或送出要经过单线接口,因此从中央处理器到DS18B20仅需连接一条(和地)。因为其只有一根信号线,因此对信号线的正常操作必须要靠严格的操作协议来保证。读、写和完成温度变换所需的电源可以由数据本身提供,而不需要外部电源。因为每个DS18B20 有唯一的系列号,因此多个DS18B20可以存在同一条总线上[7]。这允许在许多不同的地方放置温度灵敏器件。

DS18B20处理时首先初始化DS18B20,即发送复位脉冲指令操作。对ROM的操作,因为一个节点只连接一个DS18B20,所以直接跳过ROM操作。最后对RAM操作,先启动温度转换命令0X44,再发送读取存储器的命令0XBE,使其将RAM中存储的数据从DQ引脚上传送处来。

2.3 系统芯片选择与设计

CC2430[2]是一颗真正的系统芯片CMOS解决方案。这种解决方案能充分满足以ZigBee为基础的2.4GHz ISM波段应用的低成本、低功耗的要求并且能为其提高性能。其具有高性能、低功耗的8051兼容微控制器,最高128KB非易失性程序存储器和2×4KB数据存储器,硬件AES(Advanced Encryption Standard,高级加密标准)加密/解密,设备特性,低功耗,IEEE 802.15.4 MAC硬件支持,集成2.4GHz DSSS(Direct-Sequence Spread Spectrum,直接序列扩频)数字射频的特性。

3 系统设计

3.1 协调器设计

在本协调器中,在系统加电,初始化ZigBee协议栈后,协调器启动并唤醒网络。然后进行ZigBee网络的配置。如果有节点请求加入,则先在网络中加入节点并赋予其网络编号。最后,发送相关的数据。

3.2 终端节点设计

终端节点上电后,首先做的也是对系统的初始化。此时,终端节点可以发现网络,并可加入网络(已加入网络的也可退出网络),对协调器的信息响应,并由此处理温度传感器,接收数据并将其返送给协调器。终端节点工作流程如图4所示。在终端节点中,上电、初始化后,终端节点向协调器请求加入网络。若成功,则判断与协调器正常通信,若正常则收集温度传感器数据并将其发送到协调器。

单线总线上的所有操作都是从初始化序列开始进行。初始化序列包括从总线控制器发出复位脉冲,然后由从属器件送出存在脉冲(存在脉冲让总线知道DS15B20在总线上已准备好操作、一旦总线控制器探测到一个存在脉冲,就可以发出ROM命令)[3]。

DS18B20的数据读写是通过时间间隙处理和命令来确认信息交换。首先主机把数据从逻辑高电平拉到低电平[4],写时间间隙开始(写时间间隙必须最少持续60us,包括两个写周期至少1us的恢复时间。)然后I/O线电平拉低后,DS18B20在一个15us到60us的时候对I/O线采样。如果线上为高电平,就是写1,如果线上是低电平,就是写0。

主机把数据线从高电平拉至低电平时,产生读时间片。且数据线必须保持低电平至少1us,读1820输出的数据在读时间片后的15us内有效(在读之前必须停止送低电平(也就是送高电平)——低电平1us后直接拉高等待读数据)[3]。同时读时间片的最短持续时间为60us,各个读时间片之间要有最短为1us的恢复时间。

DS18B2进行温度转换时,首先初始化DS18B20,Skip ROM(“跳过”ROM)即写入0XCCH,启动温度变换即写入OX44H,再次初始化DS18B20,写入指令0X55H来匹配ROM,然后写入指令0XCCH,再写入指令0XBEH即读存储器,最终得出数据。

3.3 数据采集与接收

3.3.1 终端设备

终端设备即是温度数据采集节点,通过DS18B20采集数据。Zigbee无线测温模块为新一代无线测温提供解决方案。通过TI公司CC2430组成星型网络,利用温度传感器18B20采集当前温度,并根据设置更新配置和上传温度数据及配置数据。其中终端节点的数据结构如下。

结构体中设置节点参数,包括采样周期、发送周期、报警发送周期、温度报警上限、温度报警下限、步进温度、故障记录和电压记录。其默认参数设置见协议规范。终端设备的工作流程如图5所示。终端设备初始化,设定定时器,接着通过DS18B20定时采集温度数据。若超过设定的警戒温度,若超过,则直接发送温度数据到协调器。否则设置采样频率后,继续发送数据。接着重置定时器。

3.3.2 协调器节点

协调器通过ZigBee协议栈组建的星型网络,通过无线获得终端设备传过来的数据,然后对数据进行处理,获得温度数据,并通过串口汇集到上位机中。协调器发送PC串口通信协议帧,此结构体只在协调器中使用。该结构体中将DAT与ID合并为dat,方便传输使用。协调器工作流程如图6所示。

协调器接收上位机的数据,根据MAC地址,对终端节点传递数据。同时通过串口向上位机传递数据。协调器接收无线信息处理回调函数接收到无线信息后并不做解析,而是直接转发至PC串口端,代码如下。协调器节点任务响应处理函数响应SERIALAPP_UART_REV_EVT(接收串口数据)和AF_INCOMING_MSG_CMD(接收无线信息)两个命令。

3.4 串口通信协议

串口通信的协议数据格式如表1所示,其中帧头为0xFF。温差梯度最小0.5度,在-55至125之间。温度读数以16位bit或者通过符号扩展的二进制补码读数方式来提供。由此得出温度/数据的关系,如表2所示。

4 系统测试

本设计的关键是DS18B20温度传感器数据的采集,以及ZigBee协议栈的相互通信。为此,该文作了大量的测试,测试用例如表3所示。路由节点通过串口将数据发到上位机中,上位机用工具串口调试助手V2.2获得数据,串口调试工具助手设置波特率为38400,校验位为无校验,数据位为8位,停止位为1位。数据显示界面如图7所示,此时对应节点的MAC地址如图8所示。图7中,节点的MAC地址为FF FF FF FF FF FF FF 02,接收到的数据是FF 10 02 FF FF FF FF FF FF 67,即测的温度为01 8B即为24.69 ℃。

5 结论

该系统实现了基于ZigBee协议的温度采集与传输,系统支持多个终端节点和一个协调器节点。其中,终端节点对所处环境的温度数据进行采集,并以无线方式将数据传送到协调器,协调器通过串口将数据传送到上位机中,从而达到了对多个不同地理位置的温度数据采集的设计要求。下一阶段将加强对上位机的温度数据的分类收集和整理。具体包括:实现对各个节点温度数据分类统计与分析,完成对各个节点温度的趋势图显示,实现对各个节点温度上下限预警功能,在上位机中完成一个基于窗口的数据查询与显示功能,增强系统的用户友好性。

参考文献:

[1] 高守玮.ZigBee技术实践教程[M].北京:北京航空航天大学出版社,2009.

[2] Teaxs Instruments.Datasheet. CC2430[M].Texas:Teaxas Instruments Company,2010.

[3] Maxim.DS18B20 DataSheet[EB/OL](2012-12-05)(2008-12-30).http:///en/ds/DS18B20-PAR.pdf

[4] Drew Gislason.ZigBee Wireless Networking[M].Boston:Newnes,2008.

[5] 李山,杨波.基于WiFi的环境监测系统设计[J].软件,2011,32(1):42-45.

[6] 雷纯,何小阳,苏生辉.基于 ZigBee 的多点温度采集系统设计与实现[J].自动化技术与应用,2010(2):43-46.