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为我们提供了丰富的拓展库,本文主要用到了以下库
代码语言:javascript复制#include
#include
#include
#include
HTML页面建议新建一个文件进行编写,这里值得注意的是:当HTML代码复制到IDE里面时需要先对引号进行转码成",所有汉字也要进行转码,然后用一些在线小工具进行HTML压缩,最后先赋值到变量就行了。
代码语言:javascript复制String html="this is title";
剩下的代码就不一一赘述了,附在下面了,大家自行参考叭
代码语言:javascript复制#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 Foundnn";
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