from machine import Pin
import time
from time import sleep_ms
import dht
import ujson
from umqtt.simple import MQTTClient
import network
MQTT_CLIENT_ID = "micropython-weather-demo"
MQTT_BROKER = "broker.mqttdashboard.com"
MQTT_USER = ""
MQTT_PASSWORD = ""
MQTT_TOPIC = "wokwi-weather"
sensor = dht.DHT22(Pin(15))
Led = Pin (23,Pin.OUT, value = 0)
sensor = dht.DHT22(Pin(25))
buzzer = Pin(23,Pin.OUT, value = 0)
print("Conectando ao WiFi", end="")
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect('Wokwi-GUEST', '')
while not sta_if.isconnected():
print(".", end="")
sleep_ms(1000)
print(" Conectado ")
print("Conectando ao servidor MQTT... ", end="")
client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, user=MQTT_USER, password=MQTT_PASSWORD)
client.connect()
print(" Conectado")
while True:
dados ['ts'] = (time( ) + 946_684_800)*1000
sensor.measure()
temp = sensor.temperature()
humid = sensor.humidity()
if (humid > 70 or humid < 30) or (temp > 30 or temp < 10):
if (humid > 70 or humid < 30) and (temp > 30 or temp < 10):
print (f'''Falha crítica:
Temperatura: {temp}°C,
Umidade: {humid}%''')
Led.on()
sleep_ms(500)
Led.off()
sleep_ms(250)
buzzer.value(1)
sleep_ms(500)
buzzer.value(0)
buzzer.value(500)
else:
if temp > 30:
print(f'''
Temperatura Alta: {temp}°C
Umidade normal: {humid}%''')
elif temp < 15:
print(f'''
Temperatura Baixa: {temp}°C
Umidade normal: {humid}%''')
elif humid > 70:
print(f'''
Umidade Alta: {humid}%
Temperatura normal {temp}°C''')
elif humid < 30:
print(f'''
Umidade Baixa: {humid}%
Temperatura normal: {temp}°C''')
Led.on()
sleep_ms(1000)
Led.off()
sleep_ms(500)
buzzer.value(1)
sleep_ms(1000)
buzzer.value(0)
buzzer.value(500)
else:
print (f'''Condições normais:
Temperatura: {temp}°C;
Umidade: {humid}%''')
Led.off()
sleep_ms(1000)