1、立项背景和目标:随着城市生活节奏加快,宠物主人常因工作繁忙、出差或临时外出无法按时喂食和照顾宠物,传统“提前留粮、托人代管”的方式存在喂食不精准、宠物状况不透明、异常响应慢等问题。本项目面向家庭养宠场景,设计并实现一套基于STM32的低成本智能宠物远程投喂与监测系统,目标是实现定时定量投喂、远程手动投喂、环境温湿度实时监测、缺水缺粮报警,并保证断网情况下本地喂食不中断。
2、软件功能与核心功能模块:①定时投喂模块——基于RTC实时时钟支持5组定时任务,到点自动驱动步进电机定量出粮,喂食计划与温控阈值写入Flash掉电保存;②远程控制模块——设备经Wi-Fi接入云平台,手机端可远程下发即时投喂、加水、加热/降温指令,实时查看温湿度、喂食次数等状态;③环境监测与温控模块——DHT11采集温湿度,超阈值自动联动风扇PWM降温或加热片升温并告警;④水位监测与自动补水模块——缺水时自动启泵补水,水位恢复后自动停泵;⑤本地交互与告警模块——LCD1602实时显示时间、温湿度、喂食次数,按键支持参数设置与手动投喂,缺粮/故障时蜂鸣器报警。
3、业务流程与功能路径:系统按“感知—决策—执行—上报”闭环运行:设备上电初始化并入网后,传感器持续采集环境与水位数据;主控判断是否到达定时点、收到远程指令或参数越限;随后驱动步进电机定量投喂(约20克/圈)、继电器补水、风扇/加热片温控;执行结果与环境数据经Wi-Fi实时上传云端,用户在手机端查看并可随时下发指令;异常时本地蜂鸣器与云端通知双通道告警。本地定时投喂与远程云端控制互为备份,断网时本地照常按计划投喂,保证喂养连续可靠。
1、整体架构与设计思路:系统采用“感知层—控制层—云平台—应用层”四层物联网架构,本地自动控制与远程云端控制互为补充。技术栈:主控为STM32F103C8T6(Cortex-M3,72MHz),固件采用C语言开发,STM32CubeMX生成时钟/GPIO/定时器等外设配置;软件按硬件驱动层、功能服务层、应用逻辑层三层模块化设计,主程序以前后台+状态机方式调度;感知层用DHT11单总线温湿度传感器与水位检测电路;执行层用28BYJ-48步进电机+ULN2003驱动定量投喂,继电器+5V直流泵补水,风扇PWM调速、加热片继电器控温;通信层用ESP-01S(ESP8266)经UART AT指令以STA模式接入家庭Wi-Fi,经TCP/IP对接腾讯云IoT平台实现数据上传与指令下发;应用层为微信小程序及Qt开发的Android APP;硬件原理图用Altium Designer绘制。
2、本人负责模块与成果:本人独立完成方案论证、硬件选型与电路设计、嵌入式软件开发及整机联调:完成STM32最小系统及ESP-01S、DHT11、ULN2003等外围电路设计;编写主程序及定时投喂、自动加水、温控3个子程序,支持5组定时任务并掉电保存配置。实测成果:DHT11温度误差<±2℃、湿度误差<±5%,数据刷新约1s;投食量一致性误差<5%(约20克/圈可标定);缺水2s内启泵、水位恢复3s内停泵;继电器动作<50ms;风扇响应<1s;加热片启停<2s;远程指令与设备动作、APP状态显示保持一致,喂食次数计数准确、可一键清零,系统长期运行稳定。
3、难点与解决方案:①ESP8266供电不稳导致AT指令乱码、掉线——电源引脚并联100μF电解+0.1μF瓷片电容滤波,CH_PD上拉保持使能,并由GPIO控制RST实现异常时硬件复位,连接恢复稳定;②DHT11单总线时序严格、偶发读取失败——用GPIO精确模拟时序并加入数据校验与重试机制,提高读取成功率;③投食量控制不准——利用1:64减速箱将输出步距细分至约0.088°,以“圈数×20克”系数标定并按脉冲数控制出粮,实测一致性误差<5%;④网络可靠性——将定时任务固化为本地RTC+Flash执行,云端仅作远程增强通道,断网时喂食计划照常执行不中断。