//Envio de Dados para tagoIO via MQTT
#include <ArduinoJson.h>
#include "EspMQTTClient.h"
#include "DHT.h"
#define DHTTYPE DHT22
uint8_t DHTPin = 21;
DHT dht(DHTPin, DHTTYPE);
//variáveis para Json
char temp[100];
char umid[100];
float temperatura;
float umidade;
//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
"47b37153-ff20-4bbc-aa21-447d9286fe15", // Código do Token
"TestClient", // Client name that uniquely identify your device
1883 // The MQTT port, default to 1883. this line can be omitted
);
void setup (){
pinMode(DHTPin, INPUT);
dht.begin();
Serial.begin(115200);
}
// This function is called once everything is connected (Wifi and MQTT)
// WARNING : YOU MUST IMPLEMENT IT IF YOU USE EspMQTTClient
void onConnectionEstablished()
{}
void loop()
{
//atribui valores aleatórios para variável
temperatura = dht.readTemperature();
umidade = dht.readHumidity();
Serial.print(temperatura);
Serial.println("C");
Serial.print(umidade);
Serial.println("%");
//arquivo Json
StaticJsonDocument<300> dadosT;
StaticJsonDocument<300> dadosU;
dadosT["variable"] = "dado_temp";
dadosT["value"] = temperatura;
dadosU["variable"] = "dado_umid";
dadosU["value"] = umidade;
serializeJson(dadosT, temp);
serializeJson(dadosU, umid);
//envio de dados
client.publish("info/temp", temp); // You can activate the retain flag by setting the third parameter to true
client.publish("info/umid", umid); // You can activate the retain flag by setting the third parameter to true
delay(1000);
client.loop();
}