折腾了那么久的家居智能,前后用过小米的wifi开关,控客的小K系列,不知名的智能插座,以及廉价版的Sonoff等等,前阵子捣鼓esphome,总结出一套性价比非常高的wifi开关方案。
一句话就是通过ESP-01S,烧ESPHOME固件来控制继电器开关。
看看下面主要设备ESP-01S的价格:
再加上220v-3.3v的电源隔离开关以及继电器,成本控制在15元应该不是问题,这样就适合大规模的改装了。
如果改装的是已经有3.3v电源,或者不需要继电器,可以gpio直接控制的设备,那么一个esp-01s就足以撑起整个改装,成本就是6.4元。
分析了成本和方案,接下来要讲讲技术活了。
▍ESP-01与ESP-01S的区别
ESP01-S实际上是大名鼎鼎的ESP8266的简配版,Sonoff开关用的就是这款芯片。
淘宝搜索的话,还会发现有esp-01和esp-01s两种型号,具体区别如下:
外观区别1:ESP8266-01S天线区域右下角只有一个指示灯,ESP8266-01天线区域右下角有两个指示灯。
外观区别2:ESP8266-01S背面有引脚说明,ESP8266-01背面有没有引脚说明。
内部区别:ESP8266-01S内部电路相对应ESP8266-01做了优化,使用建议大家购买的时候买ESP8266-01S
▍ESP-01S接线
可以看到,esp01-s在烧写程序的时候,需要将gpio0接地,ch-pd拉高,烧写完以后,再恢复正常使用。这点比直接用Sonoff开关麻烦。
同时因为有两个gpio可以使用,理论上也可以接两个继电器,做成一个双模的wifi开关。
▍ESPHOME控制代码
最后再上一段esphome中的代码,实现了定时开启关闭和button控制继电器的功能。
关于什么是ESPHOME,以及如何详细使用,可以前往官网查看:
https://esphome.io/
esphome:
name: esp01s_1
platform: ESP8266
board: esp01_1m
wifi:
"你的wifi ssid" :
"你的wifi密码" :
api:
logger:
ota:
#设置定时开启和关闭
time:
platform: homeassistant
on_time:
# Every time on weekdays and weekends
seconds: 0
minutes: 0
hours: 0
days_of_week: MON-SUN
then:
switch.turn_on: relay
seconds: 0
minutes: 0
hours: 4
days_of_week: MON-SUN
then:
switch.turn_off: my_switch
#按键
binary_sensor:
platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Sonoff Basic Button"
on_press:
switch.toggle: my_switch
switch:
platform: gpio
name: "Sonoff Basic Relay"
GPIO2 :
id: my_switch
status_led:
pin:
number: GPIO13
inverted: yes
✄——————————————————–