0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

全攻略自制esp8266 WIFI智能排插教程

撞上电子 2023-12-31 08:00 次阅读

一,前言

其实自己动手制作一个智能排插很容易,看见网上的教程有点乱,所以我决定自己写一篇,只需要你懂一点编程知识,就可以制作自己专属的智能排插。有兴趣的小伙伴可以往下看,下面我会给出代码和需要购买的硬件,和淘宝购买链接,你们也可以买同款的就行。个人觉得自己制作一个智能排插还是很酷的,这是智能家居的第一步,而且这个教程对于初学者来说也很简单。只需要懂一点点的编程知识和基本的电路知识!准备的硬件材料,材料在淘宝都可以买到,而且便宜。你们可以自己淘宝购买

1、一个ESP8266继电器模块;

2、220v转5v直流电源模块一个;

3、esp8266下载器一个;

4、普通排插一个。

其实最后就是将这些模块集成在排插里面,让排插变成一个我们可以控制的器件,实物如下图:abadb936-a76f-11ee-9ee2-92fbcf53809c.jpgabbd0986-a76f-11ee-9ee2-92fbcf53809c.jpg

注意事项:1、将变压模块输入端连接到220V输出端连接到esp8266模块的电源输入端;2、将排插的火线截断,两根分别连接到继电器的com端和nc端

二,编程准备

对ESP8266程序写入的教程大致有两种,1是下载别人做好的bin文件包,使用专用软件烧录到ESP8266,我查了下,资料比较多,貌似难度很大;2是使用USB转TTL工具进行写入,先利用Arduino IDE进行写入,我们就用这种方法。

打开Arduino IDE,默认的Arduino IDE是没有ESP8266库的,需要我们自己添加上。

点击Arduino IDE的文件-首选项,在附加开发板管理器网址中填入:

abd3b10e-a76f-11ee-9ee2-92fbcf53809c.pngabd3b10e-a76f-11ee-9ee2-92fbcf53809c.pngabe7db70-a76f-11ee-9ee2-92fbcf53809c.png

这些工作都准备好以后我们就可以编程

// An highlighted block#include #define MAX_SRV_CLIENTS 5 //定义可连接的客户端数目最大值 不能超过5个

//设置成TCP连接,服务端WiFiServer server(8080);//服务器端口8080WiFiClient serverClients[MAX_SRV_CLIENTS];//WiFiClient client; //创建客户端//const int tcpPort = 8266;//服务器端口//打开继电器uint8_t tmp1[]= {0xA0,0x01,0x01,0xA2};//关闭继电器uint8_t tmp2[]= {0xA0,0x01,0x00,0xA1};

char ssid[] = "WWW"; // 你的路由器SSID (name)char password[] = "cc123456"; // 你的wifi密码 passwordString aa = "";//接收到客户端的数据uint8_t fale1 = 0;uint8_t fale2 = 0;//char *Value16;void setup(){ //这个波特率是和模块的通讯频率,不能更改 Serial.begin(9600); pinMode(4,OUTPUT);//继电器io // IPAddress Localip(192,168,8,107);//指派模块的局域网ip IPAddress Gateway(192,168,8,1);//局域网网关,路由器ip,这里的ip根据你的路由设置 IPAddress Subnet(255,255,0,0);//局域网子网掩码 ,可以在电脑或者路由器查到 WiFi.config(Localip, Gateway, Subnet);//配置网络 WiFi.begin(ssid, password);//连接wifi WiFi.mode(WIFI_STA);//wifi为客户端 //启动UART传输和服务器 server.begin(); server.setNoDelay(true); } void loop(){ // kongzhi();// if(Serial.available() >0)// { // Value16 =(char*)(Serial.read()); // } uint8_t i; //检测服务器端是否有活动的客户端连接 if (server.hasClient()){ for(i = 0; i < MAX_SRV_CLIENTS; i++){ //查找空闲或者断开连接的客户端,并置为可用 if (!serverClients[i] || !serverClients[i].connected()){ if(serverClients[i]) serverClients[i].stop(); serverClients[i] = server.available(); continue; } } //若没有可用客户端,则停止连接 WiFiClient serverClient = server.available(); serverClient.stop(); } //检查客户端的数据 for(i = 0; i < MAX_SRV_CLIENTS; i++){ if (serverClients[i] && serverClients[i].connected()){ if(serverClients[i].available()){ //从Telnet客户端获取数据,并推送到串口 while(serverClients[i].available()) { aa+= char(serverClients[i].read());//aa就是收到的数据,用来做对比执行操作 delay(2);} if(aa == "a") //接收到字符a打开继电器 { //回复客户端,已经接收到指令 serverClients[i].write("kai"); if(fale1 == 0){ fale1 = 1; fale2 = 0; // int Length1 = sizeof(tmp1); //打开继电器 for(int j = 0 ; j<=3 ;j++) { Serial.write(tmp1[j]); // Serial.print(tmp1[j],HEX); // Serial.println(""); } } } if(aa == "b") { //关闭继电器 serverClients[i].write("guan"); if (fale2 == 0){ // int Length2 = sizeof(tmp2); fale1 = 0; fale2 = 1; for(int j = 0 ; j<=3 ;j++) { Serial.write(tmp2[j]); // Serial.print(tmp1[j],HEX); // Serial.println(""); } } } if(aa == "c") { //心跳包 serverClients[i].write("ok"); } aa = "";

} } }}

