from machine import Pin
import network,time, urequests
from dht import DHT22
from umqtt.simple import MQTTClient
import ujson
sensor_dht= DHT22(Pin(4))
#Parametros MQTT SERVER
MQTT_CLIENT_ID="dht/sofia" #cambiar siempre
MQTT_BROKER="broker.hivemq.com"
MQTT_USER=""
MQTT_PASSWORD=""
MQTT_TOPIC="digitales/3"
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("conexión existosa")
print("Datos de la red (IP/netmask/gw/DNS): ", miRed.ifconfig())
print("conectando a MQTT SERVER: ", MQTT_BROKER, "...")
client=MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER,user=MQTT_USER, password=MQTT_PASSWORD)
client.connect()
print("conectado al broker...")
while True:
sensor_dht.measure()
temp=sensor_dht.temperature()
hum=sensor_dht.humidity()
print("La temperatura es:{}°c, La humedad es: {}%".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("Conexión fallida")
miRed.active(False)