import network
import time
from machine import Pin
import dht
import urequests
# Configuración WiFi
WIFI_SSID = "Wokwi-GUEST"
WIFI_PASSWORD = ""
# Configuración de ThingSpeak
THINGSPEAK_API_KEY = "W1OYY98T62IZ67CR" # Reemplaza con tu Write API Key
THINGSPEAK_URL = "http://api.thingspeak.com/update"
# Inicialización del sensor DHT22
sensor = dht.DHT22(Pin(15))
# Conexión WiFi
print("Conectando a WiFi...", end="")
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect(WIFI_SSID, WIFI_PASSWORD)
while not sta_if.isconnected():
print(".", end="")
time.sleep(0.5)
print(" ¡Conectado!")
# Bucle principal
while True:
try:
# Leer datos del sensor
sensor.measure()
temperatura = sensor.temperature()
humedad = sensor.humidity()
print(f"Temperatura: {temperatura} °C, Humedad: {humedad} %")
# Enviar datos a ThingSpeak
payload = f"api_key={THINGSPEAK_API_KEY}&field1={temperatura}&field2={humedad}"
response = urequests.post(THINGSPEAK_URL, data=payload)
print("Datos enviados a ThingSpeak. Respuesta:", response.text)
response.close()
except Exception as e:
print("Error al medir o enviar datos:", e)
# Esperar 25 segundos (intervalo mínimo para ThingSpeak)
time.sleep(25)