APP下载

基于STM32的智能盆栽管家系统设计与应用

2022-08-11姚文俊黄庆南纪泓良谭夏连

农技服务 2022年7期
关键词:土壤湿度温湿度盆栽

姚文俊,黄庆南,冯 斌,纪泓良,谭夏连

(广西科技大学,广西 柳州 545001)

近年来,我国小型盆栽种植规模持续扩大,据2016年全国花卉产业统计数据显示,2016年全国花卉种植面积达133万hm2,销售额1 389.70 亿元,出口额达6.17 亿美元。2019年我国盆栽销量仅蝴蝶兰这一种类就达6 000 万~7 000 万株,由此可见盆栽市场具有较好前景[1]。许多科研人员也竞相投入智能盆栽研究中[2-3]。智能花盆既是智能家居的一部分,也是智能农业的一个分支,其可以通过网络将人与物,物与物联系,以智能化的方式养护植物[4]。

我国市场上的智能花盆多采用传统浇灌器械,主要为定时浇灌的智能花盆,浇水时不能根据植物的生长环境对其进行合理灌溉,在户外养殖情况下,即使是雨天,传统的智能花盆也会自动对盆栽进行浇水,造成一定的水资源浪费并会导致绿植(花卉)的死亡。此外,一些智能花盆仅有监测功能,只能提醒人们手动浇灌。为解决目前市场上智能花盆存在的问题,基于STM32 单片机设计智能盆栽管家系统,该系统以STM32 为控制核心,通过土壤湿度传感器、温湿度传感器采集盆栽的含水量,环境温湿度数据,同时借助WIFI将数据信息发送到机智云端,将监测[5]与智能浇灌[6]结合在一起。对不同种类的盆栽可调节其灌溉水量,并根据环境变化对植物进行自动浇灌,在保证绿植花卉健康生长的情况下,兼顾节约水资源的目的。

1 总体设计

智能盆栽管家系统采用STM32 单片机作为主控终端,通过温湿度传感器和土壤湿度传感器采集数据后,经过单片机内置的模数转换器处理,通过ESP8266WIFI 模块上传到机智云端。用户可在OLED 屏幕直接观看植物当前的状态信息,也可通过手机移动端程序查看[7]。同时系统能根据实际的植物种类,自定义浇灌水量参数,实现远程手动或智能浇灌[8-10]。

系统主要分为硬件部分和软件部分。其中硬件部分包括STM32 单片机、土壤湿度传感器、空气温湿度传感器、ESP8266WIFI 模块以及灌溉装置。软件部分由STM32 芯片程序与移动设备程序共同构成。系统的总体设计如图1所示。

图1 智能盆栽管家系统的总体架构

2 硬件部分

2.1 STM32主控

系统基于STM32F103C8T6 核心板进行开发,基本参数:64 KB FLASH、20 KB SRAM(静态随机存取存储器)、1个高级定时器、2 个通用定时器、2 个12 位的A-D 转换器以及SPI 和IIC 通信接口。对比其他MCU,STM32F103C8T6 有着优异的配置,以及更低的成本,因此选择其作为智能盆栽管家系统的主控芯片。

2.2 土壤湿度检测

为准确判断植物当前是否缺水,需对盆栽中土壤湿度(含水率)进行测定。采用的土壤湿度传感器型号为FC-28,由不锈钢探针和防水探头构成,使用时将其插入土壤内。土壤湿度传感器的实质是一个随湿度变化而变化的可变电阻,土壤的湿度与其电阻值呈正比,利用这个关系就可以得到土壤的干湿度信息。

2.3 空气温湿度检测

系统的温湿度检测部分采用数字温湿度传感器DHT11,其是一款复合型温度和湿度传感器,由感温元器件和电阻式测湿度元器件组成,无需A-D 转换器转换就能直接输出数字信号,在保证传感器稳定性和可靠性的前提下,又兼具响应速度快、抗干扰性强、性价比高等优点。

2.4 无线通信模块

系统通信部分采用正点原子的ESP-8266WIFI 模块,其工作模式有3 种,STA 模式:模块通过路由器连接上互联网,用户可通过互联网实现对设备的远程控制。AP 模式:模块作为热点,实现手机或电脑直接与模块通信,实现局域网无线控制。STA+AP模式:STA 与AP 模式共存,模块既可通过路由器连接互联网;也可作为WIFI 热点,供其他设备连接。系统中该模块工作于STA+AP 模式下,ESP8266WIFI 模块与STM32 单片机的接线图见图2。

图2 ESP8266WIFI与STM32接线图

2.5 浇灌系统

