树莓派智能家居homeassistant之用esphome制作零火智能开关篇
商业化的智能开关,可以同时用实体开关和app来控制灯的亮灭,而且状态实时同步。由此也埋下了自己DIY智能开关的种子,但一时间不知道如何实现,暂且搁置。后来在读esphome官方文档自动话章节的时候,开篇举的例子正式智能开关,链接在此https://www.esphome.io/guides/automations.html?highlight=auto
大体的原理是:一个gpio虚拟成二进制传感器,一个gpio来控制继电器。当这个二进制传感器触发的时候,开关的开与闭合也发生变化。
因为esp01s的小巧,所以下面是用esp01s继电器来实现的,esp01s的gpio2作为二进制传感器,gpio0来控制继电器。gpio2接的是回弹式开关,当开关按下回弹的时候,联动gpio0控制继电器,进而控制灯泡。
下面就来介绍如何制作。
一,需要的材料:
esp01s继电器一个esp01s一个若干导线10k电阻一个热缩管5V降压模块二,将模块连接起来,根据下面的图连接。
1,首先把5v降压模块焊上导线
2,在esp01s继电器背部,焊上电阻以及用于接回弹式开关的导线。
3,用导线5v电压模块的正负极连接esp01s继电器的正负极用于给它供电。另找两根导线分别接esp01s继电器的NO和COM口来控制灯的亮灭。
4,用esphome编译固件,yaml代码如下:
可以在esohome中随便建立一个节点,把里面的内容全部替换成下面的代码,最后只更改wifi名称和密码就可以了。
esphome:name:wireless_switch05platform:ESP8266board:esp01_1mwifi:networks:ssid:"just_do_it"#改成你的wifi名称password:"116116116"#改成你的wifi密码#manual_ip:#static_ip:192.168.2.188#gateway:192.168.2.1#subnet:255.255.255.0#Enablefallbackhotspot(captiveportal)incasewificonnectionfailsap:ssid:"WS05FallbackHotspot"#当esp01s连不上网的时候,它会自动发出热点。password:"12345678"captive_portal:#Enablelogginglogger:#EnableHomeAssistantAPIapi:password:"1"ota:password:"1"web_server:port:80switch:-platform:gpiopin:GPIO0name:"wireless05_switch"id:relay2binary_sensor:-platform:gpiopin:GPIO2name:"press_switch05"device_class:openingfilters:-delayed_on_off:100ms#这里一定要加这个这个起到滤波的作用。on_press:#当这个二进制传感器触发的时候,触发gpio0then:-switch.toggle:relay25,编译下载固件,然后把esp01s插到下载器上,下载器插到电脑上用esphome_flasher来烧录固件。
6,把esp01s插入到esp01s继电器上,套上热缩管,用热风枪烤一下。接上接线端子,就完成了。
如果嫌麻烦这里有做好的成品,想自己DIY的话也有散件^_^
淘宝店铺:尚恩树莓派电子
https://item.taobao.com/item.htm?spm=a230r.1.14.276.7d4a7c24KqZmZl&id=627812204172&ns=1&abbucket=19#detail