from machine import Pin
import network, time, urequests
from dht import DHT22
from umqtt.simple import MQTTClient
import ujson
sensordht=DHT22(Pin(4))
#paremteros MQTT SERVER
MQTT_CLIENT_ID="dht_karenmaria" #cambiar siempre
MQTT_BROKER="broker.hivemq.com"
MQTT_USER=""
MQTT_PASSWORD=""
MQTT_TOPIC="karenmaria1/digitales"
def conectawifi(red,password):
global miRed
miRed = network.WLAN(network.STA_IF)
if not miRed.isconnected():
miRed.active(True)
miRed.connect(red, password)
print("conectando a la red", red+"...")
timeout=time.time()
while not miRed.isconnected():
if(time.ticks_diff(time.time(), timeout)>10):
return False
return True
if conectawifi("Wokwi-GUEST",""):
print("Conexion exitosa")
print("Datos de la red:", miRed.ifconfig())
print("Conectando a MQTT SERVER: ",MQTT_BROKER,"...",end="")
client=MQTTClient(MQTT_CLIENT_ID,MQTT_BROKER,user=MQTT_USER,password=MQTT_PASSWORD)
client.connect()
print("Conectado al broker...")
while True:
sensordht.measure()
temp=sensordht.temperature()
hum=sensordht.humidity()
print("Temperatura= {:.2f}°C, Humedad={:.2f}%".format(temp,hum))
print("Revisando el entorno...")
message = ujson.dumps({
"Temperatura": temp,
"Humedad": hum
})
print("Enviando datos a MQTT {}: {}".format(MQTT_TOPIC,message))
client.publish(MQTT_TOPIC,message)
else:
print("Conexion inexitosa")
miRed.active(False)