#include <WiFi.h>
#include <PubSubClient.h>
#include <DHT.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* mqtt_server = "broker.mqtt-dashboard.com";
const char* topic6 = "suhu/satu";
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
WiFiClient wifiClient;
PubSubClient client(wifiClient);
void setup() {
Serial.begin(115200);
// Menghubungkan ke WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// Menghubungkan ke MQTT broker
client.setServer(mqtt_server, 1883);
while (!client.connected()) {
Serial.println("Connecting to MQTT broker...");
if (client.connect("ESP32Client")) {
Serial.println("Connected to MQTT broker");
} else {
Serial.print("Failed with state ");
Serial.print(client.state());
delay(2000);
}
}
// Inisialisasi DHT
dht.begin();
}
void loop() {
float temperature = dht.readTemperature();
if (isnan(temperature)) {
Serial.println("Gagal membaca suhu dari sensor DHT22");
return;
}
char message[3];
snprintf(message, 3, "%f", temperature);
if (client.connect("ESP32")) {
client.publish(topic6, message);
}
delay(100);
}