#include <WiFi.h>
#include <PubSubClient.h>
#define LED_PIN 26
// WiFi do Wokwi
const char* ssid = "Wokwi-GUEST";
const char* password = "";
// Broker MQTT
const char* mqtt_server = "broker.hivemq.com";
WiFiClient espClient;
PubSubClient client(espClient);
float temperatura = 29.0;
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
// Conectar WiFi
WiFi.begin(ssid, password);
Serial.print("Conectando WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi conectado");
// Configura MQTT
client.setServer(mqtt_server, 1883);
}
void reconnect() {
while (!client.connected()) {
Serial.print("Conectando MQTT...");
if (client.connect("ESP32-Ana")) {
Serial.println(" conectado!");
} else {
Serial.println(" falhou, tentando novamente...");
delay(2000);
}
}
}
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
// Publica temperatura
client.publish("casa/sala/temperatura", String(temperatura).c_str());
Serial.print("Temperatura enviada: ");
Serial.println(temperatura);
temperatura += 0.1;
delay(2000);
}