#include <WiFi.h>
#include <PubSubClient.h>
#include "DHT.h"
#define DHTPIN 27
#define DHTTYPE DHT22
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* mqtt_server = "server";
WiFiClient espClient;
PubSubClient client(espClient);
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
// Conectar ao Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("\nWi-Fi conectado");
// Configurar broker MQTT
client.setServer(mqtt_server, 1883);
while (!client.connected()) {
if (client.connect("ESP32Client")) {
Serial.println("Conectado ao broker MQTT!");
} else {
Serial.print("Falha na conexão. Código de erro: ");
Serial.println(client.state());
delay(2000);
}
}
}
void loop() {
static unsigned long lastPublish = 0;
if (millis() - lastPublish > 5000) {
float temp = dht.readTemperature();
if (!isnan(temp)) {
String message = String(temp);
client.publish("Evandro/dashboard/sensor/temperature", message.c_str());
Serial.println("Temperatura publicada: " + message);
} else {
Serial.println("Falha na leitura do sensor!");
}
lastPublish = millis();
}
client.loop();
}