基于Zigbee技术的大气温湿数据采集系统设计与实现*

2015-03-14 08:08余贵水朱倪瑶
舰船电子工程 2015年5期
关键词:温湿度湿度终端

余贵水 赵 奎 朱倪瑶 左 雷

(海军工程大学电子工程学院 武汉 430033)



基于Zigbee技术的大气温湿数据采集系统设计与实现*

余贵水 赵 奎 朱倪瑶 左 雷

(海军工程大学电子工程学院 武汉 430033)

论文设计实现了基于ZigBee技术的大气温度、湿度参数采集系统,ZigBee无线传感网络在家居、工业、医疗等领域应用的发展暗示着它已经成为一种新的技术趋势。为了快速构建大气温湿参数采集无线通信网络,从应用方面着手对ZigBee技术的网络拓扑结构进行研究和介绍。在IAR开发环境下,采用TI公司的Z-STACK协议栈,以CC2530芯片为核心构建了一个由若干节点组成的星型无线传感网络。各终端器利用温湿度传感器DHT11采集温度、湿度数据,并通过网络汇聚到协调器。实现了基于ZigBee网络的温度、湿度参数采集及通信。

CC2530; ZigBee; IAR; 无线传感网络

Class Number TP212

1 引言

随着现代技术的发展,无线通信技术在许多领域的优势使之得到了越来越多的应用。使用无线传感器网络系统能弥补有线网络系统需要进行大量布线,成本较高,且在恶劣的环境中无法进行布线的缺点。近年来成为国内外的研究热点。自Zigbee联盟推出规范以来,Zigbee技术一直得到国内外无线传感领域的重视,目前已经广泛应用在工业、农业、家庭、医院等各个领域。

世界上各大厂商纷纷推出实现ZigBee物理层功能的芯片,代表性的有Jennic的JN5139,Freescal的MC13192和Ember的EM250等。德州仪器也推出了一系列系统级芯片。其中CC2530是一款兼容IEEE 802.15.4的片上系统,集成了增强型8051内核,结合TI Z-STACK协议栈可方便的组建自己的无线通信网络[1]。

本系统通过构建ZigBee网络测量同一时刻,同一地点,不同高度条件下的大气温度、湿度参数,其系统总结构图如图1所示。

图1 系统总结构图

2 ZigBee协议栈体系结构

ZigBee的协议结构是建立在IEEE 802.15.4标准基础之上的。IEEE 802.15.4标准定义了ZigBee的物理层(PHY)和媒体访问控制层(MAC);ZigBee联盟则定义了ZigBee协议的网络层(NWK)、应用层(APL)和安全服务规范。如图2是ZigBee协议栈的结构图。ZigBee协议以OSI七层参考模型为基础,只定义了其中与LR-WPAN应用相关的协议层。

图2 ZigBee协议栈模型

ZigBee协议栈的每层为其上层提供一套服务功能:数据实体提供数据传输服务,管理实体提供其它的服务。所有的服务实体通过服务接入点(SAP)为上层提供一个接口,每个SAP都支持一定数量的服务原语(即请求、指示、响应和证实)来实现所需要的服务功能[2]。

IEEE 802.15.4的物理层提供两类服务:物理层数据服务和物理层管理服务。PHY层功能包括无线收发信机的开启和关闭、能量检测(ED)、链路质量指示(LQI)、信道评估(CCA)和通过物理媒体收发数据包。MAC层提供MAC层数据服务和MAC层管理服务,其主要功能包括采用CSMA/CA进行信道访问控制、信标帧发送、同步服务和提供MAC层可靠传输机制。

ZigBee网络层提供设备加入/退出网络的机制、帧安全机制、路由发现以及维护机制。ZigBee协调器的网络层还负责新网络并为新关联的设备分配地址。ZigBee应用层包括应用支持子层(APS)、ZigBee设备对象(ZDO)和制造商定义的应用对象。APS子层负责维护绑定列表,根据设备的服务和需求对设备进行匹配,并在绑定的设备之间传送信息。ZDO负责发现网络中的设备并明确其提供的应用服务。

ZigBee网络由一系列网络节点组成,一个网络节点可以包含多个设备,每个设备可支持240个端点。端点作为网络通信中的数据通道,编号为1~240的端点对应可以定义240个应用对象。此外端点0作为ZigBee设备对象(ZDO)的数据接口。每个端点可定义多个群集(Cluster)。

在ZigBee网络中进行数据收发都是建立在应用规范(Profile)基础上的,设定Profile是一种规定不同设备对消息帧的处理行为,使不同的设备之间可以通过发送命令、数据请求来实现互操作。它由ZigBee联盟提供或用户自行建立,在从ZigBee联盟得到分配的ProfID后,就可以定义设备描述符和群集(Clusters)。其中描述符用来描述设备类型和应用方式,包括节点、电源、简单、复杂和用户描述符。简单描述符需要在节点的各个终端(endpoint)中定义,而其他描述符则适用于整个节点。

