基于ZigBee的无线监测系统

2014-10-23 04:08孙天娇周霞王英翔
中国新通信 2014年15期
关键词:单片机

孙天娇 周霞 王英翔

【摘要】 通过比较几种常用的无线传输技术,本文设计并实现了一种使用ZigBee技术无线通信,采用单片机进行数据采集处理的远程监测系统,制定了环境数据识别、获取的系统方案。系统由现场数据采集终端和远程监测中心两级网络构成,文章介绍了其结构、功能及实现方法,对数据采集终端进行了软硬件设计,实现了环境数据的采集处理,并采用Visual C++面向对象的编程思想,完成了系统的上位机软件设计。

【关键词】 ZigBee 单片机 无线监测

日常生活中,诸多环境对环境参数有严格的要求,如温室花房、储物仓库、仪器设备检测室等。这类环境监测系统一般需要设有一个或者多个控制中心,配备大量的现场数据采集点,分散的采集点需要通过一定的通信手段来实现与中心控制单元间的数据交互,进而实现对环境参数的监测。本文基于ZigBee技术实现了一种环境参数无线监测系统,可以实现对温湿度、光照强度等数据的无线采集及监测。

一、ZigBee与其他短距离通信技术的对比

1.1 蓝牙(BlueTooth)

蓝牙的工作频率为2.4GHz,有效范围约10m。它对语音和特定网络提供支持,需要协议栈提供250kB系统开销,增加了系统成本和集成复杂性。蓝牙的局限性在于只能配置7个节点,制约了其在大型传感器网络开发中的应用。

1.2 WiFi(Wireless Fidelity,IEEE 802.11)

WiFi的工作频率为2.4GHz。IEEE802.11的常用版本包括a(5.8GHz,带宽为54Mbps)、b(2.4GHz,带宽为11Mbps)、g(2.4GHz,带宽为22Mbps)。它的局限性在于功耗较大,不间断使用需要配备充电设备。

1.3 IrDA(Infrared Data Association)

IrDA利用红外线进行点对点通信,其标准的无线传输速率已逐步发展到4Mbps、16Mbps。支持它的软硬件技术目前都很成熟,在小型移动设备上被广泛使用。它具有体积小、功耗低、连接方便、简单易用、成本低廉的特点。IrDA的局限性在于只能连接两台设备,且存在有视距角度等问题。

1.4 ZigBee

ZigBee(IEEE802.15.4)使用2.4GHz波段,采用跳频技术和扩频技术。一个ZigBee星型网络中最多可以有254个子节点。节点可以包括仪器和家庭自动化应用设备,使得其在工业监控、传感器网络、家庭监控、安全系统等领域有很大的发展空间。同时,它的技术功耗低,被业界认为是最适合应用在工控场合的无线方式。与以上几种短距离无线通信技术相比,ZigBee具有如下特点:(1)功耗更低;(2)成本低;(3)网络容量大;(4)工作频段灵活;(5)可靠。

二、系统总体设计

系统通过各节点处的温度传感器、湿度传感器、光照强度传感器等采集环境数据,并转换成相应范围的模拟电压信号,然后利用单片机的模数转换功能将模拟信号转换为数字信号进行相应处理,最后通过ZigBee通信模块将数据由天线发出,由远程数据中心的ZigBee通信模块接收,计算机完成监测并存储数据至PC机内。

系统的整体框图如图1所示,本监测系统由三部分构成。

远程数据中心:由计算机和相关的ZigBee模块组成,ZigBee模块通过串口与计算机相连。ZigBee模块作为协调器节点,负责网络的启动和给其它终端节点分配网络地址,并作为无线接收端读取传感器的测量值。

前端数据采集:每个终端采集点由传感器、单片机、ZigBee等模块构成,负责采集并上传数据。根据用户的需要,可灵活配置数据采集点的个数。

网络中继:根据实际环境的需要,设置相应个数的路由节点,实现数据的转发,完成远距离通信。

