基于ZigBee的密闭式LED植物工厂监控系统 - 蜂朝网
服务电话:021-62170626

基于ZigBee的密闭式LED植物工厂监控系统

时间: 2014-12-17 编号:sb201412171349 作者:蜂朝网
类别:职称发表论文 行业: 字数:3526 点击量:1847
类型: 免费    费用: 0元

本站提供专业的[留学生论文]定制业务,如需服务请点击这里给我发消息,联系电话:13671516250.

文章摘要:
本文是职称发表论文,本文利用无线传感网络技术、LED 控制技术以及 WEB 技术,设计并实现了基于 ZigBee 的密闭式 LED 植物工厂监控系统。本系统由 3 部分组成,包括以工控机为上位机的监控中心、基于 ZigBee 的数据传输网络、基于RS485 总线的环境数据采集。上位机运行基于 tomcat 的服务器程序,周期性地发送控制和采集命令 ,存储和显示相关环境参数信息,并提供远程用户浏览器访问; ZigBee 无线网络提供数据的透明传输,通过设计 ZigBee 应用层协议控制数据包的传输目的地址,确保数据传输的可靠性和准确性; 环境数据采集部分通过 RS485 网络采集和控制环境参数,如 CO2浓度、温湿度、LED 光照强度等。本文实现的基于 ZigBee 的密闭式 LED 植物工厂环境监控系统,提供了一种低成本、低能耗、高效率并简单实用的植物工厂环境监控的解决方案。

0 引言

 

植物工厂环境控制系统趋向于集成化和智能化,选取一种可靠的实现方案尤为重要,其成本和能耗是选择控制系统的决定性因素。LED 光源逐步替代了传统的植物灯。研究表明,LED 光源在提供植物光合作用、促进植物生长及缩短生长周期中比自然光表现出更好的特性,如 LED 波长和亮度可调节、波长范围与植物所需光谱范围相吻合等。

本系统采用 LED 光源作为植物光合作用的植物灯,既降低能耗控制成本,又减小空间,实现环保节能。文献采用空气净化与环境控制相结合的方法来综合调控组培室的物理环境; 但是调控区域较小,且没有考虑系统能耗。文献从能源角度出发,选取人工光和太阳光并用型植物工厂为研究对象,设计了一种适合植物工厂的温湿度远程监控系统; 但是该系统仅仅控制温湿度因素,没有考虑营养液、图像等因素,且系统成本较高。文献采用了低成本的控制芯片,设计了一种温室无线传感器网络,但并没有考虑温室中环境因素的影响,其实用性有待验证。ZigBee 是一种基于 IEEE 802. 15. 4 标准的低功耗、低成本、低速率、支持大量节点、可靠安全的无线通信协议。本系统采用 ZigBee 网络作为数据传输的媒介,不仅省去了布线的麻烦,而且降低了成本和功耗。为此,从成本控制最优化和能源有效利用的角度,设计了一种成本低、能源利用率高、功耗低、实用性强的植物环境监控系统。

 

1 监控系统总体方案设计

 

本系统的研究对象为面积 300m2的小型植物工厂。该植物工厂拥有 10 余间密闭区房( 包括 1 个育苗室) ,每个密闭区放置若干培菜架,培菜架分 4 层可种植不同农作物,且要求对每一层都能精确监控。监控系统主要控制和采集以下环境参数: LED 光照强度、温湿度、CO2浓度、空调温湿度、水泵开关、植物生长图像。

为了便于系统的维护和扩展,本监控系统采用分层思想,将整个系统分为数据中心、无线传感网络及数据采集和控制3 层,各层之间通过定义的接口和协议进行通信。无线监控系统信息处理流程如下: 数据中心即上层根据业务需求通过 Web 应用程序发送一定格式的查询或控制命令数据包,无线传感网络即中间层根据数据包中的地址域确定其目的地并发送给下层,数据采集和控制子系统即下层接收到数据包后对其进行解析,根据不同的命令执行环境参数检测和控制程序,并将监测到的数据通过中间层上传给上层,上层收到数据之后进行显示和存储。

植物工厂监控系统系统架构如图1 所示。

数据中心( PC 或工控机) 作为系统的上层,运行Web 应用程序,实现整个监控系统的集中控制和管理,同时提供远程用户 Internet 访问; 无线传感网络作为系统的中间层,由主节点、路由节点、终端节点构成,各节点运行 ZigBee 协议栈,覆盖整个监控环境区域,实现数据流稳定的传输; 数据采集和控制作为系统的下层,无线网络中的一个终端节点对应一个监测单元,由于 RS485 具有传输距离远、传输速度快、支持节点多和抗干扰能力强等特点,监测单元网络采用RS485 半双工网络,每一个监测单元最多可监测 32 个节点,增大了监测范围。监测单元中主机为 ZigBee 终端节点,从机设备由微控制器、传感器、LED 照明灯等组成,实现对植物生长环境的监测、控制及数据的采集和上传。

 

