import socket
import network
import time
# Configurar Access Point
ssid = 'ESP32_RPI_PICO_AP'
password = '12345678'
ap = network.WLAN(network.AP_IF)
ap.config(essid=ssid, password=password) # WPA2-PSK
ap.active(True)
for i in range(10):
if ap.active():
break
time.sleep(1)
print("Conexión exitosa")
print(ap.ifconfig())
# -------------------------
# CONTADOR GLOBAL
# -------------------------
contador = 0
# Función para generar la página web
def web_page(cont):
return f"""<!DOCTYPE html>
<html>
<head>
<title>Pico W - ESP32</title>
</head>
<body>
<h1>Contador en Microcontrolador</h1>
<h2>Valor actual: {cont}</h2>
<p>La página incrementa el contador cada vez que se recarga.</p>
<h3>German Jesus Pereira Muñoz PhD.</h3>
</body>
</html>"""
# Servidor web
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 80))
s.listen(5)
print("Servidor web listo en el puerto 80...")
while True:
try:
conn, addr = s.accept()
print("Conexión desde:", addr)
request = conn.recv(1024)
print("Solicitud recibida:", request)
# Incrementar contador
contador += 1
# Generar página con el nuevo valor
response = web_page(contador)
# Cabeceras HTTP
conn.send("HTTP/1.1 200 OK\r\n")
conn.send("Content-Type: text/html\r\n")
conn.send("Connection: close\r\n\r\n")
conn.sendall(response)
conn.close()
except Exception as e:
print("Error:", e)