基于ZigBee的无线温湿度采集系统设计
2016-06-30杨怀德
杨怀德
摘要:针对传统温湿度采集系统布线复杂、施工成本高、测量精度低等问题, 该文设计了基于ZigBee的无线温湿度采集系统实现方案。该方案选用DHT11芯片采集温湿度信息, 选用CC2530对采集到的信息进行分析处理,并实现温湿度信息的无线监测。实验结果表明: 该系统能够实现温湿度信息的实时采集和无线传输, 具有灵活性、 准确度高、实时性等优点。
关键词: ZigBee;温湿度;无线采集;CC2530;DHT11
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)14-0229-03
Design of Indoor Wireless Temperature and Humidity Acquisition System Based on ZigBee
YANG Huai-de
(The Computer Engineering Department of Dongguan Polytechnic,Dongguan 523808, China)
Abstract:Aiming at the problems of complicated wiring, high construction cost and low measurement precision of traditional temperature and humidity acquisition system, this paper designs a wireless temperature and humidity acquisition system based on ZigBee. The program selects DHT11 chip to collect temperature and humidity information, select CC2530 to analyze the collected information, and realize the wireless monitoring of temperature and humidity information. The experimental results show that the system can realize the real-time acquisition and wireless transmission of temperature and humidity information, and has the advantages of flexibility, high accuracy, real-time and so on.。
Key words:ZigBee; temperature and humidity; wireless acquisition; CC2530; DHT11
随着物联网技术的发展,温湿度信息采集系统在安防监控、智能家居、智慧农业等领域的应用越来越广泛:人们可以根据获取到的温度信息来控制空调的风速,还可以根据获取到的湿度信息来调节除湿设备的工作参数[1-2]。传统方法大多采用有线连接方式,布线工作量大、维护困难,系统的成本高、灵活性差[3]。针对这一问题,本文设计了一种基于ZigBee技术的无线温湿度采集系统,该系统具有可快速部署、无人值守、功耗小、成本低等优点,十分适用于构建多点温湿度监测。
1 系统总体设计
1.1设计要求
在无线温湿度采集系统中, 对系统的功耗、 精确度、 实时性有较高要求。具体设计要求如下:
1)能对节点所处位置的温湿度进行采集,温度的检测范围为-50℃~50℃,误差允许范围为;±2℃,湿度测量范围为20%~90%RH,误差允许范围为±25RH[4]。
2)能通过无线传输的方式将节点采集到的温湿度信息传送到主控端。
3)当检测到数据超过阈值时,能进行自动报警。
4)能将采集到的温湿度数据通过LCD屏幕进行显示。
1.2设计方案
利用模块化设计思想, 将系统分为温湿度采集、 传输、 数据处理三个模块。系统的工作原理是: 温湿度采集模块对环境温度、湿度进行实时采集, 然后把采集到的温度、湿度信息交由传输模块组装成帧进行无线传输, 最后主控端对接收到的数据进行分析处理。其网络结构如图1所示,监测节点与主控端通过ZIGBEE无线网络进行数据通信。
2 系统硬件设计
为了满足系统设计要求,本系统选用CC2530作为本设计的主芯片。CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其他强大的功能[5-6]。CC2530 有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB 的闪存。CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统[7]。
2.1温湿度采集模块硬件设计
温湿度采集模块采用DHT11作为核心芯片,DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,包括一个电阻式感湿元件和一个NTC测温元件。本系统将C2530的P0_7用来连接DHT11的信号线PIN2进行数据传输,其电路设计如图2所示。
2.2 ZigBee无线传输模块硬件设计
无线传输模块采用CC2530内部集成的RF模块作为核心模块,实现无线组网、数据包寻找终端进行数据交换的功能。CC2530芯片具有地址配对的功能,只需要在写入程序时,设置配对终端的地址即可发送数据、接收收据、处理数据为主,实现信息的A/D转换及收发,因此这部分的主要工作是射频电路的设计。无线RF的外围电路连接与CC2530芯片有对应的引脚接口:引脚25对应RF_N,引脚26对应RF_P,其电路设计如图3所示。
2.3 温湿度信息显示模块硬件设计
温湿度信息显示模块的核心是显示屏,本系统采用ST7735。ST7735是一款单芯片控制器/驱动器262K色,图形型TFT-LCD。该芯片接受串行外围接口(SPI),8位/ 9位/ 16位/ 18位并行接口。显示数据可以存储在片上显示数据为132 x 162×18位RAM.它可以执行显示数据RAM读/写操作,没有外部操作时钟以使功耗最小。ST7735与CC2530之间的电路连接设计如图4所示。
3 系统软件设计
系统采用IAR集成开发环境进行开发,软件设计尽量采用模块化、标准化的设计思想、分段编程、分段调试;各个功能模块相互独立,尽量使它们松散耦合,便于将来进行维护和功能增强。总之,在整个系统的软件设计中,充分发挥了硬件的特性,控制流程简洁精确,反应灵敏,优先级控制使用得当,并且在软件控制中充分发挥了中断和定时功能,使整个系统反应更加及时灵敏。
系统软件主要由主框架模块、DHT11模块、LCD显示模块三个部分组成。主框架模块使用TI的Z-STACK模型,运行于OSAL操作系统之上。 OSAL (Operating System Abstraction Layer)是一种支持多任务运行的系统资源分配机制,实现了类似操作系统的某些功能,但并不能称之为真正意义上的操作系统。其工作原理是基于事件驱动,当有一个事件发生的时候,OSAL负责将此事件分配给能够处理此事件的任务,然后此任务判断事件的类型,调用相应的事件处理程序进行处理。为此,需要注册新的温湿度采集的任务,并完成该任务的初始化函数和事件处理函数的编写,具体流程如图5所示。App_Send_P2P_MSG函数中通过DHT11模块提供的借口获取温湿度信息,利用Z-STACK协议栈的无线发送接口向主控端发送获取到的温湿度信息。App_MSBCB函数利用Z-STACK协议栈的无线接收接口对收到的温湿度信息进行处理,并调用LCD显示模块进行显示。
DHT11模块提供温湿度信息采集的接口,使得应用程序可以方便的获取节点所处环境的温湿度信息。DHT11信号线工作电压时序如图6所示。总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低且必须维持18毫秒以上,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号。主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。
LCD显示模块提供写LCD的接口,使得应用程序可以输出信息到LCD屏,方便人机交互。本系统将CC2530的UART1设置成SPI工作模式,从而使用SPI传输协议来和LCD进行通信。本系统采用的显示模块是ST7735,在正常使用之前需要按照其时序要求对其进行正确的初始化。LCD模块提供中文写接口_和英文写接口,支持中文和英文显示。 英文写LCD接口的伪代码如下所示:
LCD_write_EN_string(unsigned char X,unsigned char Y,uint8 s)
{ while (*s)
{写一个字符
s++;
if(超过每行最大显示字符数){
return;}}
return;}
中文写LCD接口的流程与英文写LCD接口类似,不同之处是,中文写流程中需要去字模库中查找字模,如果能搜索到对应的字模就可以正常显示该字符,否则显示空白。
3 结论
本文着重研究了基于ZigBee的无线温湿度采集系统的设计,给出了系统的设计框架图,并详细讨论了系统的硬件和软件实现方案,本文设计的温湿度采集系统适用于大多数无线温湿度监测系统的需求,对后续功能的完善和开发具有很好参考价值。
参考文献:
[1] 李灏,杨海波. 基于ARM的物联网温湿度采集节点设计与实现[J].现代电子技术,2014(14):132-134.
[2] 赵懿琨,李长友,卿艳梅,等. 基于μC/OS-Ⅱ的粮仓多点温湿度无线采集系统的设计与测试[J].华南农业大学学报, 2015(2):95-99.
[3] 董静薇,李会乐,郭艳雯,等.基于Zigbee的粮仓温湿度监测系统设计[J].哈尔滨理工大学学报,2014,19(2):120-124.
[4] 冯禹,孔祥金,林语,等.基于CC2530的无线温度采集系统设计[J].电子技术,2013(7).
[5] 廖建尚.基于CC2530和ZigBee的智能农业温湿度采集系统设计[J].物联网技术,2015,5(8):25-29.
[6] 麦军,邓巧茵,万智萍.基于CC2530的ZigBee无线组网温度监测系统的设计[J].电子设计工程,2015,23(22):117-121.
[7] 聂晓立,高小龙.基于CC2530的无线温度采集系统设计[J]. 电脑知识与技术,2015(8).