2 监控系统硬件组成

 

ZigBee 网络 由 1 个 Coordinator ( 协调器 ) 、多个Router ( 路由器) 和多个 End Device( 终端设备) 组成。其中,各 设 备 选 取 TI 公 司 用 于 2. 4 GHz、支 持IEEE802. 15. 4 的 ZigBee 应用片上系统 CC2530,它能够以非常低的总材料成本建立强大的网络节点。协调器即无线传感网络中的主节点,与上位机采用RS232 串口通信,协调器硬件电路中选取 MAX3232 电平转换芯片,将 RS232 电平信号转换为 TTL 电平信号,并提供电源接口和天线电路。路由器即路由节点,只负责数据转发,其硬件电路和协调器基本相同。终端设备作为无线网络的终端节点,且作为每一个监测单元的主节点,即 RS485 网络中的主机。协调器和终端设备的硬件框图分别如图2 所示。

终端设备 CC2530 外围电路由电源、天线电路、调试接口、摄像头、CO2传感器及 RS485 电路组成。摄像头采用工业级串口摄像头 PTC08,CC2530 通过协议与PTC08 通信,采集图像数据; CO2传感器采用 WSN -300 - ND 模块,工作电压为 3. 3V,每 2s 输出 CO2浓度数据,通过 TTL 串口与 CC2530 通信。RS485 电路采用标准的485 芯片 SP3485 作为收发器,支持 3.3V 供电,最大传输速度可达 10Mbps,支持多达 32 个节点,并且有输出短路保护。


采集设备硬件采用 STC12LE5204PWM 作为主控芯片。该单片机是宏晶科技生产的单时钟/机器周期( 1T) 的单片机,是高速/低功耗/超强抗干扰的新一代8051 单片机,具有 2 路 PWM 输出,工作电压为 3. 6 ~2. 2V。采集设备硬件电路如图 3 所示。

采集设备 STC12LE5204PWM 外围电路由电源、下载接口、LED 驱动电路、温湿度传感器、RS485 电路及水泵开关控制电路组成。该单片机由外部 5V 电源供电,通过电源转换芯片 AMS1117,将电压转换成单片机正常工作电压3.3V; 通过串口( P3.0/P3.1) 直接下载用户程序,同时该串口引脚 RX、TX 也作为 RS485收发数据的引脚。LED 驱动电路采用 LED 驱动芯片L3404HVMA,该芯片通过单片机输出的 PWM 控制信号控制 LED 的亮度。温湿度传感器采用 DHT11,DHT11 是集温度湿度检测于一体的数字化传感器,单线制串行接口,信号传输距离可达 20m 以上,功耗极低,连接方便。RS485 电路同样采用 SP3485 收发器,与 ZigBee 终端设备 CC2530 通信。水泵开关控制电路采用1 路 IO 口,输出高低电平控制电磁阀的开关,电磁阀的驱动电流在20mA 以上。

 

3 监控系统软件设计

 

本监控系统软件设计主要包含上位机 Web 应用、协调器应用层、终端设备应用层及采集设备 4 部分程序的设计。Web 应用程序以 Tomcat 为 Web 服务器,基于 Struts2 架构开发设计。该应用提供授权的管理员和普通用户两种身份,管理员用户对整个监控系统进行集中管理和控制,如不同品种农作物生长所需光照设置; 普通用户只能查看某品种农作物的生长状况。

 

3. 1 协调器软件实现

协调器应用层程序在 ZigBee 协议栈 Z -Stack 架构之上的 AF 层设计和实现。该程序主要负责判断上位机发送数据包的帧类型,进行单播、组播和广播,建立物理地址和逻辑地址的映射表,接收无线网络中的数据包并发给上位机。其程序流程如图4 所示。

协调器程序: 系统上电后,组建网络,等待其他设备的连接; 与上位机串口相连,当接收到上位机发送的数据包时,判断数据包是否是定义的格式,若不是则丢弃,否则进一步判断数据包是否为广播包、组播包或者单播包。如果是广播包,则将发送目的地址置为0xFFFF,广播数据包发送给所有终端设备; 如果组播包,则在组播 ID 表中查找是否有对应的组 ID 号,如果有则调用组播发送数据 API,将目的地址置为组播的 ID 号,如果没有 ID 号,则向上位机报错; 如果是单播包,则在地址映射表中查找设备的逻辑地址,若查找成功,则将目的地址置为此网络地址,通过函数AF_DataRequest( ) 将单播数据包发送给指定地址的终端设备,否则通过广播数据包发送给终端设备,让其自行判断。

 

3. 2 终端设备软件实现

