from machine import Pin
import time
import dht
#import mysql.connector
import urequests  # MicroPython usa `urequests` en lugar de `requests`


# Configurar sensor DHT22 y led en el pin 22 y 19
sensor = dht.DHT22(Pin(21))
led = Pin(19, Pin.OUT)

url = "http://127.0.0.1/datos.php"

# Conectar a la base de datos MySQL
#db = mysql.connector.connect(
 #   host="localhost",
 #   user="root",
  #  password="",
  #  database="registros"
#)
#cursor = db.cursor()

while True:
    try:
        # Leer datos del sensor DHT22
        led.value(1)
        sensor.measure()
        temp = sensor.temperature()
        Hum = sensor.humidity()
        estado_led = "Encendido" 
        # Insertar datos en MySQL
        #query = "INSERT INTO datos (temperatura, humedad, estado_led) VALUES (%s, %s, %s)"
        #cursor.execute(query, (temp, hum, estado_led))
        #db.commit()
        #print("Datos guardados:","Temperatura:", temp, "°C - Humedad:", Hum, "%", estado_led)   
       # Crear datos a enviar
        data = {
            "temperatura": temp,
            "humedad": hum,
            "estado_led": estado_led
        }
        # Enviar datos a PHP
        response = urequests.post(url, json=data)
        print("Respuesta del servidor:", response.text)
        response.close()
        time.sleep(2)  # Mantener encendido por 2 segundos

        # Apagar el LED
        led.value(0)
        estado_led = "Apagado"
       # query = "INSERT INTO datos (temperatura, humedad, estado_led) VALUES (%s, %s, %s)"
       # cursor.execute(query, (temp, hum, estado_led))
        #db.commit()
        #print("LED apagado, datos guardados:", estado_led)
        # Enviar nuevo estado
        data["estado_led"] = estado_led
        response = urequests.post(url, json=data)
        print("Respuesta del servidor:", response.text)
        response.close()
        time.sleep(2)  # Mantener apagado por 2 segundos

    except Exception as e:
        print("Error:", e)

# Cerrar conexión (en caso de que el programa termine)
cursor.close()
db.close()












# Imprimir un mensaje de confirmación
#print("Datos cargados exitosamente en la base de datos.")