#include "DHTesp.h"
#include <NusabotSimpleTimer.h>
#include <WiFi.h>
#include <MQTT.h>
const char ssid[] = "Wokwi-GUEST";
const char pass[] = "";
DHTesp dhtSensor;
NusabotSimpleTimer timer;
WiFiClient net;
MQTTClient client;
const int pinDHT = 12;
void setup() {
Serial.begin(115200);
dhtSensor.setup(pinDHT, DHTesp::DHT22);
WiFi.begin(ssid, pass);
client.begin("103.196.153.184", net);
timer.setInterval(2000, readDHT);
connect();
}
void loop() {
timer.run();
}
void readDHT(){
TempAndHumidity data = dhtSensor.getTempAndHumidity();
String suhu = String(data.temperature, 2);
String kelembapan = String(data.humidity, 1);
String data = "{\"suhu\":"+ suhu + ",\"kelembapan\":" + kelembapan + ")";
Serial.println(data);
client.publish("test", data, 1, true);
}
void connect() {
Serial.print("Menghubungkan ke WiFi...");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(1000);
}
Serial.println("Terhubung ke WiFi");
Serial.print("\nconnecting...");
while (!client.connect("esp32-dht", "public", "public")) {
Serial.print(".");
delay(1000);
}
Serial.println("\nTerhubung ke server!");
}