当前位置:首页 期刊杂志

智慧型蔬菜温棚环境监测系统

时间:2024-07-29

毛 威,陈明杰,李志华,周学礼

(常熟理工学院 物理与电子工程学院,江苏 常熟 215500)

在社会经济发展以及政策的推动下,结合计算机技术、物联网和无线传输等技术,我国农业正朝着智慧农业的方向发展[1]。智慧农业将物联网技术运用于传统农业中,运用传感器和软件通过移动平台控制农业生产。

温棚环境监测系统是将现代化的科学管理技术、农生技术、计算机技术、网络技术、自动化技术等有关重要技术综合起来,发挥其组合优势的一套系统[2]。目前我国的农业产品的产业化水平、温棚环境监测系统的技术水平、基础设施的普及水平仍然很低。本设计利用物联网的3个层次:感知层、网络层和应用层对温棚进行全方位的监测,配合STM32单片机搭载的传感器,可以使监测的内容更加丰富,通过无线收发器可以扩大监测范围,从而将温棚环境信息及时传输到用户手机中,便于管理者及时有效地采取措施。

1 系统整体设计方案

系统整体框图如图1所示,由上位机与下位机构成。下位机以STM32F103ZET6单片机为核心,将空气温湿度传感器、土壤湿度传感器、二氧化碳传感器、光照传感器以及土壤pH值传感器连接至单片机,并将监测到的信息通过与单片机相连的LCD显示屏显示出来。上位机也是以STM32F103ZET6为核心,通过搭载的SIM800模块与用户手机连接,上位机接收下位机发送的数据并将数据与阈值相比较,超出阈值则驱动控制模块来调节大棚中的环境状况,同时将预警信息发送至用户手机。下位机通过无线传输模块(本系统选用ZigBee模块)与上位机进行通信。此外,用户还能够通过外接电路来设定初始阈值。系统还包括为各个模块供电的电源模块。

图1 系统整体框图

2 系统硬件设计

本设计将系统分为硬件和主控两部分,其中的硬件部分包括空气温湿度传感器、土壤湿度传感器、二氧化碳传感器、光照传感器、土壤pH值传感器、无线传输模块、SIM800模块以及一块LCD显示屏。主控部分采用的是ST公司的STM32F103ZET6,该芯片具有512K的Flash、64K的SRAM,有睡眠、停机和待机3种模式可供选择,芯片还具有多达112个快速I/O端口,3个12位模数转换器。

2.1 空气温湿度采集模块

为了适应蔬菜温棚的特殊环境,本设计选用了DHT11数字温湿度传感器,该传感器可以进行温度和湿度的测量并且将测得的数据进行数字输出。DHT11数字温湿度传感器采用了先进的采集模块和测量技术,具有较高的稳定性和可信度[3],其供电电压为3~5.5 V,湿度为20%~90%,精度为±5%,温度为0~50 ℃,精度为±2 ℃。本设计中选用PG10端口来进行DHT11的单总线数据的传输。

2.2 土壤湿度采集模块

蔬菜的生长与土壤密不可分,本设计为了能时刻监测土壤中湿度的变化,选用了YL-69土壤湿度传感器[4-5]。通过电位器可以控制阈值,湿度低于或高于阈值时,传感器的DO引脚输出高电平,YL-69土壤湿度传感器采用了LM393比较器芯片,其工作电压为3~35 V。为了提高测量的精度,本设计采用AD转换来采集YL-69土壤湿度传感器测量到的土壤湿度数据。主控芯片STM32F103ZET6自带的AD转换通道使得模数转换更加方便。

2.3 二氧化碳传感器模块

研究表明,二氧化碳浓度对植物的生长有着重要影响。本设计采用了TGS4160二氧化碳传感器[6-7],因为其具有在较低温度(-10~+50 ℃)和较高湿度(5%~95%)下工作的良好特点,所以本设计将其应用到蔬菜温棚的环境监测系统中,除上述特点外,它还兼具了稳定性强、体积小、可持续工作时间长和良好的选择性等特点。然而,一般情况下这款传感器需要的预热时间较长,因此,该器件特别适合蔬菜温棚这样需要长期监测的连续供电工作系统,另外该传感器配有温度补偿系统。使用MCU对这个模块进行控制,二氧化碳的浓度输出为电压信号,其大小为0~3 V,对应的气体浓度为0~3 000×10-6。因为二氧化碳输出的浓度是一个电压信号,单片机这样的微处理器是不能够直接读取的,所以需将传感器的输出引脚与单片机的PA2端口相连,再通过指定函数读取模数转换[8]后的二氧化碳数据。

2.4 光照传感器模块

光照是影响植物生长的重要因素之一,对于温棚内的光照强度,本设计选择光照传感器GY-30[9]。GY-30支持I2C总线接口,光谱的范围与人眼相近,具有宽范围和高分解的特点(1~65 535 lx)。在节能方面,支持低电流关机功能,无需任何外部零件。将GY-30的时钟线SCL和数据线SDA分别与下位机主控芯片的PB6与PB7引脚相连,ADD引脚作为I2C地址引脚接地。

