#include <WiFi.h>
#include <PubSubClient.h>
#include <DHTesp.h>
const int DHT_PIN = 12;
DHTesp dht;
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* mqtt_broker = "mqtt-dashboard.com";
unsigned long lastMsg = 0;
WiFiClient espClient;
PubSubClient client(espClient);
//fungsi untuk setup connection wifi
void setup_wifi() {
Serial.println();
Serial.print("Connection to ");
Serial.print(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
}
Serial.println("WiFi Connected With IP");
Serial.println(WiFi.localIP());
}
void setup() {
Serial.begin(115200);
setup_wifi();
client.setServer(mqtt_broker, 1883);
dht.setup(DHT_PIN, DHTesp::DHT22);
}
void loop() {
client.loop();
unsigned long now = millis();
if (now - lastMsg > 1000) {
lastMsg = now;
TempAndHumidity data = dht.getTempAndHumidity();
String temp = String(data.temperature, 2);
client.publish("/edspert/publish/temp", temp.c_str());
String hum = String(data.humidity, 2);
client.publish("/edspert/publish/hum", hum.c_str());
Serial.print("Temp : ");
Serial.println(temp);
Serial.print("Hum : ");
Serial.println(hum);
}
}