基于ZigBee网络农业环境信息监测系统设计
扫描二维码
随时随地手机看文章
引 言
我国人口占世界总人口的 22%,而耕地面积只占世界耕地面积的 7%,这就意味着发展现代化农业的必要性 [1]。传统农业生产中,农作物环境信息数据主要通过人工采集或者大量布线从传感器获取,然后将数据传送至计算机。此种方式不仅浪费大量人力资源,而且花费成本较大。针对上述问题本文提出一种基于 ZigBee 技术的农作物监测系统,实时获取农作物的生长状况,根据获取的数据控制调控设备,维持作物最佳的生长环境
1 系统方案设计
1.1 系统框架设计
农业环境信息监测系统结构如图 1所示。在该系统中各个监测区域的传感器将采集到的数据通过自组网传送至路由节点,再由路由节点传送至协调器节点。ZigBee网络通过串口通信的方式将数据信息传送至嵌入式监控终端以及计算机,监控终端可通过采集到的环境信息做出决策,控制相应的环境调控设备。
图1 系统结构框图
1.2 系统 ZigBee网络组网方案设计
整个ZigBee 网络采用树形拓扑结构,其中协调器作为父节点,而终端传感器节点作为叶子节点,路由器作为网络中继。当监测区域需扩大时,可采用增加路由以扩充网络覆盖范围的方法。
该结构包含数据采集层、数据传输层和管理层 [2]。其中,数据采集层由众多搭载不同传感器的终端节点组成 ;数据传输层采用 ZigBee 自组网络通信的方式将数据采集层所采集到的数据在网络中传输 ;管理层则对采集到的数据进行分析。系统各部分功能规划见表 1 所列。
2 系统硬件设计
2.1 ZigBee芯片
系统采用的 ZigBee 射频收发芯片是 TI 公司设计生产的CC2530。在 CC2530 的基础上构建协调器节点、路由器节点终端节点。CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统 [3]。此外,TI 公司还提供免费的ZigBee 协议栈 Z-Stack,可为用户制定快速的 ZigBee 应用解决方案
2.2 节点硬件设计
节点的硬件主要由电源电路、串口转换电路、TFT 接口电路、按键电路、调试接口电路、射频收发电路组成。节点的硬件结构如图 2 所示
2.2.1 电源电路设计
电路接入外部 5 V 直流电源供电,通过电压转换芯片AMS1117 将输入的 5 V 电压转换为 3.3 V 系统工作电压。电源部分原理图如图 3 所示。
2.2.2 串口通信转换电路设计
本文系统选择使用 USART0 作为串行通信接口。为了使串行接口同电脑交换数据,设计以 PL2303 为核心的数据交换电路。转换电路原理图如图 4 所示。
2.2.3 调试接口电路
调试接口分别使用 I/O 引脚 P2.1 和P2.2 作为调试模式中的调试数据和调试时钟。调试接口原理图如图 5 所示
图 5 调试接口原理图
2.2.4 TFT接口电路
TFT 屏接口电路用于驱动 TFT 屏显示采集到的环境数据信息以及 ZigBee 网络中的网络连接信息。各接口对应的芯片引脚见表 2 所列。
2.3 传感器选择
农业环境信息监测系统主要检测的环境对象为空气温湿度、土壤湿度、气体浓度、光照强度等。通过将传感器搭载到各节点上,然后将节点布置于环境监测区域中,就能够通过ZigBee 自组网特性完成对区域环境的监测。传感器的选型和对应的通信方式见表 3 所列。
2.4 嵌入式监控终端电路设计
系统采用 STM32F103RCT6 最小系统作为终端监测调控平台。其作用是对采集的数据进行分析和处理,并实现与 PC 端的信息交互,把 PC 端下达的决策命令传送到控制终端监测调控平台,再通过终端监测调控平台控制环境调控设备。
STM32 的设计包括最小系统设计和外围电路设计两部分。该嵌入式监控终端电路包括晶振电路、复位电路、USB 接口电路等,外围电路包括中断按键、TFT 接口电路等。
3 系统软件设计
本文系统软件设计包含 ZigBee 协议应用程序设计、嵌入式监控终端控制程序设计、计算机上位机程序设计三部分
ZigBee 协议应用程序设计主要是对终端传感器节点、路由器节点和协调器节点三者之间如何组网进行数据传输的程序设计
嵌入式监控终端控制程序设计主要接收协调器节点传输的数据,并对传输的数据进行分析和处理,控制调控环境参数设备以及将分析后的数据传送到电脑端
计算机上位机程序设计主要将传输的数据实时显示到电脑端,也可通过电脑端给嵌入式监测终端发送指令,从而控制调控设备的运行
3.1 ZigBee组网结构程序设计
ZigBee 网络拓扑结构主要有星状、树状、网状三种 [4]
三种网络拓扑结构如图 6 所示。
图 6 三种网络拓扑结构图
本文系统采用树状网络拓扑结构方式构建 ZigBee 网络。 在 Z-Stack 中,网络拓扑结构定义如下:
#define NWK_MODE_TREE
3.2 ZigBee 协议应用程序设计
Z-Stack 协议栈是协议和用户的一个接口。IEEE 802.15.4定义了物理层和介质访问层技术规范 ;ZigBee 联盟定义了网络层、应用程序支持子层、应用层技术规范 [5]。将各层定义的协议集合在一起,以函数的形式实现,并给用户提供应用层,从而直接调用函数,实现无线数据收发。
在 Z-Stack 协议栈中,ZigBee 的应用都可基于任务事件的形式完成。系统任务和应用任务中的事件依时间片进行轮转。节点针对不同的事件调用不同的事件处理函数,从而完成在网络中传输数据的任务。节点运行流程如图 7 所示。
3.3 嵌入式监控终端程序设计
嵌入式监控终端通过串口通信的方式对从协调器接收的数据进行分析和处理。嵌入式监控终端程序运行框图如图 8 所示。
3.4 计算机上位机程序设计
计算机上位机程序在 Visual Studio 2012 的环境下开发,采用的开发语言是 C#。通过调用组件,编写相应的通信协议和数据分析处理等步骤实现嵌入式终端节点同 PC 端经行数据
交互的功能。运行操作界面如图 9 所示。
4 系统运行结果
系统实物运行如图 10 所示。系统运行结果表明,搭载不同的传感器节点可实时采集环境数据并汇聚到协调器节点,数据无丢失,传输距离能够有效覆盖监测区域。
5 结 语
本文系统主要用于监测农业环境中的温湿度、光照强度、气体浓度、土壤湿度信息,通过 ZigBee 组建无线区域网实现数据的传输以及对各个节点的管理。对采集的数据进行分析和处理后,可通过控制相应的调控设备从而调节对应的作物生长环境。该系统既节省了大量的人力,同时也提高了作物的产量,具有良好的应用价值。