基于ZigBee的监测系统支持三种网络拓扑结构:星状拓扑结构(一个节点作为网络协调器,其他所有节点之间与协调器相连)、树状拓扑结构(一些节点一次经过另外一些节点才能到达网络协调器)和网状拓扑结构(无须主协调点,各个节点之间分享路由职责,三种拓扑结构如图2所示。一个星型结构的Zigbee网络最多可以容纳254个从设备和一个主设备,一个区域内可以同时存在最多100个ZigBee网络,网络组成灵活。

普通的温室、仓库、实验室等环境结构较为简单,模块的数据传输能力强、距离近、无障碍物,可使用星状结构,如图2(a)所示;若采集节点距离协调器较远,其数据传输可通过添加中继路由节点实现,即使用树状结构,如图2(b)所示;若采集节点多且分布广、模块的传输能力不足、现场障碍物过多,使用网状结构较为可靠,如图2(c)所示。

三、前端数据采集节点的硬件设计及实现

数据采集节点由传感器模块、单片机处理模块、ZigBee通信模块、双公头适配器等硬件构成。传感器模块采用LT系统传感器,可测量温度、湿度、光照强度等;单片机处理模块使用STC系列单片机;ZigBee通信模块使用XBee/XBee Pro系列套件;由于单片机与XBee/XBee Pro模块的I/O口均为母口,使用双公头适配器连接二者实现数据传输。

以单个节点为例,节点的硬件连接示意图及数据流图如上图3所示,图中LT传感器的三个输出引脚与单片机的ADC0、ADC1、ADC2输入相连接,分别对应温度、湿度、光照强度,传感器输出0~5V标准电压,通过单片机进行数据的A/D转换,输出电压值转化为数字量。单片机的输出通过串口连接到ZigBee终端节点的UART接口上,将转换完成的数字量通过天线发出,通过ZigBee无线网络送至与上位机PC相连接的协调器模块,并进行数据处理。系统中采用的主要硬件模块如下:

3.1 ZigBee无线通信模块

XBee/XBee Pro为2.4GHz无线通信接口,支持ZigBee协议栈,模块功耗仅为3.1mW(+5dBm)。如下图4所示是XBee Pro模块的引脚排列图,该模块有20个引脚。RS232接口电路板的引脚可连接到VCC、GND、DOUT和DIN引脚。其中DIN是信号输入引脚,可作为UART数据输入,通常与处理器的UART接收端TX相连;DOUT为信号输出引脚,可作为UART数据输出,通常与处理器的UART接收端RX相连。

图5 XBee/XBee Pro模块的UART内部数据控制流程

当串行数据通过DIN引脚进入XBee/XBee Pro模块后,数据会存储在DI缓冲器中,直到被发送器通过天线发送出去;当RF数据由天线接收后,接收数据进入DO缓冲器,并通过串口发送到主机,直到被处理。在一定条件下,模块可能无法立即处理在串位接收缓冲中的数据。如果大量的串行数据发送到模块,可能需要使用CTS流控以避免串行接收缓冲溢出。

3.2 传感器

本系统所使用的LT系统传感器,是专门针对环境数据测量的传感器。传感器输出3路0~5V的模拟电压信号,信号分别与温度、湿度和光照强度成线性对应关系。

3.3 单片机

采用STC12C5A60S2系列单片机实现对传感器测量值的转换处理,该单片机指令代码完全兼容传统8051,内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换。因而每个数据采集节点均可接入8路测量值,用户可根据需要进行传感器的增减。

3.4 双公头适配器

由于单片机模块和XBee/XBee Pro模块上的RS232接口均为母口,主要接口Pin2(RXD)、Pin3(TXD)、Pin5(CND)。其间用一块两端都是公口(公对公)的适配器相连,示意图及内部接线图如下图6所示:

图6 双公口适配器及其内部引脚图

如上图6所示,将P1端与P2段的发送与接收引脚交叉相连;P1端的5脚(地)与P2端的5脚(地)直连。

四、系统的网络配置及软件设计

4.1 ZigBee模块的配置

ZigBee网络设备分为三种:协调器,主要负责网络的启动和给其它终端节点分配网络地址;中继路由器,实现数据的转发;终端节点,数据的采集及上传。

首先使用与XBee/XBee Pro模块配套的X-CTU软件对模块进行相应节点的参数设置:协调器,配置为ZIGBEE COORDINATOR API/AT模式;路由器配置为ZIGBEE ROUTER API/AT模式,终端节点配置为ZIGBEE END DEVICE API/AT模式。AT模式即透传模式,模块的串口一直工作在传输模式下,将接收数据连续发送至目标地址。API模式,是以包含地址和数据的命令帧的形式发送。AT方式易于查询,可以在X-CTU软件中方便的查询到所有节点,方便管理,而API方式有返回码,有利于数据的可靠性传输。无论是AT方式还是API方式都可以在所构建的同一个网络中进行通信。

再将配置好的协调器和终端节点分别与PC机和数据采集模块通过串口相连。各模块工作时,须使用统一的串口参数,一般设置为XBee/XBee Pro模块默认的串口参数9600-8-n-1。以终端节点为例,设置界面如图7所示,终端节点及路由节点数据传输的目标地址设置为协调器节点的源地址。(图7)

4.2 前端数据采集的程序

前端数据采集的程序用KeilC51编写主要用于采集现场环境数据,并实现数据的定时无线发送。软件采用模块化设计,包括串口初始化程序、定时器初始化程序等,其流程如图8所示。首先进行单片机的初始化,然后进行定时器的初始化,定时时间由用户选择性设置,定时中断发生时由单片机通过串口向通信模块发送传送数据请求,发送完毕,等待收到数据,收到后则送往PC显示,以实现实时更新。模块软件设计流程见图8。

4.3 远程数据中心上位机程序

远程数据中心上位机上的接收器的程序用面向对象的可视化语言VC++编写,主要用于接收现场终端采集节点发送过来的无线数据,并判断数据的准确性,最后将接收到的数据写入数据库中。其接收程序的流程图如图9所示。

实际应用中,用户可根据需要,创建数据库,设置数据入库存储,可便于用户查看或调用历史测量数据;或设定预警处理,若温度超过用户设定的上限值,发送自动报警等,可及时发现问题并纠正。

五、系统测试及分析

系统组建完成后,进行了系统测试。测试中,系统配置了两个温度数据采集节点,节点1放置在自然室温环境下,节点2放置在恒温15℃的环境下。在时间段8:30-17:00每隔半小时采集一组数据,得温度变化曲线图。节点1处放置了比对温度计,每隔半小时进行一次手动记录,得到温度变化曲线与节点1的测量记录进行对比。

图10(a) 节点1温度变化图10(b) 温度计测量值 图10(c)节点1温度变化

由图(a)(b)可见,节点1的温度记录与温度计测量值相近,温度变化符合秋季实际温度情况,温度随时间变化稳定;由图(c)可见,节点2的温度变化基本在15℃附近,符合恒温条件。说明无线通信畅通,网络结构稳定。

六、结论

本文实现了一种基于ZigBee的环境无线监测系统,本系统的优点是:模块化设计、系统结构简单、网络组态灵活、功耗低、可靠性高、安装方便等。用户可以根据需要自行增减采集节点;ZigBee终端节点支持多种数据传输端口(RS232、RS485、USB等),使得多种传感器、控制器可与之直接相连接。系统控制界面友好,易于操作。因此本监测系统具有较高的实用性和推广价值,可在温室花房、储物仓库、仪器设备存储室及其他众多领域得到良好的运用。

参考文献

[1] 高超. 基于ZigBee的智能用能管理系统设计和实现.电脑知识与技术,2011(10):7489-7491

[2] 方水良,王加兴. 基于XBee的无线数据采集系统开发和应用.机电工程,2010(3):53-56

[3] 王静霞. 一种与zigBe协议兼容的RF模块.电子工程师,2007(3):24-27

[4] 朱晓明,赵晓丽. 基于UART接口的ZigBee传感器网络的设计.机床与液压,2008(10):271

猜你喜欢
单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
基于单片机的平衡控制系统设计
Microchip推出两个全新PIC单片机系列