温度在工农业生产、科研以及办公设备自动化领域中,是一种十分重要的数据。温度的测量和控制在储粮仓库、智能楼宇空调控制及其他的工农业生产和科学研究中应用广泛。文中介绍了一种环境温度监测系统可以实时多点监测库房或其他对温度要求十分严格的场所,并通过无线协调器控制GPRS进行联网实时显示,进行温度监测。报警还可通过GPRS以短信的方式发送到管理员的手机上,以便及时处理。
1 系统总体构成
系统以CC2430单片机为核心,作为下位机实现数据采集、数据处理、数据存储、数据传输功能。无线传感器监测网络由多个无线传感器节点、无线网关和带有GPRS嵌入式系统组成,实时测量温度参数,所有节点采集的现场数据通过ZigBee无线通信技术最终路由到网关节点,由网关节点将全部数据传输给GPRS模块,最终通过GPRS和Internet网络,将数据转发至远程数据监控中心。在VB6.0编程环境下实现了上位机对下位机的控制和数据的存储、处理、分析。上位机和下位机之间采用无线通信方式进行传输。该系统采用ZigBee的网状网络结构进行数据采集,ZigRee网状网络结构如图1所示。系统整体结构组成如图2所示。
2 硬件电路设计
2.1 传感器节点硬件设计
根据无线传感器网络的应用需求以及功能要求,无线网络传感器节点主要包括传感器单元、处理器单元、射频单元等。传感器DS18B20负责采集温度参数。数据提供给CC2430进行处理、分析并将数据发送给ZigBee协调器节点。
2.2 ZigBee协调器节点设计
ZigBee协调器节点与GPRS模块SIM300进行有线的串口通信,节点单片机CC2430将从传感器节点处获得的温度数据经行地址分类和处理,通过RS-232通信接口进行传输,单片机可以发送AT指令对SIM300进行控制,设置发送模式,发送短消息进行数据传输。可以快速、安全、可靠地实现系统方案中的数据和短消息服务。3 软件设计
文中应用IAR Embedded Workbench开发环境,在TI提供的ZStack-1.4.2-1.1.0协议栈的基础上,编写了本系统的应用程序代码。 ZStack协议栈提供了一些应用接口,如aplFormNetwork()、aplJoinNetwork()、aplSendMSG()等函数,用户可以通过调用这些函数来编写自己的开发与应用程序。单片机CC2430通过串行通信对SIM300模块进行写AT指令来完成GPRS模块的无线通讯功能。
3.1 传感器节点数据采集
当CC2430内部的定时器定时溢出时,从休眠状态唤醒传感器。程序启动后,首先对传感器节点内的各模块进行初始化工作。然后进行各模块的配置,配置完成后进行传感器数据采集,数据采集完后统一发送到网关节点。在数据采集次数达到规定次数时,传感器节点进入休眠状态,等待下一次数据采集。传感器节点数据采集流程图如图3所示。
3.2 ZigBee网络的建立和加入
3.2.1 网络的建立
在ZigBee网络中,网络协调器具有建立一个网络、维护邻居设备表、对逻辑网络地址进行分配、允许设备MAC层/应用层的连接或断开网络的功能。网络协调器在进行一些初始化之后,调用aplFormNetwork()来建立网络。协调器通过扫描一个空信道来建立一个新的网络,然后选择一个随机的PANID并开始监听此信道。同时协调器还有一个目前连接设备的列表,以支持其他设备加入网络。网络建立程序如下:
3.2.2 网络的加入
当一个网络建立成功后,便要考虑路由节点和RFD节点如何加入到网络中去。路由节点和RFD节点通过调用alJoinNetwork()函数加入到协调器建立的网络中。路由节点和RFD节点扫描信道找到协调器并申请加入网络,获取协调器的地址。同时将自己的地址发送给协调器。网络加入成功后,网络节点则进入休眠状态,直到有命令或数据发送时才被唤醒。网络加入程序如下:
3.3 ZigBee数据收发
整个无线网络中的网关节点承担网络管理和数据收发的功能。网络管理主要负责组建无线网络并分配网络地址。数据收发功能主要是接收传感器节点的数据并通过GPRS网络发送给远程数据中心。ZigBee收发数据流程如图4所示。
3.4 上位机设计
基于VB6.0编程环境下,使用MSComm控件完成上位机控制软件设计,实现了与下位机通信和对下位机上传数据的处理、存储、显示以及数据曲线分析。MSComm控件通过串行端口传送和接收数据,提供了基本的串行通信功能。TeeChart控件可以使各种数据以曲线方式进行动态和实时显示。
4 结束语
基于ZigBee技术、以CC2430无线微处理器模块与GPRS模块为核心的环境温度远程监测系统,开发周期短、处理能力强、扩展性好,能快速可靠地进行远程监测和控制;开放式的通信协议,实现了与第三方设备接口的通信,具有较强的可扩展性,是现代农业监测的发展方向。