基于ZigBee协议的温湿度监测系统设计与实现
扫描二维码
随时随地手机看文章
环境温湿度是影响工农业生产的重要因素,而传统的温湿监测系统多以人为主体,不仅费时费力,且在某些监测系统中,危险系数也较高。近年来,通过无线传感器网络对工农业生产环境实时地监测、监控已成为行业研究的热点。由于采用了无线网络,使得数据采集系统的设计更加安全、可靠和智能化。ZigBee作为一种低功耗、低成本、易于开发和应用的无线通信技术,被广泛应用于无线数据采集系统的设计中。但实际应用中,基于ZigBee的数据采集系统仍不同程度的面临以下问题:传输距离短;可扩展性差,若终端节点增加其他用途的测量传感器,多需重新设计连接电路;为增加传输距离而引入的射频前端占用主控芯片的引脚资源等。
为实现对工农业生产环境中的温湿度进行实时、准确地监测,及时为生产策略的调整提供更多、更具价值的数据分析依据,文中设计了以CC2530和RFX2401C为射频单元、SHT 71为传感节点的ZigBee监测网络。
1 系统设计
该监测系统主要由一个直接与上位机相连的ZigBee协调器,两个SHT71传感器数据采集节点组成。为实现ZigBee数据采集网络,分别进行系统的软硬件设计:系统硬件主要负责采集周围环境的温湿度数据信息;系统软件则负责数据信息的传递与处理等功能。
2 系统硬件设计
协调器和传感器终端节点的核心为CC2530F256芯片。CC2530F256是TI公司生产的一款片上系统(System On a Chip,SOC)解决方案,应用于2.4 GHz频段,支持IEEE802.1 5.4、ZigBee和RF4CE。该芯片结合了领先的RF(Radio Frequency,RF)收发器的优良性能、工业增强型8051 MCU内核、系统内256 kB可编程闪存Flash、8 kB RAM、支持CSMA/CA功能、多种工作模式以满足低功耗系统的需求。CC2530芯片系列尺寸更小,价格普遍低于CC2430/CC2431芯片,传输距离更远,支持目前普遍使用的ZigBee-2007/PRO协议。Zig Bee 2007/PRO相对于以前的协议栈具有更好的互操作性、节点密度管理、数据负荷管理、支持网状网络等特点。同时,与CC2430相比,CC2530片上通用I/O口,均具有独立的中断请求能力,设计者可自定义中断请求引脚。基于以上优点,运用CC2530设计出的节点通信距离更远,组网性能更稳定可靠,且性价比更高,适用于系统设计。但CC2530本身具有的射频功能只适用于小功率传感网络,为增加节点的传输距离,采用RFX2401C作为射频前端,以放大输出功率。RF射频模块电路如图1所示。RFX2401C只需2个控制引脚,P1.1和P1.4,RXEN为高电平时,TXEN决定数据的收发。与采用CC2591的射频前端放大电路相比,连接、控制简单,节省引脚资源。在室外测试环境中,引入RFX2401C的ZigBee网络,通信距离平均增加了约60 m。
2.1 协调器节点硬件设计
协调器为全功能设备(Full Function Device,FFD),是ZigBee传感器网络的中心,负责网络的组建、维护、管理及协调各传感器节点的工作。协调器节点硬件电路主要由RF射频模块、RS232串口模块和电源模块组成。射频模块如图1所示,主要负责无线传输数据,增加RFX2401C芯片以提高传输距离,P0.2、P0.3用作串口通信引脚;RS232串口模块用于协调器与上位机通信,使用SP3223E完成RS232与TTL间的电平转换,电路连接如图2所示;5 V电源通过TPS79533低压稳压器输出稳定的3.3 V工作电压,对ZigBee射频模块和SP3223E供电。
2.2 传感器节点硬件设计
传感器节点多为简化功能设备(Reduce Function Device,RFD),其功能简单,无需进行复杂的数据处理,且接口外设较少。该节点的射频模块设计与协调器节点相同,采用的传感器为数字温湿度传感器SHT71。SHT71内部包括电容式聚合体测湿部件及能隙式测温部件、校验存储器等,与一个14位的A/D转换器和二线双向串行接口电路在同一芯片上实现无缝连接。默认测量分辨率为14 bit(温度)、12 bit(湿度),在高速或超低功耗的应用中可将分辨率分别降至12 bit和8 bit。该传感器工作性能稳定、可靠,与MCU之间以二线双向串行接口方式通信,连接电路如图3所示。此外,电源引脚(Vdd,GND)之间还封装了一个100 nF的去耦滤波电容。
SCK用于MCU与传感器之间的同步通信,DATA三态门用于数据的读取。通过“启动传输”时序,完成数据传输的初始化工作,然后通过传输相应的命令指定SHT71的工作方式。测量过程为:微控制器先发一组测量指令,SHT71测量完成后,下拉DATA至低电平表示测量结束,接着传输2个字节的测量数据和1 Byte的CRC奇偶校验,其测量时序如图4所示。
实验中,电源电压为5 V,温湿传感器的分辨率分别为12和8位。由于SHT71内部温度传感器的线性度较好,直接利用式(1)计算实际温度值T
T=d1+d2·SOT (1)
其中,d1=-40,d2=0.04,SOT为温度测量值。而湿度传感器的线性度较差,为补偿湿度传感器的非线性以获取准确数据,采用式(2)修正输出数值RHline
c1=-4,c2=0.648,c3=-7.2×10-4,SORH为湿度传感器相对湿度测量值。在测量与通信结束后,SHT71自动转入休眠模式,以减少能耗。
3 系统软件设计
3.1 ZigBee协议栈
ZigBee协议由IEEE802.15.4定义的物理层(PHY)、媒体访问控制层(MAC)、ZigBee联盟定义的网络层(NWK)、应用层(APL)及安全协议规范组成。协议栈框架如图5所示。
ZigBee支持星型、树形和网状型3种拓扑结构。在星型网络中,所有的终端设备均只与协调器通信,不同终端的数据交换需通过协调器实现,故星型网为单跳网络。树形和网状网具有在网络间对数据包路由的功能,因而为多跳网络。为简化设计,实验室中以协调器为中心,组建星型网络。
软件设计上,采用符合ZigBee2007规范的ZStack-2.3.0协议栈,可兼容CC2530片上系统解决方案;开发环境为IAR EW,使用C语言编写应用程序。ZStack协议栈中嵌入了OSAL(Operating System Abstraction Layer)多任务操作系统,以便于对ZigBee协议进行管理。当某事件时间发生后,OSAL根据事件类型将其分配给能处理该事件的具体任务,并对事件加以处理。
协调器负责ZigBee无线传感网络的组建。通电后,分别对硬件模块和OSAL初始化。在周围空间进行能量检测和信道扫描,选择一个合适的信道组建无线网络。为网络分配一个PANID标识,并为该ZigBee协调节点分配一个16位网络短地址(默认为0x0000)。在组网成功后,接收传感器节点的入网请求并为其分配网络地址、接收传感器节点发送的温湿度数据信息及上位机的控制命令等。协调器主体工作流程如图6所示。
传感器终端节点主要负责温湿度的采集。初始化后扫描空间中是否有ZigBee网络存在,若有,则申请加入,并周期性发送温湿度测量数据给协调器,其工作流程如图7所示。
3.2 上位机监控界面
在Microsoft Visual Stdio 2010开发平台中,利用C#/.NET。开发上位机用户监控界面。传感器节点采集的数据以ZigBee无线方式传递给协调器,再由协调器递交给上位机处理和显示。图8为温湿度实时监测界面,横轴为测量时间,纵轴为SHT71采集的数据。突变处是人为干预时产生的现象。可见,SHT71有较好的灵敏度及稳定性。
4 结束语
文中利用CC2530和SHT71,设计并实现了可对温湿度进行无线采集的监测系统。在射频前端加入RFX2401C功放单元,有效增加了传输距离。系统将传感器终端节点采集的温湿信息经ZigBee网络传递给上位机存储和实时显示,便于生产人员分析处理。设计中,由于采用星型单跳网络,ZigBee网络覆盖范围小,可加入的传感器节点数目有限,满足实验中的应用要求,而应用在实际的生产过程中可能存在一定限制。下一步研究的重点是在传感器节点增加路由功能或引入有路由功能的RFD,组建网状或树形网络,增加ZigBee网络的覆盖范围。另外,设计拥有更多功能的传感器节点,以采集多种类型的环境因子,使系统更具实用价值。