用ESP8266和继电器模块制作智能插座并实现Web控制
用ESP8266和继电器模块制作智能插座并实现Web控制
本文将介绍如何使用ESP8266(ESP32)和继电器模块制作一个智能插座,并通过Web进行远程控制。这个项目不仅能够实现基本的开关控制,还支持定时任务和网络配对功能,非常适合电子爱好者DIY。
所需模块
在淘宝上发现了一款ESP-01S模块搭配继电器模块的组合,价格非常实惠,于是下单购买。后来发现缺少刷写工具,又额外购买了一个配套的刷写工具。此外,还需要一个AC220V转DC5V的电源模块,因为继电器需要5V供电(有的继电器也可以使用3V)。
关于ESP-01S模块
- ESP-01S模块采用安信可的ESP8266EX芯片,体积小巧,没有内置3.3V稳压芯片和串口芯片。
- 这是目前市面上最便宜的Wi-Fi模块之一,仅售5元包邮,性价比极高。
- 配套的下载器使用非常方便,具有自动下载电路,不需要使用杜邦线,避免了接触不良的问题。
- 该模块只有两个可用的IO口,其中一个(IO2)连接了一个LED指示灯,另一个(IO0)用于控制继电器。
关于继电器模块
继电器模块的背面有5个引出端口:
- 左侧的VCC和GND用于继电器的5V供电。
- 右侧的NC、COM、NO分别是继电器的常闭、公共端和常开触点,用于控制高电压设备的通断。
- 在这个项目中,我们只使用了公共端(COM)和常开(NO)触点。当向IO0写入低电平时,常开触点闭合,NO和COM导通,设备通电。
代码实现
项目代码已上传至Gitee仓库:https://gitee.com/ccdd8899/esp8266_relay
开发环境为Windows+VSCode+PlatformIO+Arduino框架。项目实现了以下功能:
基本控制与定时任务:最初的目标是实现一个简单的定时开关功能,并通过Web界面控制。后来增加了循环开关和倒计时两种模式,参考了其他智能插座的定时任务设计。
网络配对功能:增加了Web配网功能,支持扫描WiFi并尝试连接。如果三次连接失败,设备将启动AP模式。
数据保存:所有通过Web配置的数据都可以保存在ESP8266的芯片中。
接线与组装
在代码测试无误后,开始进行硬件组装。选择了一个闲置的插座作为控制对象,将插座、继电器和电源转换模块的线路连接起来。
为了安全起见,将插座插头连接到一个带有短路保护的插座上进行测试。开启电源后,LED灯亮起,通过Web界面可以成功控制插座的开关状态。
实际效果
通过Web界面可以实现3秒开3秒关的循环控制(注意:普通继电器的吸合寿命有限,不建议长时间频繁开关)。
接线细节
- 转换模块的线需要使用烙铁焊接,确保连接牢固。
- 火线和零线的判断:使用万用表测量确认。火线连接到转换模块的L端和继电器的COM端,零线连接到转换模块的N端和插座的零线端。
- 安全措施:所有暴露的触点需要用绝缘胶包裹,转换模块也建议进行绝缘处理。考虑到线径较细,不建议连接大功率设备。
最终,将所有组件装入一个盒子中,既美观又安全。
扩展功能
项目后期接入了Blinker和巴法云等免费物联网平台,进一步增强了设备的远程控制能力。
这个DIY项目不仅实现了智能插座的基本功能,还通过Web界面提供了丰富的控制选项,非常适合电子爱好者动手实践。