#include <WiFi.h>
#include <DHT.h>
#include <FirebaseESP32.h>
#define FIREBASE_HOST "https://iot-semseter6-default-rtdb.asia-southeast1.firebasedatabase.app"
#define FIREBASE_AUTH "0LvP3Z3qNlaAgGPCGPBjXRxLBnwvTpFwa1Jt3q44"
const char* ssid = "Wokwi-GUEST";
const char* password = "";
#define DHTPIN 13
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// Firebase objects
FirebaseData fbdo;
FirebaseAuth auth;
FirebaseConfig config;
void wifiConnection() {
WiFi.begin(ssid, password);
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println("\nWiFi connected!");
Serial.println("SSID: " + WiFi.SSID());
Serial.println("RSSI: " + String(WiFi.RSSI()));
Serial.println("IP Address: " + WiFi.localIP().toString());
Serial.println("Gateway: " + WiFi.gatewayIP().toString());
Serial.println("DNS: " + WiFi.dnsIP().toString());
}
void firebaseInit() {
config.database_url = FIREBASE_HOST;
config.signer.tokens.legacy_token = FIREBASE_AUTH;
Firebase.begin(&config, &auth);
Firebase.reconnectWiFi(true);
}
void setup() {
Serial.begin(115200);
wifiConnection();
dht.begin();
pinMode(LED_BUILTIN, OUTPUT);
firebaseInit();
}
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Kirim suhu ke Firebase
if (Firebase.setFloat(fbdo, "/SUHU", temperature)) {
Serial.println("Temperature sent: " + String(temperature));
} else {
Serial.println("Failed to send temperature: " + fbdo.errorReason());
}
delay(2000);
}