【嵌入式实战-15】超详细!ESP32-C3 智能插座(WiFi + 继电器 + 本地控制 + APP 远程 )Arduino完整教程前言
一、项目核心功能WiFi 联网ESP32-C3 连接家庭 2.4G WiFi支持断电记忆重连远程控制手机浏览器 / 局域网 APP / 第三方 IoT 平台控制插座通断电本地网页服务ESP32-C3 自建网页无需服务器局域网直接控制继电器驱动安全控制 220V 市电务必注意安全状态反馈实时显示插座开关状态拓展性强可添加定时、电量统计、语音控制等功能二、硬件准备清单 详解元器件名称数量作用备注ESP32-C3-MINI-1 模块1核心 WiFi 控制单元必备支持 Arduino 开发5V 继电器模块1控制 220V 市电通断低电平触发 / 高电平触发可选5V/2A 电源模块1给 ESP32-C3 继电器供电必须隔离电源保证安全插座外壳、铜片1 套成品外壳通用智能插座外壳杜邦线、焊锡若干接线使用安全警告220V 市电具有高压危险非专业人士请勿直接接线调试时先断开市电仅用 5V 电源测试继电器功能正常后再接市电必须使用隔离电源严禁裸板通电测试三、硬件接线核心本教程使用ESP32-C3 低电平触发 5V 继电器最常用接线表ESP32-C3 引脚继电器模块引脚3.3V/5VVCCGNDGNDGPIO2IN信号引脚说明ESP32-C3 部分引脚输出电流小推荐用5V 给继电器供电信号引脚接 3.3V 兼容 GPIO继电器公共端 COM 接火线输入常开端 NO 接插座火线输出零线直接直通四、开发环境搭建Arduino IDE1. 安装 Arduino IDE官网下载https://www.arduino.cc/en/software2. 添加 ESP32-C3 开发板地址文件 → 首选项 → 附加开发板管理器网址https://dl.espressif.com/dl/package_esp32_index.json3. 安装 ESP32 开发板工具 → 开发板 → 开发板管理器 → 搜索ESP32→ 安装最新版4. 选择开发板工具 → 开发板 → ESP32 Arduino →ESP32C3 Dev Module五、完整代码可直接复制使用代码实现WiFi 连接 本地网页控制 继电器开关 状态反馈/* * ESP32-C3 智能插座 完整代码 * 功能WiFi配网 网页远程控制继电器 状态显示 * 作者CSDN博主 */ #include WiFi.h #include WebServer.h // 配置区 const char* ssid 你的WiFi名称; // 2.4G WiFi const char* password 你的WiFi密码; // WiFi密码 const int relayPin 2; // 继电器信号引脚 // WebServer server(80); // 建立WEB服务器端口80 // 继电器状态 bool relayState false; // 主页HTML代码控制界面 String HTML !DOCTYPE htmlhtmlheadmeta charsetutf-8 titleESP32-C3 智能插座/title stylebody{text-align:center;margin-top:50px;} button{width:200px;height:80px;font-size:30px;margin:20px;} /style/head bodyh1智能插座控制/h1 p当前状态%STATE%/p a href/ONbutton打开插座/button/a a href/OFFbutton关闭插座/button/a /body/html; // 打开插座 void handleOn() { relayState true; digitalWrite(relayPin, LOW); // 低电平触发继电器 server.redirect(/); // 返回主页 } // 关闭插座 void handleOff() { relayState false; digitalWrite(relayPin, HIGH); server.redirect(/); } // 主页 void handleRoot() { String state relayState ? 已开启 : 已关闭; String page HTML; page.replace(%STATE%, state); server.send(200, text/html, page); } void setup() { Serial.begin(115200); // 初始化引脚 pinMode(relayPin, OUTPUT); digitalWrite(relayPin, HIGH); // 初始状态关闭 // 连接WiFi WiFi.begin(ssid, password); while (WiFi.status() ! WL_CONNECTED) { delay(500); Serial.print(.); } Serial.println(); Serial.println(WiFi连接成功); Serial.print(控制地址); Serial.println(WiFi.localIP()); // 打印IP地址 // 注册路由 server.on(/, handleRoot); server.on(/ON, handleOn); server.on(/OFF, handleOff); // 启动服务器 server.begin(); Serial.println(WEB服务器已启动); } void loop() { server.handleClient(); // 处理客户端请求 }六、代码烧录与测试用 Type-C 数据线连接 ESP32-C3 到电脑选择正确端口号点击上传等待编译 烧录完成打开串口监视器查看WiFi 连接成功的 IP 地址手机 / 电脑连接同一 WiFi浏览器输入 IP 地址即可控制插座七、进阶功能拓展加分项1. 配网不写死代码SmartConfig无需修改代码手机 APP 给 ESP32 配网适合成品使用。2. 定时开关功能添加定时器实现定时开启、定时关闭、循环定时。3. 接入阿里云 / 百度云 / 米家实现外网远程控制不在家也能控制。4. 断电记忆功能重启后保持上一次的开关状态不自动复位。5. 过载保护添加电流检测模块过载自动断电。八、成品组装与优化将模块放入插座外壳做好绝缘处理电源模块固定牢固避免短路继电器与市电接线用焊锡加固套热缩管外壳开孔方便后续调试九、常见问题解决WiFi 连接失败仅支持 2.4G WiFi5G WiFi 无法连接继电器不动作检查接线、电平触发方式、供电电压网页打不开确保设备在同一局域网IP 输入正确串口乱码波特率设置为 115200十、总结本项目基于ESP32-C3实现了低成本智能插座具备 WiFi 控制、网页远程控制、状态反馈等核心功能代码简洁易懂非常适合物联网入门学习。通过拓展还能实现定时、远程、语音控制等高级功能可玩性极强DIY 智能插座不仅能提升生活便利性还能快速掌握WiFi 通信、Web 服务器、继电器驱动等核心物联网知识新手也能轻松上手。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2570847.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!