ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ESPHome 智能喂食器搭建指南:定时喂食 + 定量称重,一套能用的完整方案

ESPHome 智能喂食器搭建指南:定时喂食 + 定量称重,一套能用的完整方案 ESPHome 智能喂食器搭建指南定时喂食 定量称重一套能用的完整方案【免费下载链接】esphomeESPHome is a system to control your ESP32, ESP8266, BK72xx, RP2040 by simple yet powerful configuration files and control them remotely through Home Automation systems.项目地址: https://gitcode.com/GitHub_Trending/es/esphome凌晨下班到家猫正蹲在空食盆前。这种忘喂场景用 ESPHome 做一套智能喂食器就能彻底解决CRON 表达式决定什么时候喂步进电机决定喂多少HX711 称重传感器负责核对食盆里的存量。全部逻辑写在一个 YAML 文件里硬件总成本控制在 200 元以内。先列清单ESPHome 喂食器的 BOM 与引脚规划 核心是一块 ESP32 开发板加三个外设引脚规划如下表。GPIO 可自由分配但建议先把分配定死再照着接线组件引脚作用A4988 STEPGPIO26电机脉冲A4988 DIRGPIO27转向A4988 ENGPIO14使能低电平有效HX711 DOUTGPIO19称重数据HX711 SCKGPIO18时钟限位开关GPIO4送料螺杆回零检测两个容易踩的坑电机驱动和称重模块要分开供电电机启动瞬间电流大混用电源会让重量读数乱跳所有地线不要手拉手串联统一并接回 ESP32 的 GND。ESPHome 基础配置时间源、日志与首次编译 接线完成后基础配置只需要先跑通三件事板型、日志、时间源。其中时间源最关键——不接时间后面所有 CRON 定时都没有依据。用 SNTP 从网络对时即可省掉一个 RTC 模块esphome: name: pet-feeder logger: time: - platform: sntp id: feed_clock timezone: Asia/Shanghai上传靠一条命令搞定以后每次改配置都是同样的方式不再需要动串口线git clone https://gitcode.com/GitHub_Trending/es/esphome esphome run feeder.yamlESP32 步进电机控制与 HX711 称重传感器校准步骤步进电机部分的关键是step_distance它定义一步等于多少物理量之后所有target都用同一单位表达喂食量才可复现。stepper: - platform: a4988 name: feed_stepper step_pin: GPIO26 dir_pin: GPIO27 enable_pin: GPIO14 step_distance: 1.0 # 一步 1 个单位距离 max_speed: 5.0 acceleration: 10.0称重端才是校准的核心HX711 输出的是 ADC 原始码需要靠calibrate_linear过滤器把零码和已知重量两组实测值映射成克数。做法是空盘记一次原始读数再放上 100g 砝码记一次把两组数填进去sensor: - platform: hx711 name: 食盆重量 id: bowl_weight dout_pin: GPIO19 clk_pin: GPIO18 gain: 128 update_interval: 2s filters: - calibrate_linear: - 0 - 0 # 空盘原始码 - 23000 - 100 # 100g 砝码原始码以实测为准容易踩的一个坑该芯片每 80ms 才出一次新读数update_interval设成 1s 时数据会抖实测 2s 起步更稳。完整实现可以看 esphome/components/hx711/。用 CRON 表达式设计喂食计划ESPHome 定时喂食配置 ⚙️定时器和日程表的差别在 CRON。时间组件的触发器支持从秒到星期的六段表达式一条规则就能描述工作日早上七点喂晚上再补一顿automation: - alias: 工作日喂食 trigger: platform: time time_id: feed_clock cron: seconds: 0 minutes: 0 hours: 7 days_of_week: MON-FRI then: - stepper.set_target: id: feed_stepper target: 100 # 100 个单位实测约对应 40g 粮设计思路一句话触发器只管何时动作只管喂多少两者互不侵入。猫最近吃得少只改 hours 或 target 即可电机参数不用动。后续要加规则空盆告警、深夜加餐也是并列再写一条 automation复用同一套 id。表达式的具体语法规则可参考 esphome/components/time/。进阶玩法远程手动喂食与 OTA 升级流程 人在外面想给猫加餐不用拔线——给配置加上web_server和一个模板按钮设备网页里就出现手动喂食入口web_server: port: 80 button: - platform: template name: 手动喂食 on_press: - stepper.set_target: id: feed_stepper target: 50升级侧只要保留 ota 平台改完配置执行esphome run新固件推上去、设备自动重启加载全程不到一分钟。后续还可以接一路摄像头看猫的进食状态或者加个文本传感器记录食盆余量曲线。细节见 esphome/components/web_server/ 与 esphome/components/ota/。排错清单喂食器不动、读数乱时先查这几处电机上电不转先确认 EN 没有悬空A4988 使能低电平有效必须在配置里明确指定 GPIO重量严重不准十有八九是供电问题电机与称重分开供电或把gain降到 64 重新校准定时不触发先核对设备当前时间SNTP 没同步时所有 CRON 都会跑偏动作顺序不对重量核对要放在delay之后给落粮留出时间。调试时把logger临时开到 debug 等级是最快的路日志里先确认触发器有没有 fire再确认动作有没有执行两步就能把问题范围缩到最小。更多组件用法与完整配置参考见仓库根目录的 README 与 esphome/components/ 下的各组件源码。【免费下载链接】esphomeESPHome is a system to control your ESP32, ESP8266, BK72xx, RP2040 by simple yet powerful configuration files and control them remotely through Home Automation systems.项目地址: https://gitcode.com/GitHub_Trending/es/esphome创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表