|   
 
 #include <ESP8266WiFi.h>       // 本程序使用 ESP8266WiFi库
#include <ESP8266WiFiMulti.h>  //  ESP8266WiFiMulti库
#include <ESP8266WebServer.h>  //  ESP8266WebServer库
ESP8266WiFiMulti wifiMulti;  // 建立ESP8266WiFiMulti对象,对象名称是'wifiMulti'
ESP8266WebServer esp8266_server(80);  // 建立ESP8266WebServer对象,对象名称为esp8266_server
                                      // 括号中的数字是网路服务器响应http请求的端口号
                                      // 网络服务器标准http端口号为80,因此这里使用80为端口号
void setup() {
  Serial.begin(9600);            // 启动串口通讯
  pinMode(LED_BUILTIN, OUTPUT);  //LED引脚设置成输出模式
  digitalWrite(LED_BUILTIN, HIGH);
  // 通过addAP函数存储 WiFi名,WiFi密码
  wifiMulti.addAP("谢凡工作室", "123456xie");
  Serial.print("\r\n Connecting ...");  // 通过串口监视器输出信息告知用户esp8266正在尝试连接WiFi
  while (wifiMulti.run() != WL_CONNECTED) {
    delay(1000);
    Serial.print('.');
  }
  Serial.print("\r\n");                           // WiFi连接成功后
  Serial.print("Connection Successful\r\n");      // esp8266将通过串口监视器输出
  Serial.print("WiFi: " + WiFi.SSID() + "\r\n");  // 连接的WiFI名称
  Serial.print("IP address: ");                   //  esp8266的IP地址
  Serial.println(WiFi.localIP());
  /*"启动网络服务功能"程序部分开始*/
  esp8266_server.begin();
  esp8266_server.on("/", handleRoot);
  esp8266_server.on("/", HTTP_GET, handleRoot);//获取根目录得一些资源 
  esp8266_server.on("/led", HTTP_POST, handleLED);//发送led函数
  esp8266_server.onNotFound(handleNotFound);
  /*"启动网络服务功能"程序部分结束*/
  Serial.println("网络服务器成功启动");  // ESP8266网络服务功能已经启动
}
void loop() {
  esp8266_server.handleClient();  // 处理http服务器访问
}
/*处理网站根目录"/"的访问请求*/
void handleRoot() {
  esp8266_server.send(200, "text/html", "<form action="/led" method="post"><input type="submit" value="点亮LED灯光"></form>");
}
void handleLED() {
  digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  esp8266_server.sendHeader("Location","/");//跳转首页去
  esp8266_server.send(303);//发送303http跳转指令
}
/*设置处理404情况的函数*/
void handleNotFound() {
  esp8266_server.send(404, "text/plain", "404: Not found");
}
 |