esp8266局域网控制led灯

[复制链接]
查看: 1151   回复: 0

307

主题

307

帖子

1714

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1714
2023-7-15 19:08:09   显示全部楼层   阅读模式  
微信图片_20230715190800.jpg

#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");
}

回复

使用道具 举报

您需要登录后才可以回帖   登录 立即注册

高级模式

南通谢凡软件科技有限公司