应用物联网技术实现对智能温室的监测和控制

2023-01-05

物联网经过十余年的发展, 物联网核心技术已经有了比较成熟的技术支撑。作为人口大国的中国, 食品问题越来越成为人们最为关注的问题。基于上述原因设计的智能温室监测和控制系统, 最大程度地体现出农业智能化, 可以实现对智能温室光照、湿度、温度、CO2浓度、肥力和病虫害控制的自动化管理, 从而减少人工成本。本文旨在探讨智能温室采用Zig Bee星型网络拓扑[1]组建传感网络, 通过精细化控制, 最大程度地减少病虫害发生的机率, 降低农药使用量, 并通过上位机可视化界面方便种植人员实时查询智能温室和作物的各类信息, 及时、合理地提示种植人员安排好种植作业时间, 以真正达到智能、健康、节能农产品生产的目的。

1 基于Zig Bee网络的智能温室监测系统的设计

本文所设计的基于Zig Bee网络的智能温室监测系统, 智能温室设计面积为40 m×40 m, 采用星型网络拓扑结构, 如图1所示。由环境监测节点 (终端节点) 、协调器和上位机构成监测平台。

由于Zig Bee技术采用的是2.4 GHz高频信号, 而终端节点和协调器的电路组成中除CC2530的射频电路外还有其他低频电路, 为了消除低频电路对高频信号的影响, 本系统采用了模块化的PCB设计方法[2], 把射频电路与低频电路分别设计在2块不同的PCB上, 二者通过排针相互连接。既确保高频电路尽量少受低频数字信号干扰, 同时简化设计复杂度, 增强了节点电路的通用性。

1.1 无线核心模块 (射频电路) 的设计

不论是协调器, 还是终端节点都具有相同无线核心模块 (射频电路) , 作为整个节点硬件系统的核心。它主要由CC2530芯片、时钟电路、滤波电路、微带天线、外接天线构成。为保证无线核心模块的通信距离和可靠性, 本系统所设计的电路严格参照TI公司提供的参考电路。电路原理图如图2所示。

无线核心模块通过排针把模块的电源输入、芯片复位引脚以及17个I/O端口引出, 与外围电路 (低频电路底板) 的母排相连。

1.2 协调器的设计

协调器是整个Zig Bee传感监测网络的核心, 其中无线核心模块负责传感网络的建立、管理和数据传输;RS485接口与上位机进行通信, 传输从传感网络获得的传感器数据;利用LED指示灯实时地显示网络状态, 协调器的硬件结构框图如图3所示。

从图3可见, 协调器的组成除了无线核心模块 (射频电路) 外, 还包括协调器外围电路, 外围电路主要包括电源电路、RS485接口电路、LED指示电路等。下面分别对外围电路的各部分进行具体设计。

1.2.1 电源电路

协调器是Zig Bee网络的核心, 它必须保持持续工作不能中断, 所以协调器采用外接直流电源。由于除RS485所使用的元器件为5 V供电外, 包括无线核心模块 (射频电路) 在内的其他模块均为3.3 V供电, 所以, 选取5 V的外接直流电源为协调器供电。直流电源输入5 V电压后, 经LM1117 DC-DC转换后降为3.3V。协调器电源电路原理图如图4所示。

1.2.2 RS485接口电路

协调器与上位机之间的通信是通过RS485接口来实现的。RS485接口电路图如图5所示。

协调器使用SN75176作为RS485接口的电平转换芯片。为消除共模电压及其他外部干扰, 需采用光电隔离器件实现Zig Bee信号和RS485信号的隔离传输。SN75176的输出引脚A、B上分别连接了阻值为1 kΩ的上拉下拉电阻, 其目的是保证在A、B开路的情况下RS485的差动电压绝对值不小于200 m V。

1.2.3 指示电路

指示电路采用红、绿、黄、蓝4种颜色的4个LED指示灯显示网络的运行状态和进行错误报警、超限报警等。指示电路原理图如图6所示。

1.3 终端节点的设计

终端节点是Zig Bee传感监测网络中数据采集的执行者, 它负责采集现场数据。在本文所设计的Zig Bee传感监测网络中, 终端节点使用无线核心模块与协调器节点进行通信, 由传感器执行数据采集, 利用LED指示灯显示其本身的网络状态和工作状态。终端节点的硬件结构框图如图7所示。

从图7可见, 终端节点的组成除无线核心模块 (射频电路) 外, 还包括终端节点外围电路, 外围电路主要包括电源电路、传感器电路、LED指示电路等。其中LED指示电路与协调器节点相同, 具体请参阅“1.2.1”节。下面主要阐述电源电路和传感器电路的设计。

1.3.1 电源电路

