#Sensor de temperatura y humedad DHT22
import network #Este comando importa la librería de MicroPython titulada "network"
import time #Este importa la librería de MicroPython titulada "time"
from machine import Pin #para pines de la placa
import dht #Importar libreria de sensores dht
import ujson
from umqtt.simple import MQTTClient
led=Pin(2,Pin.OUT)#Pin para el led ##################
# MQTT Server Parameters
MQTT_CLIENT_ID = "micropython-weather-demo" #identificamos al cliente
MQTT_BROKER = "broker.mqttdashboard.com" #asignamos direccion al broker
MQTT_USER = "" #para asignar un nombre de usuario
MQTT_PASSWORD = "" #para crear una contraseña
MQTT_TOPIC = "wokwi-weather" #topic en el cual se estara intercambiando informacion
sensor = dht.DHT22(Pin(4)) #Pin para el sensor
#Establecerconexión de la tarjeta a una red wifi
print("Connecting to WiFi", end="")#se muestra mientras conecta
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect('Wokwi-GUEST', '')
while not sta_if.isconnected():
print(".", end="")
time.sleep(0.1)
print(" Connected!") #se muestra con la conexión establecida
#Establecer conexión al servidor MQTT
print("Connecting to MQTT server... ", end="") #se muestra mientras conecta
client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, user=MQTT_USER, password=MQTT_PASSWORD)
client.connect()
print("Connected!") #se muestra con la conexión establecida
#obtencion de datos del sensor
prev_weather = ""
while True: #mientras el sensor opere
print("Measuring weather conditions... ", end="")
sensor.measure() #Sensado del sensor
#####################
# las variables son sensor.temperature() y sensor.humidity()
#aquí unir los código
if sensor.temperature()>30:
#acción del servo
#servo(servo1,0) ##Servo, vete a cero grados
#time.sleep(0.5) ##Esperate 0.5segundos
led.on()
else:
led.off()
message = ujson.dumps({ #interpretacion de datos del sensor
"temp": sensor.temperature(), #declara una variable para la temperatura la cual adquiere un valor proporcionado por el sensor
"humidity": sensor.humidity(), #declara una variable para la humedad la cual adquiere un valor proporcionado por el sensor
})
#Se dan a conocer los datos obtenidos
if message != prev_weather: #Si la medicion del clima se actualiza
print("Updated!")
print("Reporting to MQTT topic {}: {}".format(MQTT_TOPIC, message)) #Se envia los datos del sensor al servidor MQTT
client.publish(MQTT_TOPIC, message) #El servidor publica los datos en el topic correspondiente
prev_weather = message
else:
print("No change") #si la medicion del clima no se actualiza mostrar mensaje "sin cambios"
time.sleep(1) #Segundos trasncurridos entre actualizaciones de estado