from machine import ADC, Pin
from utime import sleep
import time
import network
import socket
# CONFIG WIFI
ssid = 'Wokwi-GUEST'
password = ''
adc1 = ADC(Pin(32))
adc2 = ADC(Pin(33))
adc1.atten(ADC.ATTN_11DB)
adc2.atten(ADC.ATTN_11DB)
rele = Pin(15, Pin.OUT)
rele.value(0)
# Conectar WiFi
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)
while not wlan.isconnected():
pass
print("Conectado:", wlan.ifconfig())
# Variables estado
estado_rele = False
# Servidor web
addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]
server = socket.socket()
server.bind(addr)
server.listen(1)
print("Servidor web activo")
def leer_voltaje(adc):
valor = adc.read() # 0-4095
volt = (valor / 4095) * 3.3 * 4 # ajustar según divisor
time.sleep (0.5)
return volt
while True:
v1 = leer_voltaje(adc1)
v2 = leer_voltaje(adc2)
print ("Bateria casa", v1)
print ("Bateria motor", v2)
if v1 > 12.6 and v2 < 12.6:
rele.value(1)
else:
rele.value(0)
# Web server
try:
conn, addr = server.accept()
request = conn.recv(1024)
html = """<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ESP32 Control</title>
</head>
<body>
<h1>Estado ESP32</h1>
<p>Entrada 1: {}</p>
<p>Entrada 2: {}</p>
<p>Relé: {}</p>
</body>
</html>
""".format(e1, e2, "ON" if estado_rele else "OFF")
conn.send('HTTP/1.1 200 OK\n')
conn.send('Content-Type: text/html\n')
conn.send('Connection: close\n\n')
conn.sendall(html)
conn.close()
except:
pass