#include "FirebaseESP32.h"
#include <WiFi.h>
#include <DHT.h>
// GANTI DENGAN FIREBASE HOST ANDA
#define FIREBASE_HOST "kontrol-lampu-dan-dht22-default-rtdb.firebaseio.com"
//GANTI DENGAN FIREBASE AUTH ANDA
#define FIREBASE_AUTH "9QpKAV0jZgk0WtoRV1ovc43P5Jz9KJqkShHEKGLw"
//---GANTI SESUAI DENGAN JARINGAN WIFI
//---HOTSPOT ANDA
#define WIFI_SSID "Wokwi-GUEST" // Nama Hotspot/WiFi
#define WIFI_PASSWORD "" // Password
#define LED1 19
#define LED2 18
#define LED3 5
#define LED4 4
#define LED5 2
#define DHTPIN 12
FirebaseData firebaseData;
String c;
DHT dht(DHTPIN, DHT22); String s;
float temp,humi;
//======================================
void setup()
{
Serial.begin(9600);
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(LED5,OUTPUT);
dht.begin();
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 ...");
//Serial.println(WiFi.localIP());
//Serial.println();
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Firebase.reconnectWiFi(true);
if('Firebase.setString', 'firebaseData', "DHT22/LED 1", "DHT22/LED 2", "DHT22/LED 3", "DHT22/LED 4", "DHT22/LED 5", "0")
{
//Success
Serial.println("Set int data success");
}else{
//Failed?, get the error reason from firebaseData
Serial.print("Error in setString, ");
}
}
//===================================
void loop()
{
if(Firebase.get(firebaseData, "DHT22/LED 1"))
{
//Success
Serial.print("Led 1 = ");
Serial.println(firebaseData.stringData());
c=firebaseData.stringData();
digitalWrite(LED1, (c.toInt()));
}else{
//Failed?, get the error reason from firebaseData
Serial.print("Error in getInt, ");
Serial.println(firebaseData.errorReason());
}
delay(200);
if(Firebase.get(firebaseData, "DHT22/LED 2"))
{
//Success
Serial.print("Led 2 = ");
Serial.println(firebaseData.stringData());
c=firebaseData.stringData();
digitalWrite(LED2, (c.toInt()));
}else{
//Failed?, get the error reason from firebaseData
Serial.print("Error in getInt, ");
Serial.println(firebaseData.errorReason());
}
delay(200);
if(Firebase.get(firebaseData, "DHT22/LED 3"))
{
//Success
Serial.print("Led 3 = ");
Serial.println(firebaseData.stringData());
c=firebaseData.stringData();
digitalWrite(LED3, (c.toInt()));
}else{
//Failed?, get the error reason from firebaseData
Serial.print("Error in getInt, ");
Serial.println(firebaseData.errorReason());
}
delay(200);
if(Firebase.get(firebaseData, "DHT22/LED 4"))
{
//Success
Serial.print("Led 4 = ");
Serial.println(firebaseData.stringData());
c=firebaseData.stringData();
digitalWrite(LED4, (c.toInt()));
}else{
//Failed?, get the error reason from firebaseData
Serial.print("Error in getInt, ");
Serial.println(firebaseData.errorReason());
}
delay(200);
if(Firebase.get(firebaseData, "DHT22/LED 5"))
{
//Success
Serial.print("Led 5 = ");
Serial.println(firebaseData.stringData());
c=firebaseData.stringData();
digitalWrite(LED5, (c.toInt()));
}else{
//Failed?, get the error reason from firebaseData
Serial.print("Error in getInt, ");
Serial.println(firebaseData.errorReason());
}
delay(200);
{ char buffer[6];
humi = dht.readHumidity();
temp = dht.readTemperature();
if (isnan(humi) || isnan(temp)) { Serial.println("DHT11 tidak terbaca... !"); return;
}
else{
s = dtostrf(temp, 5,2, buffer);
Firebase.setString(firebaseData, "DHT22/Temp",s);
s = dtostrf(humi, 5,2, buffer); Firebase.setString(firebaseData, "DHT22/Humi",s); Serial.print("Temperature="); Serial.println(temp); Serial.print("Humidity="); Serial.println(humi); Serial.println();
}
delay(200);
}
}