在ZibBee网络中,设备可以分为两类,即完整功能设备(FFD)和简化功能设备(RFD)。完整功能设备(FFD)可以作为协调器或路由器在任何拓扑结构中工作,能同其他FFD或RFD通信。而RFD只能作为终端网络节点,并且只能同网络中的FFD通信。FFD和RFD在硬件结构上相同,但在网络层结构中有差异。

图3 ZigBee网络拓扑

ZigBee网络支持三种网络拓扑结构,为星型网络拓扑、网状网络拓扑和树状网络拓扑[2]。三种拓扑结构见图3。星型网络中,PAN协调器提供组织网络和路由功能,终端网络节点通过协调器进行通信。这种拓扑结构主要用在智能家居、PC外设等领域。网状网络中每个节点都具智能化,网络中任意节点故障时,附近的无线节点会自动代替该故障的节点,继续进行信息的传输和转发,从而大大提高系统可靠性[3]。

3 ZSTACK协议栈的分析

Z-Stack是德州仪器推出的ZigBee协议栈软件,其为应用开发者提供了一个模板,在其基础上进行开发可以大大加快应用开发周期[4]。

Z-Stack采用操作系统的思想来构建,采用事件轮询机制,系统按照任务优先级依次来处理事件,而在事件处理完后,进入低功耗模式,降低了系统的功耗。操作系统抽象层(OSAL)的工作就是对多个任务进行系统资源分配,核心是通过参数传递的事件类型来判断对应处理相应任务的事件。在系统中,通过tasksEvents指针轮询访问事件表的每一项,如果有事件发生,则查找函数表找到事件处理函数进行处理,处理完成后,继续访问事件表,查看是否有事件发生,进而执行事件处理函数,完成各个任务事件处理。其中任务事件的触发有两种方式,一种是通过设置一个软件定时器osal_start_timeEx()函数等待溢出来触发,一种是调用系统消息传递机制来触发。

在进行应用开发时,需要定义添加相应的任务。其中主要包括任务初始化函数和事件处理函数。任务初始化函数定义一个TasksArr数组,存放所有任务事件处理函数的地址,给每个任务分配唯一的任务标识号,最后注册系统服务。ZStack协议栈中按照由高到低的优先级已经定义好了MAC层、网络层、硬件驱动抽象层、应用设备对象层的任务,只需按照自己的需求编写应用层的任务及事件处理函数即可,一般情况下,用户只需额外添加三个文件就可以完成一个项目,一个是主文件,存放具体的任务处理函数,一个是这个主文件的头文件,另外一个是操作系统接口文件(以Osal开头),如图4所示。大大增加了项目的通用性和易移植性。

图4 用户开发程序所需要新增编写文件

4 硬件设计

CC2530是一个片上系统解决方案。CC2530芯片的RF性能佳,闪存容量大,封装尺寸小,协议支持也多样。在该芯片基础上设计的温湿采集节点在室外的最高传输距离可达300m。本节主要讲解温湿采集器硬件设计及SHT11温湿度传感器工作原理。

终端节点是ZigBee网络中负责数据采集的节点,传感器选择是其重要组成部分。系统选用瑞士Sensirion公司生产的SHT11型传感器。该传感器具有相对湿度和温度一体测量、超快的响应时间等优良特性。

SHT11是新型智能温湿度传感器,它将温湿度传感器、信号放大调理、A/D转换、二线串行接口全部集成于一个芯片内,融合了CMOS芯片技术与传感器技术[5]。SHT11传感器默认的测量温度和相对湿度的分辨率一般分别为14位、12位,通过状态寄存器可降至12位、8位。湿度测范围是0~100RH,对于12位的测量精度为±3.0%RH;测温范围为-40℃~+123.8℃,对于14位的测量精度为±0.4℃。

温湿度传感器SHTl1送出的温度、湿度数据必须经过数据转换,才能表示实际的温度和湿度,其公式如下:

Tc=d1+d2×SOT

(1)

(2)

RHTure=(Tc-25)×(t1+t2×SORH)+RHLinear

(3)

式中:Tc为摄氏温度;RHTure为经过温度补偿的相对湿度;d1和d2为和温度分辨率有关的校正系数c1、c2、c3、t1、t2为和湿度的分辨率有关的校正系数;SOT为从SHT11中读出的温度值;SORH为从SHT11中读出的湿度值。其对应关系见表1和表2。

表1 温度矫正系数

表2 湿度矫正系数

终端节点温湿度采集流程为:终端节点接收到来自协调器节点的采集指令后,将SHT11传感器定期采集的温湿度数据进行预处理,然后通过无线网络与协调器节点进行通讯。温湿度采集流程图如图5所示,终端节点通常为节能考虑而间歇性工作,在传输数据之后会进入一定时间的休眠,等待下一个采集指令的到来。

图5 温湿度采集流程图

5 软件设计

