# =====================================================
# درس وبسرور — کنترل LED با سوکت خام از طریق مرورگر
# =====================================================
import network, socket
from machine import Pin
from time import sleep
led = Pin(2, Pin.OUT)
# ---------- اتصال به Wi-Fi ----------
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("Wokwi-GUEST", "")
while not wlan.isconnected():
sleep(1)
print("متصل شد! آدرس IP:", wlan.ifconfig()[0]) # این آدرس را داخل خودِ Wokwi باز کنید
# صفحهٔ HTML با دو دکمهٔ روشن/خاموش
html = """<html><body>
<h1>کنترل LED با ESP32</h1>
<a href="/on"><button>روشن</button></a>
<a href="/off"><button>خاموش</button></a>
</body></html>"""
addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
s = socket.socket()
s.bind(addr)
s.listen(1)
print("سرور آماده است؛ منتظر درخواست...")
while True:
cl, client_addr = s.accept()
request = cl.recv(1024).decode()
if '/on' in request:
led.on()
elif '/off' in request:
led.off()
cl.send('HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n')
cl.send(html)
cl.close()