#include<WiFi.h>
#include "RTClib.h"
#include <FirebaseESP32.h>
const char* ssid = "Wokwi-GUEST";
const char* pass = "";
#define auth "wToXGYOMiXZRJBcOVFjf0hQzvCdwkT18bAPOR9a0"//
#define host "https://coba-906ad-default-rtdb.firebaseio.com"//firebase
String jam,jadwal;
unsigned long waktuawal = millis();
FirebaseData jdl;
RTC_DS1307 rtc;
void setup () {
Serial.begin(115200);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("Connected");
Serial.println(WiFi.localIP());
Firebase.begin(host, auth);
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
abort();
}
if (! rtc.isrunning()) {
Serial.println("RTC is NOT running, let's set the time!");
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
}
void loop() {
DateTime time = rtc.now();
char buf1[] = "hh:mm:ss";
jam = time.toString(buf1);
unsigned long waktusekarang = millis();
if (waktusekarang - waktuawal > 1000 )
{
waktuawal = millis();
Serial.println(jam);
}
if (jam == jadwal) {
Serial.print(F("[DEBUG] : Turn ON"));
digitalWrite(LED_BUILTIN, HIGH);
unsigned long waktusekarang1 = millis();
if (waktusekarang1 - waktuawal > 5000 )
{
waktuawal = millis();
digitalWrite(LED_BUILTIN, LOW);
}
}
if (Firebase.ready() && (waktusekarang - waktuawal > 30000 ))
{
waktuawal = millis();
Firebase.getString(jdl,"Jadwal1");
jadwal = jdl.stringData();
}
}