基于机智云物联网平台的智能远程植物养护装置设计与实现-Arduino中文社区 - Powered by Discuz! Archiver

机智小子 发表于 2020-6-29 17:11

基于机智云物联网平台的智能远程植物养护装置设计与实现

摘要: 设计一种智能远程植物养护装置,采用STM32F103单片机为控制核心,对植物所处环境温度和土壤湿度进行检测,并根据用户所设置的适合植物生长的湿度参数,控制水泵的开关,通过机智云平台在手机APP上实时监控植物的生长环境。测试结果表明本设计能完成远程精确灌溉和按需灌溉,促进盆栽植物的茁壮成长。
关键词: 植物养护 远程 STM32 机智云 手机APP


引言
现代生活在高层建筑里的人们越来越热衷于在家里或办公室里种植各种各样的盆栽植物,盆栽植物可以净化空气,陶冶情操,营造良好的生活环境。然而,由于工作的繁忙或是外出旅游,人们经常忽视管理或无人看管,导致植物缺水,给爱花草的人带来很多麻烦。设计一种能够实时监控盆栽植物信息,并通过远程虚拟开关智能养护盆栽植物的系统具有应用价值和现实意义


本次设计为智能远程植物养护装置,其具体功能要求和设计指标为:


(1)设计一个湿度检测的下位机,测出土壤湿度并在下位机显示,湿度测量范围10%~90%,误差范围为±1%。
(2)设计一个温度检测的下位机,测出环境温度并在下位机显示,温度测量范围-50~125℃,误差范围为±0.5℃
(3)测量出的环境温度和土壤湿度通过无线通信模块,间隔500ms发送给上位机手机APP并显示。
(4)在植物近端设备可设置土壤湿度,且设置信息上传至手机APP。
(5)在手机APP上可根据植物养护要求设置土壤湿度,且设置信息发送至植物近端设备。
(6)通过手机APP,选择不同的浇灌模式,远程控制系统开关,实现自动、手动浇灌模式。
(7)系统根据用户设置的土壤湿度与实际测量的土壤湿度做对比,判断土壤的水分状态,并将土壤水分状态上报至手机APP,系统开启自动浇灌模式。土壤水分状态将显示在LCD界面上。
(8)该系统有两个土壤湿度传感器,以防止意外情况发生。如其中一个土壤湿度传感器出现故障或被拉出土壤。单片机将比较分析两个湿度传感器检测到的土壤湿度值。如果两个土壤湿度值的差异超出范围。系统会在显示屏上显示错误,水泵会自动关闭。
1.2 系统设计框图根据要求,智能远程植物养护装置系统的整体设计框图如图1所示。http://club.gizwits.com/data/attachment/forum/202006/29/154518kiddtddwwkn6fkki.jpg.thumb.jpg图1 系统设计框架图
硬件系统主要包括主控制模块,显示模块,无线通信模块,上位机APP模块,按键模块和水泵控制模块。本设计采用DS18B20传感器测量环境温度,土壤湿度检测模块测量土壤湿度,通过esp8266无线模块将测量的温湿度值上传至机智云平台,再发送至手机APP。1.3 硬件系统设计1.3.1 复位电路
本系统TFT-LCD采用并行操作方式,TFT-LCD的使能端E、TFT-LCD片选信号CS、数据/命令选择端、数据写入WR、数据读取RD、硬复位RST分别连入单片机其他I/O口。
本系统传感器模块分两部分:土壤湿度传感器和环境温度传感器。
土壤湿度传感器基于电磁脉冲原理,根据电磁波在介质中的传播频率,可以测量土壤的表观介电常数,从而得到土壤的相对含水量。将传感器引脚与STM32的ADC采样引脚连接,并控制其高或低,使用特定的算法将ADC值转换为湿度值。环境温度传感器采用DS18B20。DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。1.3.4 无线通信模块
本系统采用ESP8266-S01模块,设备主控制MCU通过串口和Wi-Fi模组通讯。图2即ESP8266引脚图。http://club.gizwits.com/data/attachment/forum/202006/29/155016uuvgvvc8v8eqmeeq.jpg.thumb.jpg图2 ESR8266引脚图