终端设备/RS485 主机程序: 设备上电后,自动加入网络,加入网络之后将自身网络地址和物理地址信息发送给协调器,然后等待外界无线数据包; 当有无线数据包时,对数据包进行校验和,以及判断数据包的目的地址是否为本机地址,若不是则丢弃数据包,否则解析数据包; 当包体中的命令为控制 LED 亮度、查询植物周围环境温湿度、控制排水泵的开关时,将这些命令转换成 RS485 网络通信的数据包,并通过RS485 网络发送给 RS485 从机; 当包体中的命令为查询图像、查询 CO2浓度、设置空调机组室内温度时,根据不同命令执行相应动作。流程图如图5 所示。

 

3. 3 采集设备软件实现

采集设备/RS485 从机程序: 设备上电后,初始化温湿度传感器,进入主循环,等待 RS485 主机发送数据; 当收到数据包时检查包头和包尾是否正确,再检查地址是否为本机地址,若都不是则丢弃数据包,否则解析数据包; 如果命令是控制 LED 的亮度,则开启定时器,输出两路 PWM 信号给 LED 驱动芯片,从而控制 LED 红光和白光的比例; 如果是读温湿度命令,则与 DHT11 温湿度传感器通信,读取温湿度数据并通过RS485 网络发送给 RS485 主机; 如果是控制水泵开关,则输出电平信号给电磁阀。其流程图如图 6 所示。

 

3. 4 RS485 通信协议实现

在本监控系统中,数据采集部分的监测单元中采用了 RS485 网络,主要用于采集、监测单元不同位置的温湿度,以及控制培菜架每一层的水泵开关和LED 光照强度。

RS485 网络采用总线结构,如图 7 所示。

起始位: 占1 字节,固定值为0xFE; 地址: 占1 字节,范围为0x01 ~0xFF,即支持255 个从机; 命令: 占1个字节,现有命令控制 LED 红光和蓝光比例、控制风机、读取温湿、控制排水泵的开关; 参数 1 和参数 2 各占1 字节,为命令所带的参数,如控制 LED 红光和蓝光的比例( 如各占 50%) ,控制排水泵的开或关( 此时参数2 不用) ; 校验和: 占用 1 个字节,采用简单的求和取余的方法( 只对地址、命令及参数 1、参数 2 求和) ; 停止位: 占用1 个字节,固定值为0xEF;

由于 RS485 是半双工的网络,即在发送和接收数据不能同时进行,需要在 RS485 主机中控制从机发送数据的顺序,避免某些从机同时发送数据导致冲突。本 RS485 协议中采用了主机分配时间片的方法,即主机与一个从机的在固定的时间片 ( 本系统中为100ms) 内完成一次数据通信过程。经过实验,此方法保证了 RS485 网络主从机通信的可靠性,在植物工厂数据采集和控制中较为实用。

 

4 ZigBee 数据传输协议的设计

 

4. 1 数据包格式

本监控系统应用的植物工厂拥有10 余密闭房间,每一个房间放置若干监测单元,即培菜种植架; 共 4层,每一个监测单元对应于一个 ZigBee 终端设备,而每一层对应于一个数据采集设备。该通信协议是基于 ZigBee 应用的标准服务类型报文( MSG) 而设计的,运行于 Z -Stack 的 AF 层10 号端点上,并采用自定义的应用对象规范( Profile) 0x0F04,主要实现上位机对采集设备、监测单元的单独控制,以及对房间若干监测单元的组控制。

通信数据格式如图9 所示。

起始数据: 占 1 个字节,值固定为 0x55,保留位为以后扩展所用,占一个字节,值为0x00; 帧控制位: 占2个字节,帧控制中包含数据的类型( 命令包、数据包和回复包) ,帧属性( 广播、组播和单播) 、数据包的数据类型( CO2、温湿度、图像) 及图像数据包的序号( 0 ~32) 等; 包序列号: 占用 2 个字节,上位机和终端节点每发送一个数据包序列号加 1,接收方回复 ACK 时,将序列号加1,发送方依次来判断数据是否发送成功;目的地址 DstAddr: 占2 个字节,为每个终端设备的物理地址,根据监测单元所处的位置定义,高位字节表示房间区号,低位字节表示监测单元的培菜架号,0x00 的地址为房间的 CO2浓度采集终端设备; 数据包长度( DataLen) 域: 占 2 个字节,表示整个数据包的长度,值为12 + N; 数据包净载荷域: 占 0 ~ N 字节,N 最大值为512,净载荷数据由用户自定义系统所需要的功能命令,如设置空调机组温湿度、上传植物生长图像及读取 CO2浓度等,为0 字节的时候,数据包为回复包( ACK) ; 校验和: 占2 个字节,校验和采用简单的求和取余方法。