2.5 土壤pH值传感器模块

土壤的pH值对农作物的生长具有一定的影响。由于根际环境的pH值过高或过低都会对作物的根系产生伤害,同时,也会对营养元素的有效性造成影响,因此需要人为地将根际pH值控制在合理范围内。

本系统采用了NHPH49型土壤pH值传感器[10],具有集成度高、体积小、功耗低、可实现远程控制等特点。其准确度达到±0.1,供电电压为12 V,输出电压为0~5 V,输出电流为4~20 mA,工作环境温度为0~80 ℃,湿度为0~95%。将传感器的输出引脚与单片机的PA4端口相连再通过指定函数读取模数转换后的土壤pH值数据。

2.6 控制模块

控制模块与本设计的上位机相连,上位机判断阈值后,进行控制模块的相关工作。用户根据需要自行连接相应的控制部分,如增湿器、风扇等。如果上位机接收到数据后,判断出二氧化碳的浓度过高,则开启风扇进行排风处理。

2.7 无线传输模块

智慧农业将农业生产推向新的高度,有线传输的方式增加了农业生产的成本,传输的距离也受到影响,而无线传输的方式弥补了有线传输的缺点,更加符合智慧农业的理念。本设计中的无线传输模块采用ZigBee网络技术,ZigBee具有大规模的组网能力[11],其单个节点的有效传输范围为10~75 m,如果使用功率放大器,则传输的范围更广,这对蔬菜温棚所要监测的范围是足够的。ZigBee的工作频段灵活、功耗低和成本低,与其他无线传输方式相比也更加安全[12]。本设计使用CC2530芯片来满足系统无线数据接收与发送的要求,将ZigBee模块的RXD与单片机上的PA9(U1_TX)引脚相连,TXD与单片机上的PA10(U1_RX)相连,供电电压为3.3 V,利用串口采集需要发送的环境数据。

2.8 SIM800模块

SIM800模块是一款性价比较高的工业级GSM/GPRS模块[13],该模块采用SIMCOM公司的工业级四频850/900/1 800/1 900 MHz的SIM800芯片[14],可以低功耗实现语音、SMS、数据和传真信息的传输。SIM800模块支持TTL和RS232接口,本设计使用TTL电平,将SIM800的T_TX引脚与单片机上的PA3(即U2_RX)引脚相连,T_RX引脚与单片机上的PA2(即U2_TX)引脚相连,供电电压选择的是3.3 V。

2.9 TFT-LCD显示模块

本系统设计中,使用了与单片机配套的一款TFT-LCD显示屏[15],16位的并口驱动,显示屏的驱动IC为NT35510,通过STM32自带的FSMC接口以及8080并行方式来传输数据。图2为TFT-LCD的硬件连接图。将LCD的RS引脚与STM32上的PG0引脚相连,PG0引脚为FSMC的数据总线地址。将LCD_CS引脚与FSMC_NE4相连,LCD的读使能引脚RD与单片机上的PD4引脚相连,写使能引脚WR与PD5相连,16位的并口数据引脚依次连接至FSMC的D0~D15。

2.10 键盘电路

在实际农业生产中,由于农作物的种类不同,空气温湿度、土壤湿度、二氧化碳浓度、光照强度以及土壤酸碱度这些环境要求往往不同,因此这些都需要人工干预。通过键盘向系统输入设定农作物适应的环境参数的上、下限阈值。为此,系统设置了3个按键,通过这3个按键来控制空气温湿度、土壤湿度、二氧化碳浓度、光照强度以及土壤酸碱度这些环境参数的切换选择、上限数值以及下限数值。由于CPU的运算速度很快,这种抖动容易对按键的识别产生影响。为了消除因抖动而产生的系统误操作,一般采用延时消除按键抖动的方法。将按键S0、S1、S2分别与上位机主控芯片的PB3、PB5、PB7相连,其中S0表示环境参数的确定与切换,S1表示环境参数数值加1,S2表示环境参数数值减1。

图2 TFT-LCD硬件连接图

3 系统软件总体设计

3.1 系统总体流程

系统工作时的总流程图如图3所示,在单片机连接电源模块后,先检查无线通信模块是否工作正常,由于本设计中上位机与下位机的数据传输是通过无线传输模块进行的,如果无线通信模块无法正常工作,则会对系统产生很大的影响,导致测量数据传输异常。当检测到ZigBee模块各通信节点正常工作后,下位机的传感器就会进行初始化进程,同时,上位机也开始接收下位机发送的环境监测数据,并对传送过来的数据与设定的阈值进行对比,如果检测到数据超过阈值,则驱动控制模块工作且向用户发送相应的提示信息。为了方便用户及时了解环境数据,下位机搭载了一块LCD显示屏用于显示当前环境监测数据以及日期和时间。

3.2 各模块软件设计

本设计中温棚内监测的主要环境参数为空气中的温湿度、土壤湿度、二氧化碳、光照强度以及土壤pH值。由于每种作物的生长条件都有区别,因而无法设定统一的阈值,只有通过改变环境参数对系统进行测试,才能判定系统是否可以正常工作。