2 软件设计2.1 无线通信协议程序设计STM32和Wi-Fi模块是整个系统的关键,分别负责数据采集、处理和数据传输。ESP8266 Wi-Fi模块连接到STM32,数据传输代码根据程序中的通信协议进行编程。
遵循机智云平台标准协议设计通信协议程序,设备主控制MCU通过串口和Wi-Fi模组通讯,通讯采用具有规定格式的指令,本系统共设计了十条指令,实现五个通讯过程,分别是Wi-Fi模组向MCU获取设备信息,MCU向Wi-Fi模组发送业务指令,心跳,通知Wi-Fi模组进入配置模式和推送Wi-Fi模组工作状态。指令由以下部分按顺序组成:包头(2B)=0xFFFF,包长度(2B,包的剩余字节数),命令(1B),Flags(2B),有效负载,校验和(1B)。包长度是指从命令开始一直到校验和的字节长度(包括命令和校验和)。
系统收集土壤水分并显示在LCD上,当当前湿度低于设定值时,单片机将自动发出命令控制泵的运行。当湿度达到适当值时,单片机会自动发出停止泵运行的命令。STM32用作控制模块,ESP8266与移动终端连接后,将单片机发送的串行信号转换为无线信号,传输到移动终端,串口中断程序框图如图3所示。
接收到的无线信号也可以转换成串行口信号,传送到单片机上,单片机通过应用程序改变湿度参数,控制泵的启闭。主要流程如图4所示。
http://club.gizwits.com/data/attachment/forum/202006/29/155255pr9l9w1lng6rcrg4.jpg.thumb.jpg
图3 串口中断程序框图

http://club.gizwits.com/data/attachment/forum/202006/29/155343jv009uzv7iz0ovos.jpg.thumb.jpg

图4 主程序程序框图

3 系统测试

智能远程植物养护装置控制界面如图5所示,装置上共有六个按键,从上往下依次是设置土壤湿度增加按钮、设置土壤湿度减小按钮、开启水泵按钮、关闭水泵按钮、配置按钮和重启按钮。水泵开启时,蓝色小灯亮起,水泵关闭时,蓝色小灯不亮,按下配置按钮时,ESP8266模块处于配置模块,Wi-Fi信号灯亮起。http://club.gizwits.com/data/attachment/forum/202006/29/161102sa5qnzneysscr5a5.jpg.thumb.jpg
图5 智能远程植物养护装置控制界面

通过装置上的按键设置土壤湿度,初始设置的土壤湿度值为50%,在初始值的基础上加减。

两个土壤湿度传感器测量当前土壤湿度的52%,测量环境温度为28.1°C,系统处于开放状态。当前土壤湿度略高于用户设定的土壤湿度,系统显示当前土壤湿度良好,系统运行时泵不工作,手机APP界面如图6所示

http://club.gizwits.com/data/attachment/forum/202006/29/161257djwo9352pofffffo.jpg.thumb.jpg
图6 设置土壤湿度为50%

4 结语
本设计基于机智云物联网平台,采用STM32F103单片机为控制核心,对植物所处环境温度和土壤湿度进行检测和处理,温湿度数据实时传输到液晶显示屏和用户手机APP上,用户可通过机智云物联网平台在手机APP上实时监控植物的生长环境,控制水泵的开关。测试结果表明本设计能完成所有功能和设计指标,实现远程精确灌溉和按需灌溉,促进盆栽植物的茁壮成长。

auxt 发表于 2020-8-10 17:34

你好,可以看一下源码和电路图吗
页: [1]
查看完整版本: 基于机智云物联网平台的智能远程植物养护装置设计与实现