zl程序教程

您现在的位置是:首页 >  其他

当前栏目

ESP8266实现智能家居

2023-02-26 09:51:19 时间

emmm…很早以前发过一个关于esp8266智能家居的视频,难得有时间整理一下。

环境配置 这里使用Arduino作为IDE,这里介绍两种使用方法。

使用原生Arduino配置(推荐) 如果你在国外可以使用 IDE进行安装 ps:由于某些原因,在国内下载慢(高速方法自行探索),但这种方法以后用起来还是比较稳定的。

直接下载Arduino版SDK(未测试) 下载打包好的esp8266安装包,直接运行并解压即可。 下载地址1: https://pan.baidu.com/s/19yEQ4UDF-bQCzt3BsdV6Yw

下载地址2: https://share.weiyun.com/5CGEKJO

如果安装过其他版本的esp8266sdk,请先删除,再使用本安装包

解压完成后,再打开Arduino IDE,即可在 菜单栏>工具>开发板 中找到你使用的esp8266开发板

ESP8266程序编写 SDk为我们提供了丰富的拓展库,本文主要用到了以下库

#include 
#include 
#include 
#include 

HTML页面建议新建一个文件进行编写,这里值得注意的是:当HTML代码复制到IDE里面时需要先对引号进行转码成",所有汉字也要进行转码,然后用一些在线小工具进行HTML压缩,最后先赋值到变量就行了。

String html="this is title";

剩下的代码就不一一赘述了,附在下面了,大家自行参考叭

#include 
#include 
#include 
#include 
const char* ssid = "SSID";
const char* password = "password";

ESP8266WebServer server(80);

String html="this is title";

const int led = 13;

void pin(){
if(server.arg("light")=="1on"){
    digitalWrite(D1, HIGH);
    server.send(200, "text/html",html);
  }else if(server.arg("light")=="1off"){
    digitalWrite(D1, LOW);
    server.send(200, "text/html",html);
  }else if(server.arg("light")=="2on"){
    digitalWrite(D2, HIGH);
    server.send(200, "text/html",html);
  }else if(server.arg("light")=="2off"){
    digitalWrite(D2, LOW);
    server.send(200, "text/html",html);
  }else if(server.arg("light")=="3on"){
    digitalWrite(D3, HIGH);
    server.send(200, "text/html",html);
  }else if(server.arg("light")=="3off"){
    digitalWrite(D3, LOW);
    server.send(200, "text/html",html);
  }
  
}



void handleRoot() {
  digitalWrite(led, 1);
  server.send(200, "text/html", html);
  digitalWrite(led, 0);
}


void handleNotFound(){
  digitalWrite(led, 1);
  String message = "File Not Found\n\n";
  message += "URI: ";
  message += server.uri();
  message += "\nMethod: ";
  message += (server.method() == HTTP_GET)?"GET":"POST";
  message += "\nArguments: ";
  message += server.args();
  message += "\n";
  for (uint8_t i=0; i