import network
import time
from machine import Pin
from utelegram import Bot
TOKEN =("7367312964:AAFCAphBlJpKytgMVACmuQweBGIvJwH1vfc")
bot = Bot(TOKEN)
# Pines de los relés
rele1 = Pin(18, Pin.OUT)
rele2 = Pin(19, Pin.OUT)
rele3 = Pin(33, Pin.OUT)
rele4 = Pin(22, Pin.OUT)
rele5 = Pin(23, Pin.OUT)
rele6 = Pin(25, Pin.OUT)
rele7 = Pin(26, Pin.OUT)
sensorM = Pin(21, Pin.IN, Pin.PULL_DOWN)
sensorM2 = Pin(5,Pin.IN, Pin.PULL_DOWN)
def conectarWIFI(red, password):
global miRed
miRed = network.WLAN(network.STA_IF)
if not miRed.isconnected():
miRed.active(True)
miRed.connect(red, password)
print('Conectandose a la red', red + "...")
timeout = time.time()
while not miRed.isconnected():
if time.ticks_diff(time.time(), timeout) > 10:
return False
return True
def control_reles(estado):
relays = [rele1, rele2, rele3, rele4, rele5, rele6, rele7]
for rele in relays:
if estado == "on":
rele.value(1)
else:
rele.value(0)
def control_rele(update, rele, estado):
if estado == "on":
rele.value(1)
update.reply("Luz encendida")
print("Luz encendida")
else:
rele.value(0)
update.reply("Luz apagada")
print("Luz apagada")
if conectarWIFI("Wokwi-GUEST", ""):
print("Conexión exitosa!")
print("Datos de la red (IP/netmask/gw/DNS):", miRed.ifconfig())
print("Ya está conectado, puede hacer pruebas")
@bot.add_message_handler("Menu")
def menu(update):
update.reply("Comandos disponibles:\n"
"OnCuarto1 - Encender Habitación 1\n"
"OffCuarto1 - Apagar Habitación 1\n"
"OnCuarto2 - Encender Habitación 2\n"
"OffCuarto2 - Apagar Habitación 2\n"
"OnCocina - Encender Cocina\n"
"OffCocina - Apagar Cocina\n"
"OnSala - Encender Sala\n"
"OffSala - Apagar Sala\n"
"OnPasillo - Encender Pasillo\n"
"OffPasillo - Apagar Pasillo\n"
"OnPatioF - Encender Patio Frontal\n"
"OffPatioF - Apagar Patio Frontal\n"
"OnPatioT - Encender Patio Trasero\n"
"OffPatioT - Apagar Patio Trasero\n"
"OnTodo - Encender Todas las Luces\n"
"OffTodo - Apagar Todas las Luces")
@bot.add_message_handler("OnTodo")
def on_all(update):
control_reles("on")
update.reply("Todas las luces están encendidas.")
print("Todas las luces están encendidas.")
@bot.add_message_handler("OffTodo")
def off_all(update):
control_reles("off")
update.reply("Todas las luces están apagadas.")
print("Todas las luces están apagadas.")
@bot.add_message_handler("OnCuarto1")
def on1(update): control_rele(update, rele1, "on")
@bot.add_message_handler("OffCuarto1")
def off1(update): control_rele(update, rele1, "off")
@bot.add_message_handler("OnCuarto2")
def on2(update): control_rele(update, rele2, "on")
@bot.add_message_handler("OffCuarto2")
def off2(update): control_rele(update, rele2, "off")
@bot.add_message_handler("OnCocina")
def on3(update): control_rele(update, rele3, "on")
@bot.add_message_handler("OffCocina")
def off3(update): control_rele(update, rele3, "off")
@bot.add_message_handler("OnSala")
def on4(update): control_rele(update, rele4, "on")
@bot.add_message_handler("OffSala")
def off4(update): control_rele(update, rele4, "off")
@bot.add_message_handler("OnPasillo")
def on5(update): control_rele(update, rele5, "on")
@bot.add_message_handler("OffPasillo")
def off5(update): control_rele(update, rele5, "off")
@bot.add_message_handler("OnPatioF")
def on6(update): control_rele(update, rele6, "on")
@bot.add_message_handler("OffPatioF")
def off6(update): control_rele(update, rele6, "off")
@bot.add_message_handler("OnPatioT")
def on7(update): control_rele(update, rele7, "on")
@bot.add_message_handler("OffPatioT")
def off7(update): control_rele(update, rele7, "off")
bot.start_loop()
else:
print("Imposible conectar")
miRed.active(False)