iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0
自我挑戰組

IOT上課心得系列 第 18

Day 18 - ESP32 自製網頁開關

  • 分享至 

  • xImage
  •  

#include <WiFi.h>
//請修改以下參數--------------------------------------------
char ssid[] = "SSID";
char password[] = "SSIDpassword";

int Gled = 15; //宣告綠色Led在 GPIO 15
WiFiServer server(80); //宣告伺服器位在80 port

void setup()
{
Serial.begin(115200);
Serial.print("開始連線到無線網路SSID:");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(1000);
}
Serial.println("連線完成");
server.begin();
Serial.print("伺服器已啟動,http://");
Serial.println(WiFi.localIP());
pinMode(Gled, OUTPUT);
}

void loop()
{
//宣告一個連線
WiFiClient client = server.available();
if (client) {
//有人連入時
Serial.println("使用者連入");
//-------------網頁的html部份開始--------------
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("");
client.println("");
client.println("");
client.println("ESP32 Web Server");
//HTML超連結指令
client.println("開啟綠色LED");
client.println("關閉綠色LED");
client.println("");
//-------------網頁的html部份結束--------------
//取得使用者輸入的網址
String request = client.readStringUntil('\r');
Serial.println(request);
//判斷超連結指令
//網址內包含Gled=ON,就開啟綠燈,如果Gled=OFF,關閉綠燈
if (request.indexOf("Gled=ON") >= 0) { digitalWrite(Gled, HIGH); }
if (request.indexOf("Gled=OFF") >= 0) { digitalWrite(Gled, LOW); }
Serial.println("完成");
client.stop();//停止連線
}
}


上一篇
Day 17 - ESP32 MQTT傳送DHT11溫溼度
下一篇
Day 19 - ESP32 伺服馬達控制
系列文
IOT上課心得30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言