告别宠物喂养焦虑: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中的方式参与项目贡献。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
请把这个活动推给顶尖程序员😎本次活动专为懂行的顶尖程序员量身打造,聚焦AtomGit首发开源模型的实际应用与深度测评,拒绝大众化浅层体验,邀请具备扎实技术功底、开源经验或模型测评能力的顶尖开发者,深度参与模型体验、性能测评,通过发布技术帖子、提交测评报告、上传实践项目成果等形式,挖掘模型核心价值,共建AtomGit开源模型生态,彰显顶尖程序员的技术洞察力与实践能力。00
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
MiniMax-M2.5MiniMax-M2.5开源模型,经数十万复杂环境强化训练,在代码生成、工具调用、办公自动化等经济价值任务中表现卓越。SWE-Bench Verified得分80.2%,Multi-SWE-Bench达51.3%,BrowseComp获76.3%。推理速度比M2.1快37%,与Claude Opus 4.6相当,每小时仅需0.3-1美元,成本仅为同类模型1/10-1/20,为智能应用开发提供高效经济选择。【此简介由AI生成】Python00
Qwen3.5Qwen3.5 昇腾 vLLM 部署教程。Qwen3.5 是 Qwen 系列最新的旗舰多模态模型,采用 MoE(混合专家)架构,在保持强大模型能力的同时显著降低了推理成本。00- RRing-2.5-1TRing-2.5-1T:全球首个基于混合线性注意力架构的开源万亿参数思考模型。Python00
