0
点赞
收藏
分享

微信扫一扫

Arduino网页控制led灯

凶猛的小白兔 2022-04-02 阅读 44

代码

//web界面控制板载的led灯光的开关以及打开,局域网控制;
#include <ESP8266WiFi.h>
#include<ESP8266WiFiMulti.h>
#include<ESP8266WebServer.h> 


ESP8266WiFiMulti wifi_list;
ESP8266WebServer esp8266_server(80);
bool pinState; 

void setup() {
  //设置板载led
  pinMode(LED_BUILTIN,OUTPUT);
  
  //设定串口通讯波比率
  Serial.begin(9600);

  //设定需要连接的WiFi名称和密码列表可以多个;
  wifi_list.addAP("wifi名称","wifi密码");

 Serial.print("正在连接网络");
  while (wifi_list.run()!=WL_CONNECTED)
  //如果wifi_list.run()连接WiFi成功,则会返回WL_CONNECTED,也就结束了循环
  {
      delay(500);
      Serial.print(".");
  }
  
  //WiFi连接成功后,向串口输入WiFi的名称以及IP地址
  Serial.println("\n网络连接成功");
  Serial.print("WIFI名称:");
  Serial.println(WiFi.SSID());
  Serial.print("IP地址:");
  Serial.println(WiFi.localIP());

  //启动网络服务
  esp8266_server.begin();
  esp8266_server.on("/",handleRoot);//定义网页根目录访问的函数
  esp8266_server.on("/on",led_on);//定义on目录控制板载led灯打开
  esp8266_server.on("/off",led_off);//定义off目录控制板载led关闭
  esp8266_server.on("/led",led);//定义off目录控制板载led关闭

  esp8266_server.onNotFound(handleNotFound); //页面请求不存在则请求的函数
  Serial.println("HTTP esp8266_server 启动成功!");
  
}

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


void handleRoot() {   //处理网站根目录“/”的访问请求 
  esp8266_server.send(200, "text/html", "Hello from ESP8266\nindex-YES\nLed-state:x");   // NodeMCU将调用此函数。
}


void led_on() {   //打开led
  digitalWrite(LED_BUILTIN,LOW);
  esp8266_server.send(200, "text/html", "LED-on");   // NodeMCU将调用此函数。

}

void led_off() {   //关闭led
  digitalWrite(LED_BUILTIN,HIGH);
  esp8266_server.send(200, "text/html", "LED-off");   // NodeMCU将调用此函数。

}


void led(){
    pinState=digitalRead(LED_BUILTIN);
    if (pinState==0){
        //如果为LED此时的状态为打开则关掉,否则则打开led
        led_off();
    }
    else{
        //否则打开led
        led_on();
        Serial.println(htmlcode);
    }
    
}


void handleNotFound(){                                        // 当浏览器请求的网络资源无法在服务器找到时,
  esp8266_server.send(404, "text/html", "404: Not found");   // NodeMCU将调用此函数。
}
举报

相关推荐

0 条评论