根据智能温室中可能采用能耗较大的传感器, 但比较容易更换电池的实际, 设计终端节点的供电模块时选取大容量电池供电, 电池为4.2 V, 4200 m Ah。选取XC6206P332MP-3.3V作为终端节点的电压转换芯片, 为无线核心模块供电。XC6206P332MP-3.3V功耗低、精度高, 且价格便宜, 符合Zig Bee协议的要求。终端节点的供电电路如图8所示。

电池的充电电路采用外接直流电源经由二极管D1分压后, 电压降至4.3 V左右。为电池充电时, 只需与5 V直流电源连接即可。

1.3.2 传感器电路

在设计基于Zig Bee网络的智能温室监测系统时, 为了精确掌握农作物的生长环境和生长情况, 必须依赖各种先进的传感器, 用于监测温度、湿度、光照和CO2等。其各自的传感器电路设计如下。

1.3.2. 1 基于MLX90614的非接触式红外测温电路

MLX90614是一款非接触式红外线温度感应器, 由红外热电堆感应器和定制的信号调节2部分组成。MLX90614信号调节部分使用了先进的低噪声放大器, 实现温度的高精度测量。温度测量范围为-40~85℃, 解析度为0.02℃;MLX90614是一种低功耗传感器, 且拥有节能关断工作模式, 符合Zig Bee网络的低功耗要求。基于MLX90614的非接触式红外测温电路原理图如图9所示。

MLX90614与无线核心模块连接时, 需将相应的引脚与CC2530的通用IO口连接。

1.3.2. 2 基于DHTll的温湿度传感器电路

DHTll数字温湿度传感器应用专用的数字模块采集技术和温湿度传感技术, 确保产品具有较高的可靠性、稳定性。DHTll采用单线制串行接口, 读取温度和湿度时均通过1条数据线按先后顺序读出。

DHTll的测量范围为10%~90%RH、0~50℃, 具有精度高、体积小、功耗低、信号传输距离远的特点, 适合用于精准农业的温湿度监测。基于DHTll的温湿度传感器检测电路如图10所示。

DHTll采用2针单排引脚与无线核心模块 (射频电路) 连接, 供电电压为3.3 V。

1.3.2. 3 红外线光敏传感器

红外线光敏传感器包括光学系统、检测元件和转换电路。红外线光敏传感器检测电路如图11所示。

1.3.2. 4 土壤湿度传感器

土壤湿度传感器 (HA2001) 主要用来测量土壤容积含水量, 进行土壤墒情监测及农业灌溉指导。土壤湿度传感器检测电路如图12所示。

1.3.2. 5 红外CO2浓度传感器

红外CO2浓度传感器采用单束双波长非发散性红外线测量方法, 根据不同的气体吸收不同波长的光, CO2对红外线 (波长为4.26 m) 最易吸收的原理, 将空气吸入测量室, 测量红外线 (波长为4.26 m) 光通量, 从而测量出CO2浓度。红外CO2浓度传感器检测电路如图13所示。

1.4 星型网络的组建

本文中组建智能温室传感监控网所使用的星型网络拓扑, 以协调器为网络中心, 其他的终端节点只能与协调器通信, 若终端节点间需要通信, 则需通过协调器转发实现。协调器负责发起建立和维护整个网络。与之相连的其他终端节点必须分布在协调器的覆盖范围内。

要构建智能温室传感监控网, 就必须根据Zig Bee网络的协议, 构建星型网络拓扑, 保证协调器与终端节点的正常通信。Zig Bee网络协议的架构图如图14所示, 根据架构图可知, Zig Bee网络的协议分为两部分: (1) IEEE802.15.4定义的物理层和MAC层技术规范; (2) Zig Bee联盟定义的网络层、应用程序支撑子层和引用层技术规范。Zig Bee协议栈是Zig Bee厂商为用户提供的一种将各个层定义的协议集合在一起, 以函数的形式实现通信的集成方法, 并给用户提供API, 方便用户调用。本文使用TI公司提供的基于Zig Bee 2007的协议栈Z-Stack-cc2530-2.3.0, 完成Zig Bee网络的构建和维护[3]。

Zig Bee无线网络协议栈的功能可分为无线网络模块和服务器模块两部分[4], 其功能模块划分如图15所示。

在组建Zig Bee星型网络时, 协调器节点初始化设备后, 设定Zig Bee无线网络的个域网ID号和通信信道等网络初始化信息。终端节点上电之后, 首先初始化硬件设备, 然后扫描网络, 查找到网络之后自动加入网络。这样随着终端节点不断加入网络, 最终自组织形成Zig Bee无线网络。网络流程如图16所示。

在采用Zig Bee无线网络栈实现智能温室监测星型网络时, 终端节点和协调器应通对Z-Stack协议栈对CC2530进行无线网络模块的初始化和服务器模块的初始化[5]。本文通过TI提供的Sample App工程构建网络。

