#include <WiFi.h> //memasukkan library wifi
#include <FirebaseESP32.h> //memasukkan library firebase untuk esp32
#include "DHTesp.h" //memasukkan library dht22 untuk esp32
#define WIFI_SSID "Wokwi-GUEST" //SSID Wifi yang digunakan
#define WIFI_PASSWORD "" // Password Wifi
#define API_KEY "AIzaSyDYbSj4Brd-a7dwI-fPqicHCuUfZTALBos" // Web API
#define DATABASE_URL "https://modul4-ae16e-default-rtdb.firebaseio.com/" // URL database
FirebaseData fbd; //object firebase data dengan nama fbd
FirebaseJson json; //object firebase json (untuk menjalankan perintah)
DHTesp dhtSensor; //object sensor namanya dhtSensor
String parentPath = "/data"; //alamat folder di firebase
String tempPath = "/temperature"; //didalam folser data terdapat folder ini
String humPath = "/humidity"; //didalam folder data terdapat folder ini
const int DHT_PIN = 15; //mendeklarasi pin DHT pada ESP
float temperature; //deklarasi variable temperature dengan format float
float humidity; //deklarasi variable humidity dengan format float
void setup() {
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(300);
}
Serial.println();
Serial.print("Connected with IP: ");
Serial.println(WiFi.localIP());
Serial.println();
Firebase.begin(DATABASE_URL, API_KEY);
Firebase.reconnectWiFi(true);
Firebase.setReadTimeout(fbd, 1000 * 60);
Firebase.setwriteSizeLimit(fbd, "tiny");
Serial.println("------------------------------------");
Serial.println("Connected...");
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
String temp = (String(data.temperature, 2) + "°C");
String hum = (String(data.humidity, 1) + "%");
Serial.println(temp);
Serial.println(hum);
json.set(tempPath, temp);
json.set(humPath, hum);
Firebase.updateNode(fbd, parentPath, json);
delay(1000);
}