该通信协议支持数据广播、组播和单播,支持可变长字节数据包,支持超时重传和确认机制,无线网络中监测单元最多达 65 535 个,支持无限多命令数据包,在植物工厂中可控制和监测的环境参数有 LED 光强、温湿度、CO2浓度、水泵开关及植物生长图像。其中,图像传输是本通信协议的难点。

 

4. 2 图像传输的实现

植物工厂中,观察植物在其生长周期内的生长态势,即观看植物的生长图像来分析和研究其生长状况,对于研究缩短植物生长周期、提高生产量有重要的意义。由于 ZigBee 技术 低 数 据 率 ( 理 想 速 度250kbps) 和低数据量( 最大传输单元为 127 字节) 的特点,传输1 幅数据量为10K 余字节的图像就尤为困难。但是在植物工厂中,一般不需要实时动态地显示图像,每隔一定时间采集和显示植物图像就能达到目的。而传输大量的图像数据时,可以采用数据包分片技术将完整的一帧图像数据传输至目的地。在数据包头中的帧控制域中 8 ~12bit 为图像数据包的序号,上位机通过此序列号将图像数据包进行重组写入文件并显示。存储一幅 10K 余左右的图像数据对于RAM 仅有 8K 的 CC2530 来说是不可能的,但是可以通过选取某种分段读取图像数据的摄像头模块来解决。PTC08 是一款集图像采集、拍摄控制、数据压缩及串口传输于一体的工业级图像采集处理模块,图像输出标准的 JPEG 格式,终端设备 CC2530 通过 TTL 电平串口与 PTC08 通信。

PTC08 提供两种读取图像数据的方式,一次性读取一帧图像数据和每次读取512 字节。Z -Stack 提供基于事件调度的操作系统 OSAL,本通信协议实现了基于 OSAL 的图像采集及上传。当启用 Z - Stack 的ZIGBEE_FRAGMENTATION 配置时,ZigBee 的最大传输单元为524 字节。终端节点 CC2530 采集图像软件实现流程图,如图10 所示。

在采集图像中定义 3 种事件,即拍照事件、读取512 字节数据事件及发送数据事件。在应用层的任务中分别处理此3 种事件: 当收到上位机图像命令设置拍照事件,此时要设置拍照标志以防止在图像传输完之前收到: 图像命令; 然后与 PTC08 通信,发送设置图像大小和压缩率命令、拍照命令及读取图像数据长度命令,再设置读取512 字节数据事件进入等待延时状态; 当中断函数中收到 512 字节设置发送数据事件,继而调用无线发送数据 API 发送图像数据,并判断是否为最后一个图像数据包,如果不是则设置读取 512字节数据事件,否则发送完毕,清除拍照标志。

经过实验,采用此方法采集图像,在上位机中收到图像并显示成功率可达 95%,从发送命令到显示完整图像时间大约为10s,满足了非实时性,在植物工厂图像采集中具有实用性。

 

5 实验结果和结论

 

为了验证所设计的无线网络在植物工厂监控系统中应用的可行性以及该无线监控网络各方面的性能,对整个监控系统进行运行与测试实验。

测试场景: 选用1 个协调器,2 个路由器,8 个终端设备,并对其进行编号,由这些节点构成树状网络,如图11 所示。编号0 的节点为协调器,编号 1 ~8 的节点为终端设备,编号9、10 的节点为路由器。

协调器与路由器间距 10m,路由器与终端设备间距10m,且路由器与终端设备之间有障碍物。上位机连接协调器,作为数据发起的起源点,即网络参数测量过程中的数据包都由上位机发送。

植物工厂监控系统中上位机的请求命令主要包括控制监测单元 LED、控制监测单元水泵开关、采集监测单元温湿度、采集室内 CO2浓度、控制室内 CO2浓度、设定室内温湿度及采集植物图像。上位机对编号1 ~ 7 的终端设备以单播的形式分别发送采集室内CO2浓度请求命令来测试单播的丢包率。单播请求命令的丢包率如表1 所示。

由表1 可知,单播请求命令的丢包率在 0.20% ~0. 50% 之间,基本满足监控系统数据传输的要求。

上位机 Web 应用程序如图12 所示。

经测试,整个系统稳定运行超过 1 个月,对于 LED光照、水泵开关、空调温度这些环境因素均可达到精准的控制; 对于温湿度 、CO2浓度数据可达到不超过1s 时延的采集; 对于植物图像可满足 10s 以内的非实时显示,该系统完全符合和满足植物工厂对于环境监控的需求。

本文从成本控制和能耗效率角度,设计并实现了一种低成本、低功耗、简单实用的植物工厂环境监控系统。该系统实现简单、开发难度小、稳定可靠,在植物工厂控制系统未来的发展中具有一定的实用价值。

参考文献(略)


如需定做,职称发表论文请联系我们专家定制团队,QQ337068431,热线咨询电话:021-62170626
分享到: