import network
import time
from machine import Pin
import dht
from umqtt.simple import MQTTClient
# --- DATOS DE CONEXIÓN ---
WIFI_SSID = "Wokwi-GUEST"
WIFI_PASS = ""
ADAFRUIT_USER = "rfernandez31"
ADAFRUIT_KEY = "aio_XiWL64jCHT3oa5VODkJVq6nsvRBJ"
# Feeds (Ruta: usuario/feeds/nombre-del-feed)
FEED_TEMP = f"{ADAFRUIT_USER}/feeds/temp"
# Hardware
sensor = dht.DHT22(Pin(9))
# --- CONECTAR WIFI ---
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(WIFI_SSID, WIFI_PASS)
while not wlan.isconnected():
print("Esperando conexión...")
time.sleep(1)
# --- CONECTAR A ADAFRUIT IO (MQTT) ---
client = MQTTClient("PicoW_Client", "io.adafruit.com", user=ADAFRUIT_USER, password=ADAFRUIT_KEY, port=1883)
client.connect()
print("¡Conectado a Adafruit IO!")
while True:
try:
sensor.measure()
t = sensor.temperature()
h = sensor.humidity()
# Publicar datos
print(f"Subiendo: T:{t} H:{h}")
client.publish(FEED_TEMP, str(t))
client.publish(FEED_HUM, str(h))
time.sleep(10) # Adafruit soporta hasta 30-60 datos por minuto en cuenta gratis
except Exception as e:
print("Error:", e)
# Intenta reconectar si se pierde la conexión
time.sleep(5)
machine.reset()Loading
pi-pico-w
pi-pico-w