import network
import time
from umqtt.simple import MQTTClient
import ujson
from machine import Pin
import dht
MQTT_CLIENT_ID = 'cliente'
MQTT_BROKER = 'broker.mqtt.cool'
MQTT_PORT = 1883
MQTT_USER = ''
MQTT_PASSWORD = ''
MQTT_TOPIC_PUB = 'esp32/teste'
MQTT_TOPIC_SUB = 'esp32/comandosapp'
led = Pin(19, Pin.OUT)
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect('Wokwi-GUEST', '')
print('Tentando se conectar ao WIFI...')
while not wifi.isconnected():
print(".", end='')
time.sleep(0.2)
print("Conectado com sucesso!")
print("Configuração de rede: ", wifi.ifconfig())
def connectMqtt():
client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, port=MQTT_PORT, user=MQTT_USER, password=MQTT_PASSWORD)
client.set_callback(recebeDados)
client.connect()
client.subscribe('esp32/comandosapp')
client.subscribe('esp')
print('Conectado ao Broker MQTT!')
return client
def recebeDados(topic, msg):
topico = topic.decode()
mensagem = msg.decode()
print('Topico Recebido: ', topico)
print('Mensagem recebida', mensagem)
if topico == 'esp32/comandosapp':
if mensagem == 'ligado':
print('led ligado')
led.on()
time.sleep(3)
led.off()
client = connectMqtt()
while True:
client
client.check_msg()
sensor = dht.DHT22(Pin(12))
sensor.measure()
temp = sensor.temperature()
humid = sensor.humidity()
dados = {
'temperatura' : temp,
'umidade' : humid
}
enviar = ujson.dumps(dados)
client.publish(MQTT_TOPIC_PUB, enviar)
print('A temperatura capturada é: ', temp)
print('A umidade capturada é : ', humid)
time.sleep(2)