import network
from machine import Pin, PWM
import time
import utelegram
import privado
sensorM = Pin(21, Pin.IN, Pin.PULL_DOWN)
rele = Pin(14, Pin.OUT)
boton_encender = Pin(19, Pin.IN)
boton_apagar = Pin(18, Pin.IN)
# Estado de los botones
encendido = False
apagado = False
# Función para conectar a la red WiFi
def conectarWIFI(red, password):
global miRed
miRed = network.WLAN(network.STA_IF)
if not miRed.isconnected():
miRed.active(True)
miRed.connect(red, password)
print('Conectándose a la red ....', red +"...")
timeout = time.time()
while not miRed.isconnected():
if(time.ticks_diff(time.time(), timeout) > 20):
return False
return True
# Conexión a la red WiFi
if conectarWIFI("Wokwi-GUEST", ""):
print("Conexión exitosa!!")
print("Datos de red (IP/netmask/gw/DNS): ", miRed.ifconfig())
print("Ya está conectado. Puede proceder a realizar sus respectivas pruebas")
while True:
# Botón de encendido
if boton_encender.value() == 1:
if not encendido:
print("Intruso Detectado")
medicion = sensorM.value()
if medicion == 0:
buzzer = PWM(Pin(4), freq=500, duty=512)
rele.value(1) # Enciende el LED conectado al relé
print("!ALERTA! Se detectó una persona no conocida dentro de la vivienda")
try:
# Crear una instancia del bot con tu token
miBot = utelegram.Bot(privado.token)
# Enviar un mensaje usando el método send_message
miBot.send_message(privado.chat_id, '¡ALERTA! Se detectó una persona no conocida dentro de la vivienda')
miBot = None
encendido = True
except Exception as e:
print("Error al enviar el mensaje:", e)
else:
encendido = False
if boton_apagar.value() == 1:
if not apagado:
print("Intruso Detectado")
medicion = sensorM.value()
if medicion == 0:
buzzer = PWM(Pin(4), freq=1, duty=0)
rele.value(0) # Apaga el LED conectado al relé
print("!No te preocupes! La persona desconocida ya fue capturada")
try:
# Crear una instancia del bot con tu token
miBot = utelegram.Bot(privado.token)
# Enviar un mensaje usando el método send_message
miBot.send_message(privado.chat_id, '!No te preocupes! La persona desconocida ya fue capturada, por eso apagamos la alarma')
apagado = True
except Exception as e:
print("Error al enviar el mensaje:", e)
else:
apagado = False
# Botón de apagado
'''if boton_apagar.value() == 1:
if not apagado:
print("Intruso Atrapado")
apagado = True
if rele.value() == 1:
boton_encender.value(0)
buzzer = PWM(Pin(4), freq=1, duty=0)
rele.value(0) # Asegura que el LED conectado al relé se apague cuando se atrape al intruso
print("!No te preocupes! La persona desconocida ya fue capturada")
try:
# Crear una instancia del bot con tu token
miBot = utelegram.Bot(privado.token)
# Enviar un mensaje usando el método send_message
miBot.send_message(privado.chat_id, '!No te preocupes! La persona desconocida ya fue capturada')
encendido = True
except Exception as e:
print("Error al enviar el mensaje:", e)
else:
apagado = False'''
time.sleep(0.1)
else:
print("Error al conectar")
miRed.active(False)