模块
- 刷某宝的时候看到esp-01s+配套的继电器模块,就下单了,想买来玩玩
- 发现少了个刷写工具后又买了个配套的刷写工具
- 然后还买了ac220v转dc5v的模块,继电器需要5v供电(有的3v)
它们长这样
关于esp-01s模块
- esp-01s模块是安信可的,用的是esp8266EX的芯片,没带3.3v稳压芯片,也没串口芯片,比较小巧
- 价格很便宜,5元包邮,除了一个esp8285,还没找到更便宜的wif模块
- 搭配的下载器刷写很方便,下载器有自动下载电路,也不需要杜邦线,杜邦线太容易松了
- 但它只有两个可怜的IO口,一个IO(io2)接了个led,一个(io0)就是用来控制继电器了
关于继电器模块(realy)
翻到背面,继电器模块有5个引出的口
- 左边VCC、GND是继点器的5v供电
- 右边NC、COM、NO分别是继电器的常闭、公共端、常开,用来控制高电压设备的通断。
- 这里只用了公共端(COM)和常开(NO),向IO0写入低电平时,常开(NO)闭合,NO和COM导通,设备就通电了
代码
代码上传gitee
https://gitee.com/ccdd8899/esp8266_relay
有了esp-01s后开始写代码,环境是windows+vscode+PlatformIO+arduino框架
- 开始想写一个简单的可以每日定时开关的程序,并通过web控制
- 然后参考了其他智能插座的定时任务,又加了循环开关和倒计时两个模式
- 最后再加了个web配网功能
代码写了好几天,web页面都是用的ajax,暂时没有接入物联网平台,通过本地网络web控制,手机上控制也感觉很方便。
实现的功能
- 可通过ntp同步网络时间
- 可通过web控制继电器开关,并实现了三个简单的定时任务模式,每日定时开关、循环开关、一次性倒计时,web页都是异步实现
- 可通过web配网,配网时可扫描wifi。开启时会尝试sta模式3次连接wifi,连不上则启动sta_ap模式
- web配置的数据可以保存在芯片中
接线
- 代码写好测试没问题后,我想通过它控制设备开关,但最好通过一个插座来控制设备。
- 我又找了一个闲置了很久的插座改装了一下,把插座、继电器、ac220vto5v模块的线接起来。
- 线连起来后,感觉220v的电压有些危险,我把插座插头接在一个带有短路会自动断开的插座上测试。开启电源,灯亮了,通过web可以控制插座,没有问题。
效果
控制3秒开3秒关(普通继电器只有十万次的吸合寿命,最好不要长时间频繁开关)
插座的灯视频上拍出来会闪, 但实际没闪
======================================
接入了免费的Blinker和巴法云
======================================
补充接线方式
转换模块的线要用烙铁焊接才好接
零火判断(这里用火线控制开关,安全些,虽然反过来也能用,但这样插座关闭的时候也会带电),线剪开后,万用表测一下哪端与哪端相连
- 转换模块粗的两个点是220v供电输入,细的两个点是5v输出
- 继电器5v供电vcc接vcc,gnd接gnd即可
- 220v供电的一端(火线)接到转换模块(L端)且同时接到继电器的COM,再从NO出,再连插座的火线
- 220v供电的另一端(零线)接到转换模块的另一端(N),同时接到插座的另一端(零线)
- 220v供电如果有地线直接连插座的地线
- 白色和红色220v线是从另外的电源线剪的,5v线用的杜邦线
接线图,暴露的触点用绝缘胶包起来,转换模块最好也把它包起来。线不是很粗就最好不要带大功率设备
用个盒子装了起来