然后就可以烧录程序了。

三,烧录1、将esp8266的驱动安装好;2、将esp8266插在烧录器上,使用ARDUINO烧录;3、将烧录好的esp8266插回去继电器模块;四,改装排插1、把220V接在220V转5V的变压模块输入上,注意不要接反了;2、将变压模块输出口接在继电器模块的电源口上;3、之后将排插的火线截断,接在继电器的COM口和NC口上,最后整理一下,把排插盖上。效果图:abf8c674-a76f-11ee-9ee2-92fbcf53809c.png

使用TCP测试工具,测试信号是否导通。用电脑打开TCp助手,按图上配置,按连接,然后发送字符a看排插是否通电了。

ac10083e-a76f-11ee-9ee2-92fbcf53809c.png

如果可以通电,再发送b,看是否关闭。如果都可以,那就是已经成功了!经过上面,就可以在局域网控制家中的家电了,现在只是局域网,如果你想在外面查看家中电器的打开或者关闭情况,则你需要部署到服务器,或者你也可以在家里做个内网穿透。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 继电器
    +关注

    关注

    131

    文章

    5027

    浏览量

    146114
  • WIFI
    +关注

    关注

    81

    文章

    5163

    浏览量

    199472
  • 排插
    +关注

    关注

    0

    文章

    8

    浏览量

    9901
收藏 人收藏

    评论

    相关推荐

    GPS 设计全攻略

    GPS 设计全攻略
    发表于 09-25 14:11

    LED技术全攻略

    LED技术全攻略
    发表于 09-25 14:16

    GPS 设计全攻略

    GPS 设计全攻略
    发表于 12-05 12:08

    GPS设计全攻略

    本帖最后由 zgzzlt 于 2012-8-16 13:58 编辑 GPS设计全攻略
    发表于 08-06 12:56

    MCU解密全攻略

    MCU解密全攻略
    发表于 08-19 14:28

    智能小车DIY全攻略

    给大家分享一个挺不错的资料,智能小车DIY全攻略,介绍了各种智能小车的机械结构设计
    发表于 11-06 21:03

    FPGA开发全攻略

    FPGA开发全攻略
    发表于 09-27 10:59

    FPGA开发全攻略

    FPGA开发全攻略
    发表于 05-21 09:28

    FPGA开发全攻略

    FPGA开发全攻略
    发表于 03-03 10:30

    教你如何去设计一种基于ESP8266模块的wifi控制

    为什么要设计一种基于ESP8266模块的wifi控制?如何去设计一种基于ESP8266模块的wifi
    发表于 06-30 06:42

    MCU解密全攻略

    本内容介绍了MCU解密的全攻略教程
    发表于 07-11 17:51 644次下载
    MCU解密<b class='flag-5'>全攻略</b>

    智能小车的DIY全攻略

    智能小车的DIY全攻略
    发表于 10-13 09:13 28次下载
    <b class='flag-5'>智能</b>小车的DIY<b class='flag-5'>全攻略</b>

    如何将ESP8266连接到WiFi

    在之前的ESP8266项目中,我简要介绍了ESP8266 WiFi模块,如何开始使用ESP8266和Arduino,ESP8266
    的头像 发表于 07-29 11:32 8.5w次阅读
    如何将<b class='flag-5'>ESP8266</b>连接到<b class='flag-5'>WiFi</b>

    全攻略自制esp8266 WIFI智能排插教程

    全攻略自制esp8266 WIFI智能排插教程
    发表于 11-23 17:51 17次下载
    <b class='flag-5'>全攻略</b><b class='flag-5'>自制</b><b class='flag-5'>esp8266</b> <b class='flag-5'>WIFI</b><b class='flag-5'>智能</b>排插教程

    基于ESP8266WiFi

    该项目使用 NodeMcu esp8266 和 Blynk 由您的智能手机控制的最简单的 wifi 汽车。
    发表于 12-08 10:15 7次下载