1.4.1 终端节点初始化

首先对终端节点的无线网络模块初始化, 使用osal_start_timer EX () 函数, 定义函数中的Sample App_Task ID (任务ID号) , 完成对任务ID号的初始化。定义SAMPLEAPP_PERIODIC_CLUSRID为3, 来确定终端节点通过点播的方式向协调器发送信息。根据智能温室的监测特点, 使用SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUTCL, 定义终端节点向协调器循环发送数据的周期为1800 s, 并利用af Addr Type_t枚举类型建立枚举Point_To_Point_Dst Addr, 定义通信为点对点通信, 将Point_To_Point_Dst Addr.addr.short Addr设为0x0000, 从而确认终端节点发送的对象是协调器 (地址为0x0000) 。

然后对终端节点服务模块初始化, 根据不同的传感器, 配置不同的驱动, 保证终端节点准确接收传感器发来的信息, 并打包成Z-Stack协议栈可以发送的数据类型。

1.4.2 协调器初始化

在对协调器初始化时, 首先初始化无线网络模块, 定义osal_start_timer EX () 函数中的Sample App_Task ID (任务ID号) 为终端节点中设定的任务ID。然后初始化服务模块。建立Sample App_Message MSGCB (aflncoming MSGPacket_t*pkt) , 定义RS485接口的数据传输速率 (波特率) 、奇偶校验类型、数据位数、停止位数, 完成RS485接口初始化, 并利用该函数通过协调器上的RS485接口向上位机传输终端节点的MAC地址和由终端节点接收的数据。

2 基于Visual C++的数据显示和处理系统设计

2.1 利用Visual C++显示协调器接收到的数据

RS485串行通信的核心在于串行通信方式 (发送、接收和握手) 的控制。Visual C++为我们提供了一种好用的Active X控件Microsoft Communications Control (即MSComm) 来支持应用程序对RS485接口的初始化及管理和访问。利用MSComm控件编程进行串行通信, 在成功加载MSComm控件后, 首先利用控件的Comm Port属性和Setting属性, 对上位机上的RS485接口初始化, 完成对RS485接口的定义, 根据协调器中定义的数据传输速率 (波特率) 、奇偶校验类型、数据位数、停止位数设置上位机上RS485接口的通信参数。然后利用In Put属性打开RS485接口。

MSComm控件提供的在运行触发事件或发生错误时, 触发On Comm事件, 可以通过事件的Comm Event属性, 判断MSComm控件当前的触发事件或发生错误的具体类型, 进而通过硬件握手协议, 应对各种错误事件和接收数据具体过程。通过CMscomm Demo View类中的Send Data () 函数实现RS485接口数据发送。

当完成串行通信后, 应关闭RS485接口, 系统将会清空RS485接口上的收发缓存, 重置标志位, 以确保RS485接口资源得到及时的释放[6]。

2.2 利用Visual C++处理RS485接口接收数据

在实现对智能温室监测数据的读取后, 上位机应对智能温室监测数据进行相应的处理和显示, 本文设计的显示和控制界面如图17所示。

在这个显示和控制系统中, 根据农业属于经验科学的特点, 引入了监测数据与种植作物历年来总结作物各关键生长时间节点数据、每日数据比对。从而合理地给出种植作物的各项农业作业实施时间建议, 提示农业作业具体操作流程。并通过数据比对得出对智能温室的各项环境变量的控制数据, 发送到各类控制终端, 实施智能化农业作业, 以达到对智能温室光照、湿度、温度、CO2浓度、肥力和病虫害控制自动化管理的目的。

在对智能温室的各项环境变量进行控制时, 根据农业环境变量的改变是一个比较缓慢、渐进过程的数据特点, 采用比例积分控制, 实现对智能温室环境变量的闭环控制, 积分时间常数设定为3600 s或更长时间。其控制模型的系统框图如图18所示。

2.3 利用Visual C++向RS485接口发送控制指令

利用建立RS485接口通信时, 设立的CMscomm Demo View类中的Send Data () 函数, 实现对刚刚采集的各项环境变量的控制数据的发送。由于所发指令涉及到多个终端设备, 应在每个发送数据包中添加地址信息, 实现发送过程中分地址发送数据。

3 实现各类控制终端的控制

本设计采用的RS485总线, 是向各类控制终端发送控制指令, 这就要求各类控制终端的串行端口具有统一的数据通信协议, 设置各类控制终端的RS485接口传输速率 (波特率) 、奇偶校验类型、数据位数、停止位数与上位机RS485接口的通信参数保持一致, 以保证通信的正常运行。根据设计系统中分地址发送数据的设计要求, 各类控制终端在收到数据包, 进行数据包解析时, 控制终端的地址分配如表1所示。

