from machine import Pin
import network, time , urequests
from dht import DHT22
from umqtt.simple import MQTTClient
import ujson
sensor = DHT22(Pin(4))
#parámetros MQTT SERVER
MQTT_CLIENT_ID = "nazi_digi" #cambiar siempre
MQTT_BROKER = "broker.hivemq.com"
MQTT_USER = ""
MQTT_PASSWORD = ""
MQTT_TOPIC = "nazi/digi" #Cambiar siempre
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",""): #red y contraseña
print("Conexion exitosa")
print("Datos de la red:", miRed.ifconfig())
print("Conectando al MQTT SERVER:" , MQTT_BROKER , "...")
client = MQTTClient(MQTT_CLIENT_ID , MQTT_BROKER , user = MQTT_USER , password = MQTT_PASSWORD)
client.connect()
print("Conectando al Broker.... ")
while True:
sensor.measure()
temp = sensor.temperature()
humedad = sensor.humidity()
print("La temperatura es: {}°C La humedad es: {}% ".format(temp,humedad))
print("Revisando el entorno...")
message = ujson.dumps({"Temperatura":temp,"Humedad":humedad})
print("Enviando datos a MQTT {}: {}".format(MQTT_TOPIC, message))
client.publish(MQTT_TOPIC, message)
else:
print("Conexion Fallida")
miRed.active (False)