#include <WiFi.h>
#include <WebServer.h>
const char* ssid = "Wokwi-GUEST"; // در شبیهسازی Wokwi رمز لازم ندارد
const char* password = "";
const int LED_PIN = 2;
WebServer server(80); // وبسرور روی پورت استاندارد ۸۰
// صفحهٔ HTML اصلی با دو دکمهٔ روشن/خاموش
const char htmlPage[] = R"(
<html><body>
<h1>کنترل LED با ESP32</h1>
<a href="/on"><button>روشن</button></a>
<a href="/off"><button>خاموش</button></a>
</body></html>
)";
void handleRoot() {
server.send(200, "text/html", htmlPage);
}
void handleOn() {
digitalWrite(LED_PIN, HIGH);
server.send(200, "text/html", htmlPage);
}
void handleOff() {
digitalWrite(LED_PIN, LOW);
server.send(200, "text/html", htmlPage);
}
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.print("متصل شد! آدرس IP: ");
Serial.println(WiFi.localIP()); // این آدرس را در مرورگر داخل Wokwi باز کنید
// مسیرهای (route) وبسرور
server.on("/", handleRoot);
server.on("/on", handleOn);
server.on("/off", handleOff);
server.begin();
}
void loop() {
server.handleClient(); // باید مدام صدا زده شود تا درخواستهای ورودی پردازش شوند
}