ESPHome 控制电磁阀完整教程30 行 YAML 让水阀气阀听懂你的命令【免费下载链接】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/esphomeESPHome 控制电磁阀这件事核心就是一份 YAML 配置 一块开发板 一个继电器。装上 ESPHome 后ESP32、ESP8266 这类小板子会变成一个能连 WiFi 的开关控制器你在手机上点一下阀门就动。本教程面向没写过代码的新手照抄配置就能让第一只电磁阀转起来。它能为我做什么 手机远程开合水阀、气阀、油泵不必跑回现场定时浇水、超时自动关断这类逻辑纯配置就能实现断电重启后记住阀门状态不会一上电就漏多路阀门互锁避免水和气同时被打开动手前清单硬件电压要对得上这是新手翻车重灾区ESP32 或 ESP8266 开发板各一带 WiFi 即可单路 5V 继电器模块常见型号 SRD-05VDC-SL-C它负责用小信号去合上大电流回路电磁阀12V 直流款最常见继电器触点通的是电源回路不是 ESP32 的 5V杜邦线若干、匹配电磁阀的电源适配器软件与前置条件Python 3 以上以及 ESPHome 本体pip install esphome装好一台能访问设备所在 WiFi 的电脑Home Assistant可选装了就能用手机远程点按不装也能用设备自带的网页控制台接线按这个关系来继电器夹在中间当传话的ESP32 继电器模块 电磁阀 GPIO4 ----- IN 5V ----- VCC GND ----- GND COM ----- 电源正极 NO ----- 电磁阀正极 GND ----- 电源负极、电磁阀负极记住一句话ESP32 只负责喊话真正推杆的是独立电源。跟着做完成第一次控制第 1 步装好 ESPHome确认可用做什么安装工具链并验证。 关键操作执行pip install esphome再运行esphome version。 判断成功能打印出版本号说明编译、烧录环境就绪。第 2 步写好最小配置做什么新建valve_ctrl.yaml只写必需的块。esphome: name: valve-ctrl esp32: board: nodemcu-32s # 换成你的板型 wifi: ssid: 你的WiFi名 password: 你的WiFi密码 api: # 接入 Home Assistant ota: switch: - platform: gpio name: 水阀 pin: GPIO4 # 继电器 IN 接哪个脚就写哪个 id: water_valve restore_mode: RESTORE_DEFAULT_OFF判断成功esphome config valve_ctrl.yaml输出config seems ok。GPIO4 只是示例和你实际接线保持一致即可。第 3 步编译并烧录做什么一条命令完成编译、上传、重启。 关键操作esphome run valve_ctrl.yaml全程等它自己走完。 判断成功日志里出现switch.gpio的引脚信息且设备重新出现在 WiFi 列表中。第 4 步第一次开阀做什么从 Home Assistant或设备网页控制台点一下水阀。 关键操作点开后立刻观察继电器再观察阀门。 判断成功继电器咔哒吸合阀门通电动作界面状态同步变绿——这一步通了剩下的全是加功能。想核对底层行为可以看 GPIO 开关实现源码开阀时它做的就是一次引脚电平翻转。玩出更多花样浇 30 秒水到点自己关加一个script脚本比定时更灵活还能中途停。script: - id: water_30s mode: single then: - switch.turn_on: water_valve - delay: 30s - switch.turn_off: water_valve水气互锁防止同时开GPIO 开关自带interlock参数开一个时自动先把另一个关掉逻辑就写在 开关组件里switch: - platform: gpio name: 气阀 pin: GPIO5 id: gas_valve interlock: [water_valve] # 互锁对象填对方 id想要开、关、停三态如果你的阀门是带位置控制的慢速阀别用 switch改用 ESPHome 的 valve 组件如platform: template它原生支持开到某个百分比、中途急停语义比开关精确得多。加个到位检测阀门上装限位开关配一个binary_sensordevice_class: openingon_press里执行script.stop就能到点即停、到位也停双保险。卡住了按这个顺序排查1. 点开关没反应继电器不吸合现象界面状态变了硬件没动静。 原因pin 写错、继电器模块没上电或 IN 脚悬空。 解决先确认 IN 到 GND 的杜邦线都插紧模块 VCC 有电再对照接线把配置里的 pin 改成实际引脚重烧一次。2. 继电器吸合了阀却不动现象咔哒声有了杆不动。 原因供电功率不够——很多人用 ESP32 的 5V 口去带 12V 阀门。 解决给电磁阀单独接电源适配器继电器只串信号回路。3. 重启后阀门状态不对现象断电前开着重启后自己开了或关了。 原因没配restore_mode默认行为不可控。 解决按安全需求写RESTORE_DEFAULT_OFF默认关最稳或RESTORE_INVERTED_DEFAULT。4. 配置改完设备没变化现象改了 YAML设备还是老样子。 原因只跑了esphome config它只检查语法不烧录。 解决改配置后必须esphome run重新编译上传。5. 远程点按有延迟现象手机点了要等一两秒才动。 原因多为设备到路由器信号差重传导致。 解决把设备挪近路由器测一次确认能稳定联网后延迟基本就只剩网络往返了。写在最后到这里你已经拥有一台手机说了算的阀门控制器基础控制靠switch安全逻辑靠interlock和限位反馈进阶三态交给valve组件。下一步建议先在水路上试跑一周确认稳定了再考虑接到气路上。有踩到别的坑欢迎贴出来一起交流。【免费下载链接】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),仅供参考