Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制

一、准备工作:
1、在网上要购买一块ESP8266_01s带relay继电器的。价格10几元
2、网上购买一个USB转TTL的转接头。我自己用是CH340,价格几元。
3、找一个服务器,当然免费的最好。我用的是酱菜创客平台,此平台是给创客提供一个免费的平台且有APP ,网址:www.jcckiot.com,注册自己ID.
二、改造电路(为什么要这样接,多次实验得出来的结果):
我觉得买回来的esp8266_01s_relay模块没有试过似的,线路不合理的,要自己动手去改造,不然是不成功的。
1、改造relay线路如图:Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制_第1张图片
2、改造esp8266_01s线路,如图:(为什么要这样接,多次实验得出来的结果)Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制_第2张图片Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制_第3张图片
三、烧录代码:
1、首先将esp8266,插入CH340,短接GND、GPIO0,启用烧录模式,然后插上电脑USB口。https://www.arduino.cn/forum.php?mod=viewthread&tid=17896&page=1&extra=#pid148026。
Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制_第4张图片!Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制_第5张图片
2、打开Arduino软件,配置好,如何配置可查看https://www.arduino.cn/thread-17895-1-1.html。配置好,写入你们的代码:
#

#include 
#define relay1 5  //继电器连接在8266的GPIO5上
WiFiClient client;
const char *ssid     = "505";//这里是我的wifi,你使用时修改为你要连接的wifi ssid
const char *password = "15207";//你要连接的wifi密码
const char *host = "www.jcckiot.com";//酱菜创客服务器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=524287eeeeee&data={ck001000bind}\r\n");//绑定apikey,修改成你自己的apikey
  delay(10);
}

//int value = 0;

void loop() {
  //当wifi丢线时重新连接
  while(WiFi.status()!=WL_CONNECTED){
 WiFi.begin(ssid,password);
 Serial.println("connecting to again");
 delay(500);
 while (!client.connect(host, httpPort)) {
Serial.println("connection failed");
//return;
delay(500);
  }
  Serial.print("connecting to ");
  Serial.println(host);
  client.write("mode=bind&apikey=524287eeeeee&data={ck009000bind}\r\n");//绑定apikey,修改成你自己的apikey
  delay(10);
  }
  while(client.available()){
String line = client.readStringUntil('\r');//整个字符串从串口读取缓冲区,直到检测到终结者的角色
 Serial.println(line);  
if(line[5]=='9' & line[8]=='0' & line[9]=='1')/把你开关的编号写上,下面也是
{
  digitalWrite(relay1,HIGH);
  Serial.println("led on");
 }
 if(line[5]=='9' & 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=524287eeeeee&data={ck009000life}\r\n");//发送心跳消息,修改成你自己的apikey
m=0;
   }
  Serial.println(m);
  delay(500);
}

3、编译好后,上传代码,完成后。可打开www.jcckiot.com或打开APP,登录你的帐号即可操作。Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制_第6张图片
Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制_第7张图片Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制_第8张图片

注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱

浏览器兼容

  1. 目前,本编辑器对Chrome浏览器支持最为完整。建议大家使用较新版本的Chrome。
  2. IE9以下不支持
  3. IE9,10,11存在以下问题
    1. 不支持离线功能
    2. IE9不支持文件导入导出
    3. IE10不支持拖拽文件导入

你可能感兴趣的:(Anduino+esp8266_relay继电器 开发智能开关,APP可远程控制)