#include <WiFi.h>
#include <FirebaseESP32.h>
// Replace with your network credentials
const char* ssid = "Wokwi-GUEST";
const char* password = "";
// Firebase project configuration
FirebaseConfig config;
FirebaseAuth auth;
FirebaseData firebaseData;
void setup() {
Serial.begin(115200);
// Connect to Wi-Fi
WiFi.begin(ssid, password);
Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nConnected to Wi-Fi");
// Firebase configuration
config.host = "project-iot-bd030-default-rtdb.firebaseio.com"; // Replace with your Firebase Database URL (without "https://")
config.api_key = "AIzaSyARZI7NWbl7BbSOrd_mgoU9qHtu3R-xDL4"; // Replace with your Firebase API key
// Optional authentication for email/password users
// auth.user.email = "[email protected]";
// auth.user.password = "your-password";
// Initialize Firebase
Firebase.begin(&config, &auth);
Firebase.reconnectWiFi(true);
Serial.println("Firebase initialized");
}
void loop() {
// Simulated data
float temperature = random(200, 300) / 10.0; // Simulate 20.0°C to 30.0°C
float humidity = random(400, 600) / 10.0; // Simulate 40.0% to 60.0%
// Update data in Firebase using FirebaseData object
if (Firebase.setFloat(firebaseData, "/sensor/temperature", temperature)) {
Serial.println("Temperature updated successfully: " + String(temperature));
} else {
Serial.println("Failed to update temperature: " + firebaseData.errorReason());
}
if (Firebase.setFloat(firebaseData, "/sensor/humidity", humidity)) {
Serial.println("Humidity updated successfully: " + String(humidity));
} else {
Serial.println("Failed to update humidity: " + firebaseData.errorReason());
}
// Wait 5 seconds before the next update
delay(5000);
}