ESP32網頁伺服器控制LED

 ESP32網頁伺服器控制LED


前面一樣的就不再重覆紀錄,添加這一節相關的部份

主要是就加了網頁給客戶端請求動作的部份

void ledOn(){
  digitalWrite(ledHIGH);
  server.send(200"text/html; charset=UTF-8""LED已開啓<br>\
              <a href=/off>關閉LED</a>");
}

void ledOff(){
  digitalWrite(ledLOW);
  server.send(200"text/html; charset=UTF-8""LED已關閉<br>\
              <a href=/on>開啓LED</a>");
}

完整程式碼

#include <WiFi.h>
#include <WebServer.h>

const char *ssid="基地台名稱";
const char *password="基地台密碼";

WebServer server(80);

const int led=2;

void handleRoot(){
  String html = "<a href=\"/on\">開啓LED</a>";
  html +="<br>";
  html +="<a href=\"/off\">開閉LED</a>";
  server.send(200"text/html; charset=UTF-8"html);
}

void handleNotFound(){
  server.send(400"text/html; charset=UTF-8""找不到回傳的訊息");
}

void ledOn(){
  digitalWrite(ledHIGH);
  server.send(200"text/html; charset=UTF-8""LED已開啓<br>\
              <a href=/off>關閉LED</a>");
}

void ledOff(){
  digitalWrite(ledLOW);
  server.send(200"text/html; charset=UTF-8""LED已關閉<br>\
              <a href=/on>開啓LED</a>");
}

void setup(void){
  Serial.begin(115200);
  pinMode(ledOUTPUT);
  WiFi.begin(ssidpassword);
  server.begin();
  while (WiFi.status() != WL_CONNECTED){
    Serial.print(".");
    delay(500);
  }
  Serial.print("已連線至基地台");
  Serial.println(ssid);
  Serial.print("請於瀏覽器中開啓這個IP位址: ");
  Serial.println(WiFi.localIP());

  server.on("/"handleRoot);
  server.onNotFound(handleNotFound);
  Serial.println("HTTP伺服器已啓動");
  server.on("/on"ledOn);
  server.on("/off"ledOff);
}

void loop() {
  server.handleClient();

}
















留言

這個網誌中的熱門文章

ESP32-CAM燒錄出現fd_forward.h: No such file or directory錯誤信息<解決方案>