净水器是自己DIY的,插电启动,拔电停止,但是经常因为忘记拔电源导致水漫金山。正好最近闲来无事,DIY了一个水位监测sensor,集成到了HA中,实现每天定时启动,到达指定水位关闭。在此分享出来,提供给有需要的人。
所需材料
- esp01s + relay 模块
- 5v充电头
- 水位sensor
- 防水盒
- 线控开关
- 废弃的数据线剥皮待用。
制作过程
esp01s 烧录tasmota固件。这里串口工具用的是CH340。
打开https://tasmota.github.io/install/这个页面,选择Tasmota CN,后面设备选择ESP8266。
点击连接后会让你选择串口工具,选取对应的串口工具后点击连接。
选择INSTALL。
勾选擦除设备。
烧写中。
完成。
重启设备进入配置页面。
配置wifi。
配置成功。
进入管理页面。
进入模块设置,配置gpio0控制继电器,gpio3(RX)为水位监测io。
保存重启后进入控制台,输入SwitchMode 3 这是按压模式,按下开关触发,抬起开关没有动作。
在这里简单介绍一下水位sensor的工作原理,sensor检测到有水低电平,无水高电平,为了防止水位下降后又触发继电器工作,这里设置按压模式。
进入其他设置,配置模板名称和设备名称,方便HA显示。
如果使用MQTT协议,如下配置:(mqtt服务器如何搭建这里就不细说了)
到这里esp01s固件配置完成。接下来就是手工活了。
拆卸5v电源,焊接好220v输入和5v输出。注意!这里操作AC有一定的危险性,没有电工基础的人不要尝试。
下面焊接 relay模块。
引出控制开关(gpio3,地线)
连接sensor(5v,地线,gpio3)请无视我的焊工。
装入盒中。
连接外围线路,我这里用了一个插头延长线。
线控开关这里需要改装一下,改成灵动模式,忘记拍照片了就不上图了。改造很简单,拧下中间的接线柱,用小螺丝刀就能拆卸船型开关了,找一个吸管剪下一节垫到里边阻止它按下去就可以了。
成品图如下:
测试一下,发现水位sensor不起作用,排查了一圈发现是线控开关的问题。开关默认闭合状态,按下才是断开,导致gpio3一直处于低电平。
改造如下:(如果你的开关跟我是反的,也就是默认断开,那到此就结束了,下面可以不用看。)
引入gpio1(TX),让gpio1接收sensor信号,gpio3连接开关。
对应固件配置如下:(button_i 这里i的意思是inverted,高电平有效)
最后配置HA,在设备与服务里添加MQTT,并配置服务器。
同样的方式安装Tasmota集成。
这样在你配置完设备后tasmota就会自动发现并添加设备。
大功告成,安装完成图:
最后在HA里开启自动化,每天6:00自动开启,到达水位线停止。
接受坛友的建议,增加超时自动关闭任务。
本帖到此结束。