#include <WiFi.h>
#include <FirebaseESP32.h>
#include <DHT.h>
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASSWORD ""
#define FIREBASE_HOST "https://q4ict276-default-rtdb.firebaseio.com/"
#define FIREBASE_AUTH "kKyRFyExhCgqpLtfWGreK1xZX9Qp0N87UEuD4vm7"
#define DHTPIN 14 // DHT22 connected to GPIO4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
FirebaseData fbdo;
void setup() {
Serial.begin(115200);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println("Connected!");
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Firebase.reconnectWiFi(true);
dht.begin();
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (!isnan(temperature) && !isnan(humidity)) {
Serial.print("Temp: "); Serial.print(temperature);
Serial.print("°C, Hum: "); Serial.print(humidity);
Serial.println("%");
// Send data to Firebase
Firebase.setFloat(fbdo, "/Weather-Monitoring/Temperature", temperature);
Firebase.setFloat(fbdo, "/Weather-Monitoring/Humidity", humidity);
} else {
Serial.println("Failed to read from DHT sensor!");
}
delay(5000); // Send data every 5 seconds
}