系统的浇灌部分由一个6 V 的小型抽水泵与5~12 V继电器组成。工作时,应给继电器输入5 V的供电电压,并使其工作于低电平触发状态[11];抽水泵的正极与继电器的常开触点连接在一起(图3),当土壤湿度低于一定值时,单片机将得到信号,通过I/0 口输出一个低电平,使得继电器吸合在一起,公共端与常开触点导通,从而使抽水泵开始工作。

图3 浇灌系统简易仿真电路

3 软件部分

3.1 STM32主控程序

STM32 程序以C 语言进行编写,方便阅读与调试,整个程序分为土壤湿度采集、空气温湿度采集、ESP8266WIFI 通信三大模块,STM32主程序流程图如图4所示。

图4 主程序流程

土壤湿度采集模块主要是读取土壤传感器的模拟量输出数据,并通过STM32 内置的12 位ADC 通道转换,将模拟量变为数字量,根据土壤的湿度与传感器电压输出呈正比关系,利用公式:(传感器当前输出电压值/传感器输出最大电压值)×100%,即可得到土壤的湿度值。

空气温湿度采集模块是将温湿度传感器里的温度和湿度分别读出,DHT11 的数据格式:8位湿度整数数据+8位湿度小数数据+8位温度整数数据+8位温度小数数据+8位校验和,一次完整的数据传输为40 位,高位先出。数据采用校验和方式进行校验,有效保证数据传输的准确性。

ESP8266WIFI 通信模块是整个程序配置的重点,首先需要通过AT 指令AT+CWMODE=3 将工作模式设置为STA+AP 并对其烧录机智云固件,烧录成功后即可通过路由器连接上网络。最后,利用串口通信方式,将创建好的电池电压、土壤湿度值、空气温度/湿度等数据,定时自动上传到机智云端并读取云端指令。

3.2 移动设备程序

系统在机智云demo 开源APP 的基础上进行修改,在用户登录成功后,可进入“我的设备”进行绑定盆栽,绑定完成后(图5)可以查看盆栽当前的环境信息、电池电压情况。此外,用户可以根据需求开启“浇水”功能,STM32 单片机在接收云端指令后将会导通继电器,对盆栽进行浇灌。选择“自动模式”,系统将会结合当前土壤的湿度、环境温湿度以及用户定义参数进行智能浇灌。

图5 程序APP界面

4 系统测试

将系统的土壤湿度传感器、温湿度传感器、OLED 屏幕以及ESP8266WIFI 模块引脚分别与STM32 上相应的I/O 口进行连接,继电器的控制管脚连接到PB5 上,开关与水泵连接。连接好系统的硬件后,即可开机测试。在室外条件下,先对系统的浇灌功能进行测试,通过软件将浇灌命令设置为土壤湿度的40%,当土壤湿度达到80%后停止浇灌,测得的数据如表1所示,即系统在土壤湿度(40±1)%时浇灌开启,当土壤湿度达到(80±3)%时停止浇灌,浇灌系统达到基本预测目标且在1 min内湿度值逐渐趋于稳定。

表1 浇水后1 min内土壤湿度值变化情况 %

随后将土壤湿度传感器插入盆栽土壤中,每隔1 h 对盆栽的信息进行记录,以精度较高的数字测量工具测得的值作为实际测量值,最终测试结果如表2所示。经计算,系统对土壤湿度测量的值与实际值的平均误差为2.27%,空气温度、湿度测量值与实际值的平均误差分别为7.02%和3.43%,均在误差允许范围内,测量值可信度较高。

表2 智能盆栽管家系统测试结果

5 小结

基于STM32 设计的智能盆栽管家系统,通过各类传感器实现了对盆栽土壤湿度和空气温湿度信息的实时监测,并采用ESP8266WIFI 模块与机智云服务器通信以传递盆栽数据和用户指令,利用手机移动APP,完成盆栽温湿度信息的实时展示与远程控制浇灌。经测试,该系统工作稳定,能按设计目标对盆栽进行浇灌,且测量误差较小。针对用户的需要可以拓展pH 检测,土壤肥力监测等功能,在一定程度上节约了水资源,实用性强,具有广阔的应用前景。

猜你喜欢

土壤湿度温湿度盆栽
CLDAS土壤湿度产品适用性评估
荒漠化露天矿土壤湿度监测模型的构建
——以红沙泉矿区为例
蛋鸡育雏育成舍环境控制技术
水果盆栽种起来
档案库房温湿度记录统计及调控
阜新春播期土壤湿度变化特征分析
基于GNSS—R的土壤湿度反演研究
变电站高压配电智能温湿度控制装置的研发与应用
档案库房温湿度调控思考