from machine import Pin
import dht # Sensor de temperatura y humedad
import time
import network
import ujson
from umqtt.simple import MQTTClient
############ CONFIGURACIÓN DE MQTT ###########
# Parámetros del servidor MQTT
MQTT_CLIENT_ID = "TFM IND4.0 2024"
MQTT_BROKER = "io.adafruit.com"
MQTT_USER = "oscarantonio_cedeno130"
MQTT_PASSWORD = "aio_Wdpt48pouCTCnDA3Cv9rTLCin9ch"
print("Conectando a Red WiFi", end="")
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect('Wokwi-GUEST', '')
while not wifi.isconnected():
print(".", end="")
time.sleep(0.1)
print(" ¡Conectado a Red Wifi!")
print("Conectando al servidor de comunicación MQTT... ", end="")
mqtt_client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, user=MQTT_USER, password=MQTT_PASSWORD)
mqtt_client.connect()
print("¡Conectado en MQTT!")
###############################################
# Configuración de pines para el DHT1
sensor1 = dht.DHT22(Pin(19))
# Configuración de pines para el DHT2
sensor2 = dht.DHT22(Pin(18))
prev_weather1 = ""
prev_weather2 = ""
while True:
# Lectura de temperatura del DHT1
sensor1.measure()
temp1 = sensor1.temperature()
humidity1 = sensor1.humidity()
# Lectura de temperatura del DHT2
sensor2.measure()
temp2 = sensor2.temperature()
humidity2 = sensor2.humidity()
if temp1 != prev_weather1:
print("Temperatura Sensor 1")
mqtt_topic = "oscarantonio_cedeno130/feeds/temp_sensor1"
mensaje = ujson.dumps(
temp1,
)
print(mensaje)
mqtt_client.publish(mqtt_topic, mensaje)
prev_temp = temp1
if humidity1 != prev_weather1:
print("Humedad Sensor 1")
mqtt_topic = "oscarantonio_cedeno130/feeds/humidity_sensor1"
mensaje = ujson.dumps(
humidity1
)
print(mensaje)
mqtt_client.publish(mqtt_topic, mensaje)
prev_humidity = humidity1
if temp2 != prev_weather2:
print("Temperatura Sensor 2")
mqtt_topic = "oscarantonio_cedeno130/feeds/temp_sensor2"
mensaje = ujson.dumps(
temp2
)
print(mensaje)
mqtt_client.publish(mqtt_topic, mensaje)
prev_temp = temp2
if humidity2 != prev_weather2:
print("Humedad Sensor 2")
mqtt_topic = "oscarantonio_cedeno130/feeds/humidity_sensor2"
mensaje = ujson.dumps(
humidity2
)
print(mensaje)
mqtt_client.publish(mqtt_topic, mensaje)
prev_humidity = humidity2
time.sleep(5)