本系统的硬件操作,需要软件的设计来实现。利用美国德州仪器公司的Z-STACK协议栈。Z-STACK协议基于轮转查询式操作系统来实现。软件设计主要分为终端节点软件及协调器节点软件两部分。本节介绍终端节点、协调器节点的软件设计部分。协调器节点上电后,会按照编译时给定的参数,选择合适的信道、合适的网络号,建立ZigBee无线网络。终端节点上电后,会进行硬件电路初始化,然后搜索是否有ZigBee无线网络,如果有ZigBee无线网络时,终端节点申请加入网络,协调器节点准许加入并分配一个16位的网络短地址,等待采集的温湿数据命令,然后将接收的所有数据包通过串口通信发送到PC机上,以便更容易地进行温湿数据分析和数据存储。协调器节点、终端节点软件流程图如图6、图7所示。

图6 协调器软件流程图

图7 终端节点软件流程图

6 实验结果及分析

搭建好硬件环境后,在本系统中,终端节点每隔1min采集一次温湿度数据并通过无线网络发送给协调器节点,协调器节点再通过RS232串口总线将数据发送到PC机上,串口设置为COM1,波特率设置为19200bps。在实验过程中本系统采集了五组数据,同时用江苏无线电科学研究所有限公司的ZQZ-CY移动气象站来对比本系统测得的温湿度数据。通过表格的形式可以直观地分析数据的准确性。通过表格可以发现,温度传感器测量值与移动气象站测得的温度误差在-0.1℃~+0.4℃之间,湿度传感器测量值与移动气象站测得湿度误差在-0.7RH~+1.1RH之间,均符合实验测量误差值范围,分析结果见表3。通过Matlab软件画图更加直观看出实验结果,如图8所示。

表3 实验数据与移动式气象站对比表

图8 实验数据与移动式气象站对比图

7 结语

本文主要介绍了基于ZigBee网络的大气温度、湿度测量系统硬件结构和软件流程,使用该系统进行实地测量,并与移动气象站输出数据进行比较。结果证明该方案构建合理,能够同时测量多点温湿度参数,具有测量精度较高且功耗较低的优点。可进一步完善系统设计并推广。

[1] 李俊斌,胡永忠.基于CC2530的ZigBee通信网络的应用设计[J].电子设计工程,2011(8):108-111.

[2] ZigBee Aliance. ZigBee Specification[EB/OL]. (2008). http://www.ZigBee.org./

[3] 李文仲,段朝玉.ZigBee无线网络技术入门与实战[M].北京:北京航空航天大学出版社,2007.

[4] 夏飞.基于Z-Stack协议的无线传感器网络节点研究[J].电子元器件应用,2009,11(12):74-76.

[5] 张艳丽,杨仁弟.数字温湿度传感器SHT11及其应用[J].工矿自动化,2007(3):113.

[6] 王小强,欧阳骏,黄宁淋.ZigBee无线传感器网络设计与实现[M].北京:化学工业出版社,2012.

[7] 高守玮,吴灿阳.ZigBee技术实践教程—基于CC2430/31的无线传感器网络解决方案[M].北京:北京航空航天大学出版社,2009.

[8] 吕治安.ZigBee网络原理与应用开发[M].北京:北京航空航天大学出版社,2008.

[9] 樊建明,陈渊睿.基于SHT11的温室多点测量系统设计[J].国外电子测量技术,2006(25):4-8.

[10] 沙国荣,赵不贿,景亮,等.基于ZigBee无线传感器网络的温室大棚环境测控系统设计[J].电子技术应用,2012,32(1):60-65.

Design and Implementation of Atmospheric Temperature and Humidity Data Acquisition System Based on ZigBee Technology

YU Guishui ZHAO Kui ZHU Niyao ZUO Lei

(School of Electronic Engineering, Naval University of Engineering, Wuhan 430033)

The paper designed and implemented an acquisition system which was used to collect temperature and humidity parameters based on ZigBee technology. The application of ZigBee wireless sensor network in the fields of intelligent home, industry, medical health and others implies that Zigbee was becoming one trend of new technology. In order to rapid construct the acquisition wireless communication network, the paper introduced and researched the network topology of ZigBee technology from a perspective of application. A kind of a star wireless network including several nodes was built using the SOC chip CC2530 and TI’s Z-STACK protocol under the development environment IAR. Each terminal could acquisite temperature and humidity data using DHT11 sensor, then converged the data to the coordinator through network, finally implemented the data acquisition and communication base on ZigBee network.

CC2530, ZigBee, IAR, wireless sensor network

2014年11月13日,

2014年12月29日

余贵水,男,副教授,研究方向:雷达信号处理。赵奎,男,硕士研究生,研究方向:雷达信号处理。朱倪瑶,女,硕士研究生,研究方向:雷达信号处理。左雷,男,讲师,研究方向:雷达超视距。

TP212

10.3969/j.issn1672-9730.2015.05.025

猜你喜欢
温湿度湿度终端
湿度变送器测量结果不确定度评定
复杂线束在双BCI耦合下的终端响应机理
加湿器用不对 警惕肺炎缠身
X美术馆首届三年展:“终端〉_How Do We Begin?”
基于AT89C51的数字型蚕用温湿度计的设计
基于声波检测的地下防盗终端
基于温湿度控制的天气预测装置
基于DSP和μcos的温湿度检测系统的设计
PLC在计算机空调机房温湿度控制中的应用
“吃人不吐骨头”的终端为王