esp8266局域网控制led灯

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

164

主题

164

帖子

939

积分

管理员

Rank: 9Rank: 9Rank: 9

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


  1. #include <ESP8266WiFi.h>       // 本程序使用 ESP8266WiFi库
  2. #include <ESP8266WiFiMulti.h>  //  ESP8266WiFiMulti库
  3. #include <ESP8266WebServer.h>  //  ESP8266WebServer库

  4. ESP8266WiFiMulti wifiMulti;  // 建立ESP8266WiFiMulti对象,对象名称是'wifiMulti'

  5. ESP8266WebServer esp8266_server(80);  // 建立ESP8266WebServer对象,对象名称为esp8266_server
  6.                                       // 括号中的数字是网路服务器响应http请求的端口号
  7.                                       // 网络服务器标准http端口号为80,因此这里使用80为端口号

  8. void setup() {
  9.   Serial.begin(9600);            // 启动串口通讯
  10.   pinMode(LED_BUILTIN, OUTPUT);  //LED引脚设置成输出模式
  11.   digitalWrite(LED_BUILTIN, HIGH);
  12.   // 通过addAP函数存储 WiFi名,WiFi密码
  13.   wifiMulti.addAP("谢凡工作室", "123456xie");


  14.   Serial.print("\r\n Connecting ...");  // 通过串口监视器输出信息告知用户esp8266正在尝试连接WiFi

  15.   while (wifiMulti.run() != WL_CONNECTED) {
  16.     delay(1000);
  17.     Serial.print('.');
  18.   }

  19.   Serial.print("\r\n");                           // WiFi连接成功后
  20.   Serial.print("Connection Successful\r\n");      // esp8266将通过串口监视器输出
  21.   Serial.print("WiFi: " + WiFi.SSID() + "\r\n");  // 连接的WiFI名称
  22.   Serial.print("IP address: ");                   //  esp8266的IP地址
  23.   Serial.println(WiFi.localIP());

  24.   /*"启动网络服务功能"程序部分开始*/
  25.   esp8266_server.begin();
  26.   esp8266_server.on("/", handleRoot);
  27.   esp8266_server.on("/", HTTP_GET, handleRoot);//获取根目录得一些资源
  28.   esp8266_server.on("/led", HTTP_POST, handleLED);//发送led函数

  29.   esp8266_server.onNotFound(handleNotFound);
  30.   /*"启动网络服务功能"程序部分结束*/
  31.   Serial.println("网络服务器成功启动");  // ESP8266网络服务功能已经启动
  32. }

  33. void loop() {
  34.   esp8266_server.handleClient();  // 处理http服务器访问
  35. }

  36. /*处理网站根目录"/"的访问请求*/
  37. void handleRoot() {
  38.   esp8266_server.send(200, "text/html", "<form action="/led" method="post"><input type="submit" value="点亮LED灯光"></form>");
  39. }

  40. void handleLED() {

  41.   digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  42.   esp8266_server.sendHeader("Location","/");//跳转首页去
  43.   esp8266_server.send(303);//发送303http跳转指令

  44. }

  45. /*设置处理404情况的函数*/
  46. void handleNotFound() {
  47.   esp8266_server.send(404, "text/plain", "404: Not found");
  48. }
复制代码


回复

使用道具 举报

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

高级模式

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