基于WSN的农业大棚智能环境监控系统研究
2019-11-07秦芹
秦芹
摘 要:文章研究了基于WSN的农业大棚环境监控系统,分别从环境监控系统的硬件设计、软件设计以及系統优化几个方面进行了分析和研究。以保定地区草莓种植基地作为测试环境,对本系统进行了为期3个月的测试。实验结果表明,本系统能够实时、准确地采集环境信息。
关键词:智能环境监控;无线传感器网络;农业大棚
近几年,随着物联网技术的发展,无线传感器网络(Wireless Sensor Networks,WSN)也在各行各业得到应用。草莓种植一直是保定地区农业方面的主要产业之一,目前,草莓种植基地的温室环境还没有实现智能化监控及管理,这也是草莓产量不能有大幅增长的原因之一。因此,本文将WSN应用到地区草莓种植基地的温室环境监控系统中,实现温室环境的智能化监控及管理[1-3]。
1 系统原理及方法
WSN是由传感器模块、处理器模块、无线通信模块和能量供应模块组成的大量传感器节点,多个传感器节点组成分布式网络。本系统采用CC2530作为传感器节点的处理器模块,主要负责传感器节点的数据存储、处理和多任务处理。传感器选择温度、湿度、光照、二氧化碳质量浓度等传感器,主要负责温室信息的采集和数据转换。无线通信模块采用ZigBee技术,具有功耗低、数据传输可靠、兼容性好、实现成本低以及组网方便的优点,非常适合低速率传输的无线传感器网络[4-5],主要负责组网、数据传递和指令交换等。
2 系统硬件设计
2.1 系统整体设计
传感器节点采集数据信息后,通过ZigBee技术将数据信息传递给协调器。协调器将收集到的数据信息通过串口传递到上位机,并在上位机界面显示。上位机实现了信息实时显示、查询历史数据、设置阈值、远程控制各种设备等功能,具体系统结构如图1所示。
2.2 系统详细硬件设计
2.2.1 信息采集模块设计
本次硬件设计中的传感器主要包括:am2311温湿度传感器、HA2003光照强度传感器、Moisture Sensor土壤湿度传感器、ZC3XX USB摄像头模块。在温室大棚的不同位置,放置与终端节点相连的各个传感器,获取温室大棚内环境的实时数据信息,各种传感器参数如表1所示
采集到的相应信息要通过无线通信模块进行处理,并通过ZigBee通信协议发送至汇聚节点,无线通信模块的选择主要考虑以下几点:
(1)成本和电力消耗,由于大量的传感器节点需要在WSN中使用,因此,节点的硬件设计成本必须低。此外,由于传感器节点的体积相对较小,两个AA电池大多用于供电,主要用于数据收集、传输和处理,因此,只有低功率传感器节点才能有效地改善整个网络系统的生命周期。
(2)扩展性和可靠性,主控制器应具有较高的可扩展性,能够满足系统各种功能的要求。此外,无线传感器节点是整个系统的核心,必须保证节点的高可靠性。
本系统选用CC2530模块作为终端节点的主控芯片,该模块包括电源模块、LCD显示模块、RS232接口、联合测试工作组(Joint Test Action Group,JTAG)模块接口和CC2530无线通信模块接口,如图2所示。
无线传感器网络节点的电源管理模块采用TPS63001DRC和T公司的VTPS63002DRC/DC电源转换芯片。TPS63001DRC为系统提供3.3 V电压和1 A电流电源;VTPS63002DRC为系统提供5 V电压和1 A电源。节点电源可以实现直流电源、锂电池和AAA电池之间的无缝切换。
2.2.2 网关设计
本系统设计所使用的网关设备是三星公司推出的基于ARM Cortex-A8内核的32位RISC微处理器s5pv210。s5pv210采用的是ARMv7的架构,其主频可达1 GHz,32位总线结构,内存寻址空间可达到4 GB。其中,芯片内置32 KB一级缓存,512 KB二级缓存,从而为CPU与内存之间不同的工作速度做出了弥补。其丰富的片上资源,为多媒体设备和其他移动领域应用,提供了低功耗、低价格、高性能的微处理器解决方案。
3 系统软件设计
3.1 网关开发环境
本系统设计采用交叉编译的软件开发环境,所谓交叉编译就是在一个平台上编译出能在另一个平台上运行的程序。此开发环境中的主机为Ubuntu12.04,标机s5pv210开发板。主机上还需要安装arm-linux-等交叉编译的工具,用来编译能在开发板中执行的程序。通过交叉编译环境编译出的可执行程序,用简单文件传输协议(Trivial File Transfer Protocol,TFTP)服务器下载到开发板中执行。也可以通过网络文件系统(Network File System,NFS)服务将主机的工作目录共享出去。开发版本通过NFS服务远程挂载到主机的工作目录中去。本开发环境选用的就是用NFS服务进行开发板与主机间文件的传输。
3.2 终端信息采集功能软件开发
am2311温湿度传感器的驱动是以模块的方式实现的,遵循内核的模块化编程思想。可以在Linux系统启动后手动执行insmod命令,将驱动程序插入内核,然后根据模块向内核注册初始化函数的入口地址,直接调用初始化函数。
在该驱动中有一个重要的file_operations结构体,其内部包含了整个驱动程序中将要被应用程序调用的函数,以及指定的驱动模块。
当应用程序需要读取温湿度时,会调用应用层的read函数。最终,read函数会调用到该结构体中的am2311_read函数。以下是am2311_read函数的具体实现。
在am2311_read函数中会调用到一个关键的函数am2311_humiture_measure。此函数封装了两线式串行总线(Inter-Integrated Circuit,I2C)通信最底层的函数。由此函数用标准的I2C协议去读取am2311中的温湿度数据。该函数的具体实现如下所示。
功能码的值为0x03,含义是读取寄存器数据,起始地址为0x00,寄存器个数为4,意思是从0地址开始,读取4个寄存器内的数据。然后使用am2311_i2c_send函数调用I2C通信发送给am2311。
3.3 系统控制模块软件设计
本系统选用支持向量机(Support Vector Machine,SVM)实现温室环境的自动控制,采用WSN监测節点收集温室内外环境因素作为输入参数,通过支持向量机对各种设备的开关状态进行识别。本系统选取保定地区草莓种植温室进行实际数据监测,结合温室草莓生长环境对数据进行分析。由于室外温度和湿度对室内二氧化碳质量浓度影响不大,而且调节成本较高,大多数温室未配备相应的调节和控制设备,被视为不调节和控制的次要影响因素。因此,本文只考虑温室温度、湿度和光照的适当值调节和控制。采用支持向量机对组合设备状态进行分类和识别。
通过对温室的实时监测,得到了温室温度、湿度、光照强度等参数。将监测参数和相应参数的控制方法存储在数据库中,并提取一些数据作为训练支持向量机模型的训练数据集。其余数据作为测试数据,测试模型的识别精度。建立了基于SVM的温室环境控制模型,然后确定需要测量的数据,以确定哪些控制设备状态组合用于调整室内环境因子,以满足温室草莓的生长环境需求。
本文根据组合分类器的结构,研究了温室环境设备的5种开关状态调节方法,并根据实际需要结合了9个控制设备状态组合类。输出“1”表示设备运行状态为“开”,系统需要对环境参数实施控制、干预,如开启加热器和通风机;“0”表示设备运行状态为“关”,该系统不需要温室环境干预。设备开关状态构成二进制字符串,作为控制设备状态的组合识别模型。针对控制模型识别的需要,将二进制控制字符串转换为十进制控制数。
4 结语
本系统的研究和设计实现了多因素采集的智能温室控制。目前,我国对智能温室控制系统的开发仍是一个漫长的过程。与发达国家相比,我国室内环境控制算法存在较大的不足。在今后的工作中,将进一步研究相关算法,使智能温室控制系统能够满足我国实际应用的需要。
[参考文献]
[1]武昌,李彦君,汤倩尧,等.北京市昌平区设施草莓机械化种植现状[J].农业工程,2017(7):65-67.
[2]刘盛竹,王欢欢.农业大棚的温湿度自动控制系统设计[J].湖北农机化,2019(12):57.
[3]程盼,张鑫.基于物联网的智能农业大棚设计[J].计算机产品与流通,2019(6):130.
[4]戚山豹,凌青,秦琳琳,等.基于CC2530的温室无线采集与控制系统设计与实现[J].数码世界,2016(7):10-11.
[5]孟刚.基于ZigBee技术的温室智能测控系统设计[D].曲阜:曲阜师范大学,2014.
Abstract:This paper focuses on the monitoring system of agricultural greenhouses based on WSN, analysis and research this study from hardware design, software design and system optimization. Strawberry cultivation in Baoding for three months of test. Experimental results show that, this system can collect environmental information in real time accurately.
Key words:intelligent environment monitoring; wireless sensor networks; agricultural shed