3.1 智能温室室外遮阳幕系统

为保证智能温室室内光照保持适宜的光照强度, 避免过强太阳辐射引起室内温度升高, 智能温室设室外遮阳幕, 并通过推杆电机实现对室外遮阳幕的启闭。系统的主要参数如下:使用电机类型, 直流推杆电机;行程, 4.00 m;升降速度, 0.50 m/min;单程运行时间, 10.00 min;电源电压, 380 V;电机功率, 0.75 k W;限位方式, 电机带限位器。

3.2 智能温室通风降温系统

智能温室通风采用自然通风系统、循环通风系统、强制通风系统和湿帘风机降温通风系统。

3.2.1 自然通风系统

自然通风包括沿智能温室屋脊方向交错开窗的屋顶窗和智能温室两侧墙的自然通风窗。通风窗设有开窗电机系统, 实现自然通风窗启闭。

3.2.2 循环通风系统

为保证智能温室内温度、湿度环境的均匀性, 智能温室配置环流风机, 每2台按开间方向组织气流。环流风机的参数如下:主轴转速, 1450 r/min;风量, 4820 m3/h;全压, 149 Pa;功率, 370 W;送风距离约定, 45 m。

3.2.3 强制通风系统

在智能温室南山墙设置强制通风风机, 风机采用低压大流量轴流风机, 能耗1.1 k W/台。每台风机排风量42000 m3/h。这样的排风量可保证室内夏季通风温差在3~10℃以内。

3.2.4 湿帘风机降温系统

当室外温度超过28~34℃时, 启动湿帘降温。水泵向湿帘供水, 空气通过湿帘降低温度, 与机械通风相配合, 带走智能温室内多余热量, 降低智能温室温度。湿帘安装在智能温室的北山墙, 湿帘设有电动卷膜电机开窗系统。风机使用安装在智能温室南山墙上的强制通风风机。

3.3 智能温室补光系统

智能温室采用人工补充光照, 用以满足作物光周期的需要。

3.4 智能温室采暖加温系统

在智能温室中设有采暖加温机, 以保证隆冬时节智能温室的环境温度。

3.5 智能温室喷灌、滴灌系统

智能温室的供水系统可分为水利灌溉和营养液、农药灌溉2个部分。为了满足营养液、农药设施要求, 在供水系统水源处设有营养液、农药添加搅拌池。

喷灌系统采用大面积自压喷灌系统, 倒挂式喷头。该喷头工作压力为2~3.5 kg/cm2, 流量为104 L/h, 喷头喷洒半径为4 m, 管道两端喷头间距为3.2 m, 采用电动阀门控制其工作。

滴灌系统可分为地上滴灌系统和地下滴灌系统。采用电动阀门控制其工作。

3.6 智能温室人工照明系统

智能温室的照明采用防水防尘灯, 共设6盏照明灯。

4 结语

本设计在初步试验中, 基本实现了对智能温室光照、湿度、温度、CO2浓度等的自动化管理。测试人员利用上位机可视化界面能够查询到智能温室的各种信息, 及时、合理地安排农作物的种植, 为实现智能、健康、节能的农产品生产积累了有益的经验。

摘要:智能农业是物联网应用的重要领域之一。主要探讨智能温室通过Zig Bee星型网络拓扑组建传感网络, 使用CC2530作为终端节点和协调器, 通过RS485接口与上位机建立通信关系, 上位机分析传感网络上传数据, 并与作物的种植方案核心库比对、查询后, 向与RS485总线相连的各类控制器发送控制指令, 调节温室的各项参数, 达到智能、健康、节能农产品生产的目的。

关键词:智能温室,Zig Bee网络,RS485串行接口,Visual C++

参考文献

[1] Zig Bee Specification[S].Zig Bee Alliance, 2006, 11.

[2] Kim D H, Song J Y, Lee S H, et al.Development and evaluation of Zig Beenode for USN[J].International Journal of precision engineering and manufacturing, 2009, (10) :53-57.

[3] IOTer.Zig Bee技术概述, 技术特点及协议栈结构[DB/OL].http://www.5lian.cn/html/2012/gainianjiexi_0213/30133.html, 2010-07-08.

[4] 彭刚, 刘戎, 王方年, 等.无线传感器网络研究概述[J].广西科学院学报, 2007, 23 (4) :369-372.

[5] 秦旭.基于Zig Bee技术的无线通信栈的研究[D], 哈尔滨:哈尔滨理工大学, 2011.

[6] 陈艾春.基于V C++串口通信[J].黑龙江科技信息, 2010, (1) :82.

上一篇:我看香港职业教育后的思考下一篇:输油站事故及安全管理防范措施