from machine import Pin # Librería para manejo de pines
import utime # Librería para el manejo del tiempo
import network # Librería para conectividad de red
import urequests # Librería para hacer solicitudes HTTP
# Datos de Wi-Fi para Wokwi
SSID = 'Wokwi-GUEST' # Red Wi-Fi simulada en Wokwi
PASSWORD = '' # Sin contraseña en la red simulada
# Conectar a Wi-Fi
def conectar_wifi(ssid, password):
wlan = network.WLAN(network.STA_IF)
wlan.active(True) # Activar el modo estación
wlan.connect(ssid, password) # Conectar a la red Wi-Fi
# Esperar a que se conecte
while not wlan.isconnected():
print('Conectando a la red...')
utime.sleep(1)
print('Conectado a:', wlan.ifconfig()) # Mostrar dirección IP y detalles de conexión
# Crear el objeto del PIR, LED y buzzer
pir = Pin(15, Pin.IN, Pin.PULL_DOWN) # PIR conectado al pin 15 y GND
led_rojo = Pin(13, Pin.OUT) # LED conectado al pin 13 (salida) y GND
buzzer = Pin(14, Pin.OUT) # Buzzer conectado al pin 14 (salida) y GND
# Conectar a la red Wi-Fi simulada
conectar_wifi(SSID, PASSWORD)
# Función para enviar datos al servidor
def enviar_datos(sensor, valor, message):
data = {'sensor': sensor, 'value': valor, 'message': message}
print('Enviando datos:', data)
try:
response = urequests.post('https://iot-lot-2.onrender.com/data', json=data) # Cambia la URL si es necesario
print('Código de respuesta:', response.status_code)
print('Respuesta JSON:', response.json())
except Exception as e:
print('Error en la solicitud:', e)
# Bucle principal
while True:
estado = pir.value() # Leer el valor del PIR (1 si detecta movimiento, 0 si no)
if estado == 0: # Si no detecta movimiento
led_rojo.value(0) # Apagar el LED
buzzer.value(1) # Encender el buzzer
print('No hay nadie en el área')
enviar_datos('PIR', 0,'No se detecta movimiento cercano') # Enviar valor de 0 al servidor
else: # Si detecta movimiento
led_rojo.value(1) # Encender el LED
buzzer.value(0) # Apagar el buzzer
print('Hay alguien en el área')
enviar_datos('PIR', 1,'Se detecta movimiento cercano') # Enviar valor de 1 al servidor
utime.sleep(2) # Espera de 2 segundos
Loading
esp32-devkit-c-v4
esp32-devkit-c-v4