基于ZigBee的无线温湿度采集系统摘要:针对传统温湿度检测存在的问题,结合无线传感器网络技术,本文提出一种基于ZigBee 技术的无线温湿度采集系统的设计方法。
设计采用CC2530 射频芯片及SHT11 数字温湿度传感器,在ZigBee 协议栈的基础上进行应用开发。
阐述了ZigBee技术,系统组成及工作原理,系统软硬件设计等内容,并通过实验测试表明,该无线温湿度采集系统能够稳定可靠的运行,并且具有组网简单、功耗低,成本低等优点,具有十分好的实用价值和经济效益。
关键字:ZigBee,温湿度,CC2530,协议栈Wireless temperature and humidity acquisition systembased on ZigBee technologyAbstract: According to the problems existing in temperature and humidity detecting of traditional ways,combining with wireless sensor network technology , this paper puts forward a new design of temperature and humidity acquisition system based on ZigBee technology. The design was carried out based on the ZigBee protocol, adopting CC2530 RF chip and digital humidity and temperature sensor SHT11. Paper introduces ZigBee technology, the overall design of the system, hardware and software design of the nodes and so forth. Finally, the experimental tests have proved that the wireless temperature and humidity acquisition system was stable and credible , with the advantages of simple networking , low cost and low power, and it has a very good practical value and economic benefits .Keywords: ZigBee, Temperature and humidity, CC2530, Protocol1 引言在冷链物流、农业生产、仓库管理以及食品保存等领域,温度和湿度控制显得十分重要,但传统的方法采用测试器材来测量温度和湿度,通过人工进行检测,这种人工测试方法费时费力、效率低,而且测试的温度及湿度的误差大,随机性大。
因此,开发一种全新的温湿度采集系统就显得十分迫切和重要了。
本文设计了一种采用无线传感器网络技术进行温度和湿度的采集系统。
无线传感器网络不需要较高的传输带宽,但需要较低的传输时延和较低的功率消耗。
ZigBee 是一种新兴的短距离、低功耗、低数据速率、低成本、低复杂度的无线网络技术,它的出现正好满足了这个要求。
2 ZigBee技术ZigBee是一种标准,该标准定义了短距离、低数据传输速率无线通信所需要的一系列通信协议,它拥有一套完整的协议层次结构,由IEEE802. 15. 4 和ZigBee 联盟共同制定完成。
其工作频段分别是868MHz(欧洲)、915MHz(北美)、2. 4GHz(全球)3个频段,可以应用于不同的场合,诸如家庭自动化网络、工业控制网络、交互式玩具、远程检测等。
完整的ZigBee 协议栈包括物理层(PHY) 、媒体访问控制层(MAC) 、网络层(NWK) 和应用层(APL)。
其中,ZigBee 的应用层由应用支持子层(APS) 、ZigBee 设备对象(ZDO) 和制造商定义的应用对象组成。
在ZigBee 协议栈中,每一层通过使用下层提供的服务完成自己的功能,同时对上层提供服务,网络中的通信在对等的层次上进行。
ZigBee 网络含三种类型的节点,即协调器、路由器和终端设备,其中协调器和路由器均为全功能设备(FFD),而终端设备选用精简功能设备(RFD) 。
一个ZigBee 网络有且仅有一个协调器,该设备负责启动网络,配置网络成员地址,维护网络,维护节点的绑定关系表等,需要最多的存储空间和计算能力,它可以看作是一个PAN 的网关节点。
路由器主要实现扩展网络及路由消息的功能,终端设备则负责与实际的监控对象相连,实现具体功能的单元。
无线传感器网络中可以根据不同的需要组成星型、簇型网和网状型三种不同的网络拓扑结构。
星状网络由一个PAN 协调器和多个终端设备组成。
只存在PAN 协调器与终端设备的通信,终端设备间的通信都需通过PAN 协调器的转发;树状网络由一个协调器和一个或多个星状结构连接而成,设备除了能与自己的父节点或子节点进行点对点直接通讯外,其他只能通过树状路由完成消息传输;网状网络是树状网络基础上实现的,与树状网络不同的是,它允许网络中所有具有路由功能的节点直接互连,由路由器中的路由表配合实现消息的网状路由。
一个ZigBee 网络最多可含有65000 多个子节点,通过无线网络数据从一个节点传送到另一个节点,最终传送到控制中心。
另外,它可以与其他的无线网络如GPRS 和CDMA 等兼容,也可以接入有线网络如Internet 、Ethernet ,实现远程监控。
3 系统结构和原理基于ZigBee的无线温湿度采集系统采用ZigBee星型拓扑组网方式,多个具有简单功能的设备和传感器构成传感器节点(终端设备),一台具有完整功能的设备作为中心节点(协调器节点),中心节点与中心控制计算机(PC机)相连,中心控制计算机通过上位机软件可以实现对整个系统节点的监测和控制。
整个系统工作时,传感器节点负责现场温湿度数据的采集,将采集到数据一定的数据格式存储起来,当上位机需要读取温湿度时,就发送相应指令给协调器,协调器将指令翻译后发送给传感器节点,传感器节点接收到指令,就将温湿度数据无线发送给协调器,协调器通过串口RS232 将数据发送给PC 机,PC机就可以对温湿度数据进行显示、分析和处理,从而实现了温湿度全程的无线采集和监测工作。
此外,整个温湿度采集系统还可以实现协调器自检、发送功率设置、终端节点地址设定、时间读取和设置、低功耗设置、拍照等其它功能。
4 系统硬件设计4.1 传感器节点无线传感器节点由数据采集、数据处理、无线通信和能量供应四个模块组成。
数据采集模块由数字传感器或者模拟传感器加A/ D 转换器组成,负责区域内的温湿度信息采集和数据转换;数据处理模块由微控制器组成,负责控制整个传感器节点的操作和数据存储;无线通信模块由无线收发器组成,负责与其他传感器节点进行通信,能量供应模块为系统其他的三个部分提供能量。
传感器节点由瑞温湿度传感器SHT11 检测得到温湿度信息,并转化为数字信号,传输至CC2530,由CC2530负责对信号进行处理发送。
节点电源部分使用两节五号电池为整个节点供电。
为了使系统工作时间持续长,节点通常在闲置时快速进入休眠模式,其外设模块进入休眠状态,或者电源管理部分不对这些外设模块供电。
SHT11是瑞士Sensirion 公司推出的基于CMOSensTM 技术的新型温湿度传感器。
SHT11将温湿度传感器、信号放大调理、A/ D 转换、I2C 总线接口全部集成于一个芯片上,该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。
这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大器;然后进入一个14 位的A/ D 转换器;最后经过二线串行数字接口输出数字信号。
SHT11 通过DA TA 数据总线输出的是相对湿度,需要进行线性补偿和温度补偿后才能得到较为准确的湿度值。
CC2530芯片是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 应用的一个真正的片上系统(SoC)解决方案。
它能够以非常低的总的材料成本建立强大的网络节点。
CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其它强大的功能。
在本无线温湿度采集系统中,我们采用的是CC2530F256芯片,它结合了德州仪器的业界领先的黄金单元ZigBee 协议栈(Z-Stack™),提供了一个强大和完整的ZigBee 解决方案。
温湿度传感器SHT11采集到的温湿度数据,存储在CC2530的FLASH ROM中,当传感节点接收到读取温湿度指令时,就通过ZigBee协议栈将温湿度数据发送出去。
4.2 协调器节点网络协调器主要负责网络的建立,信息的接收、汇总、处理及控制指令的发送ZigBee 网络最初由协调器发动并建立。
协调器通过主动扫描选择一个合适信道,根据扫描的结果选择自己的PANID 及0x0000 作为自己的短地址,其网络层将通过向MAC 层发送MLME2START. request原语启动一个新的PAN 。
协调器节点在建成网络后,开始数据收发工作及各种操作指令的执行。
当协调器收到数据时,根据数据的串ID 来判断传送的数据是地址信息还是传感器采集的数据,根据不同的数据类型解析数据包提供给PC 机显示和处理。
5 系统软件设计本系统的软件设计是基于Ti 公司推出的跟CC2530 芯片配套的Z2STACK 协议栈和IAR 集成开发环境进行设计的。
ZSTACK 协议栈运行在一个基于任务调度机制的OSAL 操作系统上,OSAL 通过触发任务的事件来实现任务调度。
OSAL 中的任务可以通过任API 将其添加到系统中,实现多任务机制。
系统中传感器节点由CC2530 内部的MCU(8051) 控制,定时向温湿度传感器SHT11 发送读温度和湿度指令,SHT11完成温度和湿度转换后会发出转换完成信号,MCU 在接收到转换完成信号后,读取温湿度值,并将这些数据信号传送给协调器。
协调器通过串口RS232 和上位机( PC) 相连,通过人机交互的方式对整个区域的进行检测。
为了实现这一功能,必须知道节点的长短地址对应表,这就需要节点在加入网络后发送自己的长短地址给协调器,协调器将长短地址对应列表存储起来,以便用户要求采集数据时依据地址表来采集每个传感器的数据。