一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 9343|回复: 28
收起左侧

[其他DIY] 用ESP8266-12做远程定时插座(有更新)

[复制链接]
发表于 2016-12-16 00:10 | 显示全部楼层 |阅读模式
本帖最后由 g54188 于 2016-12-17 11:20 编辑

用ESP8266-12做远程定时插座,插座一共有2组定时。注意:刷程序需要把GPIO0口下拉(GPIO0口接地),网站是别人的,我个人觉得还可以才推荐给感兴趣的朋友
在這个网站申请账号http://jcck.online/
接下来,我就带着大家试着做一个智能插座
不会搭建ARDUINO,(要求ARDUINO版本要在165以上)的朋友请看这里文章----基于esp8266的智能家居控制系统-基础篇1介绍arduino ide for esp8266----------------------------------------------
一乐的草版也有介绍ESP8266天气显示器_国内可用的修改版_增加NTP对时  https://www.yleee.com.cn/thread-55590-1-1.html
再去酱菜创客(jcck.online)注册申请apikey和添加设备
硬件:
        1、ESP8266           一块
        2、继电器模块 (LED)       一个
        3、导线若干 esp-01.png

        当然上面三个是最主要的,除了这两个大家还需要准备5V电源和3.3V电源,因为8266的工作电压是3.3V,而继电器模块的工作电压是5V,电源问题应该对大家来说不是难事吧http://jcck.online/phpwind/images/post/smile/wangwang/1.gif


烧写模式接线方法:(用USBTTL串口连接模块与PC)
esp8266-01         u转串
VCC-------------3.3
GND------------GND
GPIO0----------GND
CH_PD---------3.3
RX---------------TX
TX---------------Rx
ESP8266-01引脚图:

运行模式ESP8266接线:
VCC---------------3.3
CH_PD-----------3.3
GND-------------GND
GND-------------LED负极
GPIO2----------LED正极
编译软件是arduino1.6.5版,参考安装arduino的IED   https://www.yleee.com.cn/thread-55590-1-1.html
ESP-01选择 222.jpg
控制界面
111.png
1.jpg
3.jpg
其他的就自已摸索了,控制方式:网页,有能力的可以自已写个APP这样就方便多了
这段代码是我自已加的(加在配置里面,这段代码每次上电只运行一次),用于断电后在上电的时候判断开关的状态需要的朋友可以在完善下。再就是一乐论坛里高手很多,会手机APP的。能打包做个APP控制就比较好了。


/------判断开机状态-----------
int val =0;
//------------------------------
  val = digitalRead(relay1);   // 读取输入脚
  Serial.print("显示值");  
   Serial.println(val);         //显示读取的数值
  digitalWrite(relay1, val);    //将读取的值写入继电器(relay1
client.write("mode=up&apikey=x'x'x'x&data={ck003000sta0}\r\n");//设备开关状态
  delay(20);

//-----------------------------
原程序代码如下:
  • #include <ESP8266WiFi.h>
  • WiFiClient client;
  • #define relay1 2 //继电器连接在8266的GPIO2上
  • const char *ssid     = "xxxx";//这里是我的wifi,你使用时修改为你要连接的wifi ssid
  • const char *password = "xxxxxxxxxxx";//你要连接的wifi密码
  • const char *host = "jcck.online";//酱菜创客服务器IP
  • const int httpPort =8266;//端口号
  • String line ="";
  • int m=0;
  • void setup() {
  •   Serial.begin(115200);
  •   delay(10);
  •   pinMode(relay1,OUTPUT);
  •   // We start by connecting to a WiFi network
  •   Serial.println();
  •   Serial.println();
  •   Serial.print("Connecting to ");
  •   Serial.println(ssid);
  •   WiFi.begin(ssid, password);
  •   while (WiFi.status() != WL_CONNECTED) {
  •     delay(500);
  •     Serial.print(".");
  •   }
  •   Serial.println("");
  •   Serial.println("WiFi connected");
  •   Serial.println("IP address: ");
  •   Serial.println(WiFi.localIP());
  •   while (!client.connect(host, httpPort)) {
  •     Serial.println("connection failed");
  •     //return;
  •     delay(500);
  •   }
  •   Serial.print("connecting to ");
  •   Serial.println(host);
  •   client.write("mode=bind&apikey=你的apikey&data={ck001000bind}\r\n");//绑定apikey,修改成你自己的apikey
  •   delay(10);
  • }
  • //int value = 0;
  • void loop() {
  •   while(client.available()){
  •     String line = client.readStringUntil('\r');
  •      Serial.println(line);
  •     //valueread=line[47];
  •     //Serial.println(valueread);
  •     if(line[5]=='3' & line[8]=='0' & line[9]=='1')
  •     {
  •       digitalWrite(relay1,HIGH);
  •       Serial.println("led on");
  •      }
  •      if(line[5]=='3' & line[8]=='0' & line[9]=='0')
  •     {
  •       digitalWrite(relay1,LOW);
  •       Serial.println("led off");
  •      }
  •   }
  • String line ="";
  •   m++;
  •   if(m%40==0)
  •   {
  •     client.write("mode=up&apikey=你的apikey&data={ck003000life}\r\n");//发送心跳消息,修改成你自己的apikey
  •     m=0;
  •    }
  •   delay(500);
  • }












评分

参与人数 1一乐金币 +30 收起 理由
Joe_Black + 30 很给力!

查看全部评分

发表于 2016-12-16 09:37 | 显示全部楼层
这个不错, 省去了 需要熟悉 ESP8266_SDK 开发的环境的复杂过程。
发表于 2016-12-16 14:13 | 显示全部楼层
要是有成品的产品就好了啊。
 楼主| 发表于 2016-12-16 14:17 | 显示全部楼层
本帖最后由 g54188 于 2016-12-16 14:18 编辑
qdnb5 发表于 2016-12-16 14:13
要是有成品的产品就好了啊。

买一个继电器模块,买一片ESP8266,把程序刷到8266里不就是成品了吗。成本15元不到,加上插座也就是20元吧。
发表于 2016-12-16 14:59 | 显示全部楼层
这个玩玩学习一下还行,网站关闭了就只能去其它物联网平台再申请一个账号。
发表于 2016-12-16 15:35 | 显示全部楼层
不错!关键是不会arduino。
发表于 2016-12-16 17:30 | 显示全部楼层
必须要服务器啊~
 楼主| 发表于 2016-12-16 17:31 | 显示全部楼层
yleee 发表于 2016-12-16 14:59
这个玩玩学习一下还行,网站关闭了就只能去其它物联网平台再申请一个账号。

就是,这个是别人做的网站,我问过他,他租了一年的服务器,就怕关了,不过这个简单,适合初级
发表于 2016-12-16 22:37 | 显示全部楼层
g54188 发表于 2016-12-16 17:31
就是,这个是别人做的网站,我问过他,他租了一年的服务器,就怕关了,不过这个简单,适合初级

楼主这个看起来真挺简单的。
请教,换成其他同类型的网站,操作会复杂很多吗?

发表于 2016-12-16 23:06 | 显示全部楼层
duanyz 发表于 2016-12-16 22:37
楼主这个看起来真挺简单的。
请教,换成其他同类型的网站,操作会复杂很多吗?

后台、和手机端,可以自己做的


~~~~~~~~~~~

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-3-29 13:38 , Processed in 0.075558 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表