import network, time, urequests
from machine import Pin, ADC, PWM, reset
import dht
import utime
import ujson
from umqtt.simple import MQTTClient
MQTT_CLIENT_ID="espfelipe32"
MQTT_BROKER = "broker.hivemq.com"
MQTT_USER = ""
MQTT_PASSWORD = ""
MQTT_TOPIC = "digiapli/"
sensor = dht.DHT22(Pin(2))
def conectaWifi(red, password):
global miRed
miRed=network.WLAN(network.STA_IF)
if not miRed.isconnected():
miRed.active(True)
miRed.connect(red, password)
print('connecting to', 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('network config:', miRed.ifconfig())
print("Conectando a mi Broker...", MQTT_BROKER,"...",end = "")
client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, user = MQTT_USER, password = MQTT_PASSWORD)
client.connect()
print("Conectado")
while True:
sensor.measure()
temp = sensor.temperature()
hum = sensor.humidity()
print("Temp: {}°C, Hum: {}% ".format(temp, hum))
print("Revisando condiciones.........")
msg = ujson.dumps({
"Humedad": hum,
"Temperatura": temp
})
print("Reportando a MQTT Topic {}:{}".format(MQTT_TOPIC, msg))
client.publish(MQTT_TOPIC, msg)
else:
print("Imposible conectar")
miRed.active (False)