设计中,DHT11数字温湿度传感器可以直接对环境中的温湿度状况进行读取,将监测得到的温湿度数据发送至上位机后与阈值进行比较,如果超出阈值,则发送信息至用户并启动控制模块对温度和湿度进行调节。

对于土壤湿度的检测,将传感器监测到的数据经A/D转换后再显示。土壤湿度检测流程图如图4所示。

图3 系统运行的总流程图

图4 土壤湿度检测流程图

二氧化碳的检测与土壤湿度的检测方法类似,将监测到的二氧化碳数据经过A/D转换后与阈值进行比较,如果超出阈值,则启动控制模块降低二氧化碳的浓度,并向用户发送提示信息。SIM800模块的初始化则需要不同的AT指令来完成,在本设计中,采用GSM模块发送短信至用户手中,则需要定义以下3个AT指令[16-17]:AT+CSCS、AT+CMGS以及AT+CMGF。其中AT+CSCS是用于字符集的设置,本设计中需要发送中英文短信,将指令设置为:AT+CSCS=“UCS2”;AT+CMGS是用于用户的手机号码的设置,将指令设置为:AT+CMGS=“15945678923”;AT+CMGF是用于短消息模式的设置。SIM800模块支持两种模式:PDU和TEXT,本设计中选择TEXT模式,设置的指令为:AT+CMGF=1。本系统中还用到GPRS模块,因此,会用到以下指令:AT+CIPSTATUS、AT+CDNSCFG、AT+CIPSEND、AT+CIPSTART以及AT+CIPSHUT,其中AT+CIPSTATUS是用于查询当前连接状态;AT+CDNSCFG则是配置域名服务器DNS,如指令:AT+CDNSCFG=1,“CMNET”,即设置为GPRS连接,接入点为“CMNET”;AT+CIPSEND指令用于发送数据;AT+CIPSTART指令用于建立TCP连接;AT+CIPSHUT指令用于关闭TCP连接。

4 实验结果与分析

温棚环境监测系统主要实现对温棚内的空气温湿度、土壤湿度、二氧化碳浓度、光照强度以及土壤pH值进行监测,同时将监测所得数据通过ZigBee模块进行传输,并与阈值进行对比。如果超出预设阈值,则通过SIM800模块发送信息至用户,提醒用户注意,控制模块也会采取相应的调节措施,使得温棚内的环境适合作物生长。以模拟温棚环境测试为例,控制模块则用LED灯与蜂鸣器进行代替,测得如下数据。

4.1 空气温湿度测量与分析

湿度测量选取FLUKE971作标准值,实验数据如表1所示。

温度测量选取FLUKE1524作标准值,实验数据如表2所示。

表1 空气湿度测量值与相对误差

表2 空气温度测量值与相对误差

在测试时,系统将温湿度阈值设为30 ℃、80%,当超过阈值时,LED灯亮且蜂鸣器报警,当温度和湿度降到阈值以下时,恢复正常情况。

4.2 土壤湿度与二氧化碳数据测量与分析

两者均通过STM32 自带的A/D转换模块,将土壤湿度与二氧化碳的数据通过数字量显示出来,测得模拟温棚中土壤湿度约为80%,二氧化碳浓度约为850×10-6,具体阈值应当参照不同植物生长环境来进行设置。在测试时,将土壤湿度阈值设置为85%,二氧化碳的浓度阈值设置为1 000×10-6,经过测试,当土壤温度和二氧化碳超过对应阈值时,声光模块会工作。

4.3 光照传感器数据测量

通过实际测量,测得模拟温棚里的光照强度约为2 000 lx。由于不同作物的生长对光照的要求不同以及照射的时间也有所区别,所以用户可以在实际应用中自行设置阈值与光照时间以达到良好的效果。

4.4 土壤pH值传感器数据测量

通过实际测量,测得模拟温棚内的土壤pH值约为6.2,具体阈值应该根据各种作物的pH值适应范围进行设置。在测试时,可以将土壤pH值阈值设定为8,当超过阈值时,LED灯亮且蜂鸣器报警,降到阈值以下时,声光模块恢复正常。

4.5 报警信息发送格式

本设计中,需要将温棚内的环境监测数据发送至用户。正常情况下,系统设置为每3小时发送1次数据。如果发生紧急情况,则立即发送预警信息至用户,信息发送的格式为:“第__节点出现紧急情况;空气温度:25℃;空气湿度:45%;土壤湿度:83%;土壤pH值:6.2;光照强度:1 800 lx;CO2浓度:850×10-6”。

5 结论

本设计实现一种基于STM32的蔬菜温棚环境监测系统,该系统以STM32F103ZET6单片机为主控芯片,结合多种传感器,实现了温棚环境实时监测的功能,体现了智慧农业的理念。经验证,该系统具有智能化程度高、性能稳定、成本低等优点,具有较强的实用价值与推广价值,可为企业的决策和生产提供切实可行的思路和经验。以本系统为基础,加入实时监控模块,实现功能升级,并开发相应的APP,使得用户可以远程了解温棚内的情况,从而实现对温棚环境更加智能化、自动化的监测。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!