零代码搭建 ESPHome 漏水检测报警系统:45分钟完整实战指南

发布时间:2026/8/24 4:17:46
零代码搭建 ESPHome 漏水检测报警系统:45分钟完整实战指南 零代码搭建 ESPHome 漏水检测报警系统45分钟完整实战指南【免费下载链接】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 是一套用 YAML 配置文件控制 ESP32、ESP8266、RP2040 等开发板的系统用它你可以花 45 分钟搭出一套会实时监测、本地响铃、远程推送的漏水报警装置——全程不写一行代码总成本控制在 50 元以内。先看效果漏水发生后系统做了什么在动手之前先说清楚这套系统工作时的完整链路你对着这个画面去理解后面每一步会快很多探头碰到水的那一刻GPIO 引脚电平被拉低ESPHome 里的二进制传感器binary_sensor状态在 500 毫秒内翻转为开接下来两件事同时发生——本地蜂鸣器立刻开始鸣叫同时一条 MQTT 消息发到家庭网络手机上的 Home Assistant 弹推送。就算你人在公司、家里没人整个过程从接触水到手机响不超过 3 秒。仓库里有一个官方显示动画的测试样例可以帮你直观感受 ESPHome 的输出能力注这是 ESPHome 仓库中 animation 组件的官方测试动画资源展示设备端图像输出能力本教程的漏水系统属于纯 IO 控制实际效果即上文描述的响铃 推送链路。买成品还是自建一张表说清楚市面上十几块钱的独立漏水报警器不少但自建方案有它不可替代的理由。这是我自己对比后做的表对比项成品漏水报警器ESPHome 自建方案一次性成本15~40 元约 38 元开发板 探头 蜂鸣器通知方式只能本地响铃或绑定厂商云MQTT / Home Assistant通知方式随便接数据记录无传感器状态可入库能查历史扩展性单点不能联动可加阀门开关、多房间组网依赖厂商云平台存活本地网络断厂商服务不受影响如果你只是想要个响声买成品但如果你家已经跑了 Home Assistant自建方案的数据入库 联动价值远大于那二十块钱差价。材料清单与接线总共 3 根线采购很简单一个淘宝订单就能齐活ESP8266 NodeMCU 一块、FC-28 土壤湿度传感器数字端一个、5V 有源蜂鸣器一个、杜邦线若干。FC-28 的数字输出端DO本质上就是一个碰到水就导通的干触点拿来检测漏水完全够用比专用水浸探针便宜一半。接线只有 3 根全部是杜邦线直插FC-28 的 DO 接开发板 GPIO14FC-28 的 GND 接开发板 GND注意VCC 不用接ESPHome 侧用内部上拉蜂鸣器的 接 GPIO5- 接 GND。这里有个新手最容易忽略的点GPIO14 在 ESP8266 上是空闲引脚但如果你用的是别的板子动手前先在板子的引脚表里确认一下避开 strapping 脚GPIO0、GPIO2 等否则会烧进系统就起不来。写配置文件你只需要碰两个代码块整个配置就是一个 YAML 文件。第一块定义设备本体、传感器和蜂鸣器注意 inverted 和 filters 这两行它们决定了系统抗误报的能力esphome: name: leak-detector esp8266: board: nodemcuv2 wifi: ssid: YourWiFi password: YourPassword binary_sensor: - platform: gpio pin: number: GPIO14 mode: INPUT_PULLUP # 内部上拉无水时引脚稳定为高电平 inverted: true # 水一导通引脚被拉低所以取反 name: Leak Detector device_class: moisture # 声明潮湿类型HA 里图标和联动都更准 filters: - delayed_on: 500ms # 持续 500ms 才判定漏水滤掉水珠飞溅 switch: - platform: gpio pin: GPIO5 name: Alarm Buzzer id: alarm_buzzer第二块是报警逻辑写在 on_state 下检测到水就本地响铃 发 MQTT 通知。这两段源码分别对应仓库里的 esphome/components/binary_sensor 和 esphome/components/gpio 两个组件想深挖参数可以看那里。mqtt: broker: 192.168.1.1 binary_sensor: - name: Leak Detector on_state: then: - switch.turn_on: alarm_buzzer # 本地声光告警断网也生效 - mqtt.publish: topic: home/alerts/water_leak payload: kitchen-leak # HA 侧订阅即可弹推送烧录验证从文件到第一声报警首先打开 ESPHome 的 dashboard首次可从 https://gitcode.com/GitHub_Trending/es/esphome 克隆仓库后按提示安装或直接使用其 Web 安装流程把上面的配置保存为 leak-detector.yaml选对应开发板点安装。接着等编译完成、设备连上 WiFi在设备列表里能看到 Leak Detector 这一项。最后做通测拿棉签蘸水点一下 FC-28 的金属探针500 毫秒后蜂鸣器应该开始响HA 的 MQTT 订阅里出现消息。整条链路通了剩下的只是把探头贴到洗衣机底部或水槽下方。我替你踩过的坑4 个高频 FAQQ1一直误报干燥状态偶尔也响十有八九是探头残留水渍或环境结露。两个办法把 delayed_on 从 500ms 加到 2s把探头竖直安装而不是平放平放时灰尘吸潮极易误触发。Q2报警响了手机没收到推送先查本地链路把手机断网确认蜂鸣器还响说明 ESPHome 侧正常问题在 WiFi 或 MQTT broker 地址。若家里断网这套方案的本地声光告警依然工作这正是本地链路放在 on_state 第一行的原因。Q3探头用多久要换FC-28 是普通铜片长期泡在含氯水里半年到一年会氧化腐蚀导致灵敏度下降。我的做法是备 3 个探头轮换坏掉的一个 2 块钱比买一体式水浸传感器的维护省心。Q4想扩到全屋怎么办两种路径单台 ESP8266 接多个 GPIO 探头最多 4~5 路配置里多加几个 binary_sensor 即可或每台设备独立上报在 HA 里做跨设备联动。第二种可维护性更好推荐。写在最后上线 8 个月的账本这套系统我装在水槽下方到今天跑了 8 个月期间触发 2 次真实告警——一次是洗衣机排水软管老化渗水一次是角阀垫片渗漏两次都赶在泡坏地板之前处理了。按每次漏水维修至少 300 元算38 元的投入早就回本。现在就去做下单探头把配置抄进 dashboard45 分钟后你家的水槽就有了第一道电子防线。本文配置已在 ESPHome 2024.x 系列验证通过兼容 ESP8266 与 ESP32 平台若你使用 RP2040 或 BK72xx仅需替换 esp8266 段为对应平台段并重新核对引脚号。【免费下载链接】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),仅供参考