1. 引言
温度监测系统广泛应用于对温度敏感的工业、农业、医学等现场,如通信基站机房、矿井、粮仓、智能家居等环境中。传统的温度监测系统需在所监测区域布置大量的信号传输线,体积宠大,成本相对较高,且不能实现远程监测。如何解决传统温度监测系统采用的有线网络所带来铺设、维护等诸多不便已成为目前研究的热点。本文提出一种基于ZigBee模块技术的远程温度监测系统,能有效解决上述的问题。ZigBee无线模块是一种低功耗、低成本、低速率、低复杂度的双向的无线通信技术,它是无线传感网络的主流技术。以ZigBee技术组成无线温度传感器网络,由部署在监测范围内的微型温度传感器节点通过无线电通信构成的一个多跳的自组织网络,能够实时地感知、收集和处理网络覆盖范围内的温度信息,并通过汇聚节点处理并发布在服务器Web网页上,用户可以登陆网页进行实时监控。
2.系统总体结构
2.1 系统的结构
本系统采用ZigBee模块自组网的特性,测温节点与协调节点节点自动组成一个星型网进行通信,移动终端(手机、平板电脑以及个人电脑)通过连接指定网络后通过Web浏览器访问温度数据的网页面显示界面。如图1所示。
图1 系统框图
2.2 系统的功能
本系统分为三大模块:1)温度感知模块;2)控制处理以及射频收发模块;3)数据接收显示模块。主要有两大功能:1)环境温度数据无线ZigBee数据采集功能:测温节点自动对所探测环境的温度进行ZigBee数据采集,通过无线传输的方式把采集到的温度数据都发送给协调器节点。2)环境温度数据远程实时监测功能:系统采用的是B/S(Browser/Server)结构,只需一个可以访问网页的终端即可远程监测环境温度数据。另外可以在网页显示界面上按需设置监测环境温度的上限值和下限值,环境温度一旦超过所设置的上限值或者低于设置的下限值就会有相对应警报提醒。
3.硬件设计
本系统采用TI公司开发的2.4GHz ZigBee片上系统解决方案CC2530的无线单片机方案。
图2 CC2530电路
TI公司免费提供了ZigBee联盟认证的全面兼容IEEE802.15.4与ZigBee2007协议规范的协议栈代码和开发文档,并为提供了丰富的开发调试工具。CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其他强大的功能。
CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统。CC2530具有21个可用I/O、4个定时器、ADC 、随机数发生器、AES加密/解密内核、DAC、DMA、Flash控制器、RF射频收发器等众多外设。
节点硬件设计:测温的节点由CC2530与DS18B20数字温度传感器组成,采用电池进行供电。CC2530通过单总线通信协议控制DS18B20数字温度传感器并获取实时的环境温度值,再发送到协议器节点。DS18B20数字温度传感器与CC2530接口示意图如图3所示。
图3 硬件框架图
协调器节点直接由上位机通过USB数据线供电。协调器节点接收所有测温节点发送过来的数据,经过片内程序进行数据处理后,通过CC2530 ZigBee开发底板USB口把数据上传到上位机。
4.软件设计
系统组成ZigBee数传模块星形拓扑结构的网络通信,涉及到协调器与终端节点的编程。协议器负责建立网络并进行维护,接收各不同的终端节点发送过来的温度信息融合后再进行控制。终端节点必须加入协调器组建的网络中,并开始定期采集温度并发送到协调器上。协调器把融合后的温度经过串口发布在Web服务器上,供指定用户登陆站点进行访问。
协调器上电后,根据编译时指定的参数,选择适合当前通信环境的网络号以及信道来建立星形网。协调器的程序图如图4所示。
图4 协调器与终端节点软件流程图
终端节点上电并初始化硬件以及协议栈后,会搜索是否存在着对应编号的ZigBee数传模块网络,如果存在则加入对应的无线网络,然后启动定期采集温度数据,并发送至协调器。W e b服务器显示界面是基于M y E c l i p s eEnterprise Workbench 9.0平台的,用Jsp技术实现的基于Web的串口通信方法。页面利用Jsp技术实现了数据的显示功能,然后利用JavaBean和Servlet在后台获取串口的数据,并通过Json对象将数据传送到前端页面。最后利用Ajax技术实现了页面的定时自动刷新更新数据,以及利用JavaScript技术实现了页面按钮和功能事件的触发。
5.显示界面
网页显示界面分为数据显示区域和参数设置区域两大部分。显示区域内分别显示传感器编号、获取时间以及温度值共三项数据内容。
参数设置区域里需要设置的主要参数有四个,分别是串口号、波特率、高温警告和低温警告,其他均保持默认即可。显示界面可以获取各个节点发送回来的温度数据,且用户通过高温警告与低温警告来进行温度保护。
图5 工作界面
6.结论
本文通过利用ZigBee模块实现了远程温度监测系统,实现对温度敏感的环境实施远程ZigBee数据采集。
可以通过布置多个ZigBee数传模块终端节点来监控多个区域的温度,可以应用的范围的很广,该系统具有低功耗,低成本,结构简单,无人值守,检测准确度高,抗干扰能力等优点,能够长时间稳定地工作,具有很高的应用价值。