//Envio de Dados para tagoIO via MQTT
#include "DHT.h"
#include "EspMQTTClient.h"
#include <ArduinoJson.h>
//configurações da conexão MQTT
EspMQTTClient client
(
"Wokwi-GUEST", //nome da sua rede Wi-Fi
"", //senha da sua rede Wi-Fi
"mqtt.tago.io", // MQTT Broker server ip padrão da tago
"Default", // username
"", // Código do Token
"ESP", // Client name that uniquely identify your device
1883 // The MQTT port, default to 1883. this line can be omitted
);
//configuração do MPU
DHT dht(26, DHT22);
char temp[100];
char umid[100];
float temperatura;
float umidade;
void setup()
{
Serial.begin(115200);
pinMode(23, OUTPUT);
}
void onConnectionEstablished()
{
Serial.println("Conexão estabelecida");
client.subscribe("/casa/btn", [] (const String &payload) {
Serial.println(payload);
if(payload == "on"){
digitalWrite(23, HIGH);
}else{
digitalWrite(23, LOW);
}
});
}
//loop do programa
void loop()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
Serial.println(t);
Serial.println(h);
StaticJsonDocument<300> dadosT;
StaticJsonDocument<300> dadosU;
dadosT["variable"] = "dado_temp";
dadosT["value"] = t;
dadosU["variable"] = "dado_umid";
dadosU["value"] = h;
serializeJson(dadosT, temp);
serializeJson(dadosU, umid);
client.publish("casa/cozinha/temperatura", temp); // You can activate the retain flag by setting the third parameter to true
client.publish("casa/cozinha/umidade", umid); // You can activate the retain flag by setting the third parameter to true
delay(1000);
client.loop();
}