在日常使用Home Assistant管理自动灌溉系统时,你是否也遇到过一些令人头疼的问题?例如,水泵因为软管微小的渗漏就触发泄漏保护停机;或者预过滤器堵塞导致系统无法建立足够压力;又或者是圆盘过滤器堵塞,使得出水口压力不足,影响灌溉效果。
为了解决这些问题,一位DIY玩家充分利用了Rain Bird圆盘过滤器上预留的两个压力接口,设计了一套巧妙的一体化监测方案——同时监测过滤器入口和出口的压力。这样一来:
- 入口压力异常 → 可以推断水泵或前置预过滤器出现问题;
- 入口压力正常但出口压力低 → 基本可以锁定是圆盘过滤器本身堵塞了;
- 将这些压力数据,尤其是两者之间的差值,集成到Home Assistant后,就能轻松设置告警,甚至实现自动复位的逻辑。

01 项目亮点
这个项目的核心亮点在于其精准的诊断思路和高性价比的实现方案:
- 双点测压,差压诊断:在同一节点上监控“入口/出口”两路压力,通过计算差值,一眼就能判断系统是否存在堵塞。
- 低成本硬件组合:核心硬件仅需D1 mini(ESP8266)、一个外置ADC(ADS1115)和两只0–10 bar量程的压力传感器。
- ESPHome 原生生态支持:通过I²C接入传感器,内置线性标定、中值滤波、变化阈值(Δ)上报等功能,配置完成后可直接无缝接入Home Assistant,极大简化了运维复杂度。
- 可选现场显示:支持即插即用的0.96英寸OLED屏幕,方便在现场直接查看读数,无需连接手机或电脑。
- 完善的工程细节:考虑了G1/4螺纹角接头侧向安装、特氟龙带密封、220V交流转5V直流独立供电等安全与可靠性设计。

02 核心硬件清单
- 主控芯片:WeMos D1 mini(基于ESP8266)
- 压力传感器:WNK83MA ×2(5V供电,0–10 bar量程,G1/4英寸外螺纹)
- 模数转换器(ADC):ADS1115(I²C接口,支持4路差分或单端输入)
- 显示模块(可选):0.96英寸OLED显示屏(驱动芯片为SSD1306)
- 电源模块:220V交流转5V直流小型隔离电源模块

03 方案要点与电气设计思路
- 为何使用外置ADC?
ESP8266芯片自带的ADC通道有限,且精度和抗干扰能力一般。而像ADS1115这类专业ADC芯片,通过I²C总线仅占用2个GPIO引脚,就能扩展出4路高精度模拟量输入,性价比极高。
- 量程与供电设计
选用的压力传感器在10 bar满量程时输出0.5–4.5 V电压。为了省去额外的电平转换电路,方案让ADS1115工作在3.3V电压下(其输入电压上限约为VDD+0.3V≈3.6V)。考虑到系统正常工作压力通常在4.5–5 bar左右,对应的传感器输出电压估算不超过2.25 V,完全落在安全范围内。
- 工作原理
对入口和出口两路绝对压力进行同步采样,然后计算两者的差值(差压 = 入口压力 - 出口压力)。当圆盘过滤器开始堵塞时,流阻增大,出口压力下降,这个差压值就会显著升高,从而成为判断堵塞的关键指标。

04 软件栈与关键配置(ESPHome)
整个项目的软件核心是ESPHome配置文件,它定义了硬件如何工作以及如何与Home Assistant通信。
- 基础配置:启用API、OTA(无线升级)、日志和状态指示灯;配置I²C总线并挂载ADS1115设备;可选地启用OLED显示屏组件。
- 采样与滤波配置:
- 设置
gain: 4.096(对应满量程±4.096V,为实际电压留出充足余量)。
- 启用
median 中值滤波器,有效抑制采样数据中的偶然抖动和噪声。
- 设置
delta: 1% 变化上报阈值,只有传感器读数变化超过1%时才上报数据,避免网络和数据存储的冗余负载。
- 传感器标定:这是保证读数准确的关键。以花园水泵自带机械压力表作为参照,记录下多个稳定压力点对应的传感器输出电压,进行线性拟合,得到电压到压力(bar)的转换公式。
- Home Assistant集成:设备编译刷入后,在Home Assistant中通过ESPHome插件自动发现并添加。之后便可以在仪表盘中添加压力、差压的仪表盘或趋势曲线卡片,并基于差压阈值创建自动化,例如:“当差压持续超过1.0 bar时,向手机发送推送通知,提醒清洗过滤器”。

05 机械装配与防水细节
- 侧向安装:使用G1/4英寸90度内螺纹弯头,将压力传感器侧向安装在过滤器housing的背面,减少设备的整体突出体积,更美观且防撞。
- 可靠密封:在传感器螺纹、弯头螺纹以及与过滤器接口这三处,均沿螺纹旋紧方向缠绕3–4圈特氟龙生料带。对于此类塑料或铜质连接件,不建议使用麻丝,因为麻丝吸水后可能膨胀损坏部件。
- 布线供电:所有电路在万用板(perfboard)上集中焊接。220V转5V的电源模块单独固定,确保强电部分隔离安全。整个监测器作为独立模块,通过航空插头或防水接头与泵系统连接。




06 实测与标定方法
为了获得准确的读数,必须对传感器进行现场标定:
- 采集数据点:通过打开或关闭不同的灌溉支路,让系统在多个压力点(如2 bar, 3 bar, 4 bar等)稳定运行。
- 记录配对值:在每个稳定压力点,同时记录OLED屏幕(或ESPHome日志)上显示的传感器通道电压值,以及水泵上机械压力表的准确读数。
- 计算拟合参数:将多组(压力,电压)数据代入线性公式,计算出斜率和截距,并写入ESPHome配置的
calibrate_linear 中。
- 验证:在Home Assistant中观察压力历史曲线,并测试阈值告警是否与实际物理状态一致。
实测表明,所选压力传感器线性度良好,配合ESPHome的中值滤波与Δ阈值上报机制,数据上报非常稳定,有效噪声极少。





07 可扩展方向
这个基础框架具有很强的可扩展性:
- 叠加更多信号:可以增加流量传感器、水温传感器或水箱液位传感器,结合差压数据,构建更全面的故障诊断模型。
- 远程通信方案:如果花园距离家庭路由器太远,Wi-Fi信号弱,可以考虑改用LoRa或NB-IoT模块进行远距离数据回传。
- 维护管理友好化:在Home Assistant面板中加入“上次清洗时间”和“累计运行差压”等统计卡片,实现基于条件的智能维护提醒。
- 增强安全控制:增加干接点或继电器输出,直接联动水泵的电源保护或冲洗电磁阀,实现更高级的自动保护功能。
08 项目总结
这套 “双点测压 + 外置ADC + ESPHome” 的组合方案,成功地将灌溉系统中“看不见的堵塞与泄漏”问题,转化为了 “可视化的差压数据与即时告警” 。其硬件结构简单、成本可控,并且与Home Assistant的集成体验极其顺滑。无论是家庭花园灌溉、小型温室种植还是庭院水景维护,这套方案都值得借鉴和复用。如果你也在为类似的问题寻找解决方案,不妨试试这个思路,也欢迎在云栈社区分享你的DIY经验与改进。
|