告别宠物喂养焦虑:ESPHome打造智能定时定量喂食器
你是否也曾经历过出差时担心宠物饿肚子,或是因加班晚归让毛孩子饥肠辘辘地等待?传统喂食器要么无法精准控制食量导致宠物肥胖,要么需要手动操作难以坚持规律喂养。本文将带你用ESPHome构建一套成本不到200元的智能喂食系统,通过简单配置实现定时定量喂食,让你的宠物随时享受科学喂养。
系统架构与核心组件
智能喂食器主要由四个功能模块组成,通过ESPHome的配置文件将它们无缝集成:
- 驱动模块:采用A4988步进电机驱动esphome/components/a4988/stepper.py,精确控制螺旋送料器的旋转角度
- 定时模块:使用ESPHome的时间组件esphome/components/time/init.py,支持CRON表达式设置喂食计划
- 计量模块:通过HX711称重传感器esphome/components/hx711/sensor.py实现食物重量监测
- 控制核心:ESP32/ESP8266开发板,推荐使用带电源管理的M5Stack Timer Camesphome/components/esp32/boards.py
硬件连接指南
按照以下接线图连接各组件,注意步进电机和HX711传感器的电源需要独立供电:
| 组件 | ESP32引脚 | 说明 |
|---|---|---|
| A4988 STEP | GPIO26 | 步进脉冲信号 |
| A4988 DIR | GPIO27 | 方向控制信号 |
| A4988 EN | GPIO14 | 使能信号(低电平有效) |
| HX711 DOUT | GPIO19 | 数据输出 |
| HX711 SCK | GPIO18 | 时钟信号 |
| 限位开关 | GPIO4 | 送料器复位检测 |
步进电机驱动配置示例:
stepper:
- platform: a4988
id: feed_stepper
step_pin: GPIO26
dir_pin: GPIO27
enable_pin: GPIO14
step_distance: 0.01mm
max_speed: 200.0mm/s
acceleration: 50.0mm/s²
deceleration: 50.0mm/s²
称重传感器校准
HX711传感器需要通过以下步骤进行校准,确保喂食量精确到±2g:
- 空载校准:在传感器上无任何物品时,记录原始读数
- 负载校准:放置已知重量(如100g)的标准砝码,计算校准系数
sensor:
- platform: hx711
id: food_scale
dout_pin: GPIO19
clk_pin: GPIO18
gain: 128
update_interval: 1s
unit_of_measurement: g
accuracy_decimals: 1
filters:
- calibrate_linear:
- 0.0 -> 0.0
- 23456 -> 100.0 # 根据实际校准结果调整
智能喂食逻辑实现
核心喂食流程通过ESPHome的自动化规则实现,包含定时触发、重量监测和异常处理:
automation:
- alias: "Morning feeding"
trigger:
platform: time
at: "08:00:00"
action:
- service: stepper.set_target
data:
id: feed_stepper
target: 360 # 旋转一圈送料
- delay: 2s
- if:
condition:
sensor.in_range:
id: food_scale
below: 50.0
then:
- logger.log: "Food bowl is empty!"
- homeassistant.service:
service: notify.mobile_app_my_phone
data:
message: "Pet feeder is empty"
时间控制支持复杂的CRON表达式,例如设置工作日7点喂食:
trigger:
platform: time
cron: "0 7 * * MON-FRI"
高级功能扩展
远程监控与控制
通过ESPHome的Web服务器组件esphome/components/web_server/init.py,可以实现网页端实时监控和手动喂食:
web_server:
port: 80
auth:
username: petfeeder
password: !secret feeder_password
button:
- platform: template
name: "Manual Feed"
on_press:
- service: stepper.set_target
data:
id: feed_stepper
target: 180 # 半圈送料
喂食记录与统计
使用ESPHome的文本传感器组件esphome/components/text_sensor/init.py记录喂食历史:
text_sensor:
- platform: template
name: "Last Fed"
id: last_fed
icon: mdi:clock
automation:
- trigger:
platform: time
at: "08:00:00"
then:
- text_sensor.template.publish:
id: last_fed
state: !lambda 'return id(time).now().strftime("%Y-%m-%d %H:%M");'
安装与调试
- 首先克隆项目仓库:
git clone https://gitcode.com/GitHub_Trending/es/esphome
cd esphome
-
创建设备配置文件,参考示例配置tests/test_packages/test_uptime_sensor.yaml
-
使用ESPHome命令行工具编译上传:
esphome run pet_feeder.yaml
- 调试建议:
- 先测试各模块单独工作是否正常
- 使用日志组件esphome/components/logger/init.py输出调试信息
- 逐步增加自动化规则复杂度
总结与展望
本项目展示了如何利用ESPHome构建功能完善的智能宠物喂食器,通过组合不同组件实现了定时定量、称重监测、远程控制等核心功能。系统具有以下优势:
- 低成本:核心组件总成本低于200元
- 易扩展:可添加摄像头esphome/components/camera/init.py实现宠物行为监控
- 稳定可靠:基于ESPHome成熟框架,支持OTA更新esphome/components/ota/init.py
未来可以添加AI宠物行为识别,通过分析进食情况判断宠物健康状态,或集成语音识别实现声控喂食。
项目完整代码可在esphome/components/demo/init.py中找到参考示例,更多使用技巧请查阅README.md。如果您有任何改进建议,欢迎通过CONTRIBUTING.md中的方式参与项目贡献。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
