#include <WiFi.h>
#include <HTTPClient.h>
#include <FirebaseESP32.h>
#include <ESP32Servo.h>
#define WIFI_SSID "Wokwi-GUEST" //nama jaringan wifi SSID yang akan dihubungkan dan digunakan
#define WIFI_PASSWORD ""
#define FIREBASE_HOST "https://water-level-app-ee9e4-default-rtdb.firebaseio.com/" // Your Firebase Host URL
#define FIREBASE_AUTH "AIzaSyB4JvuGs_vzHFX5E_uUNB_gyjhHl2wEB7c" // Your Firebase Web API Key
FirebaseData firebaseData;
int servoRead;
Servo s1;
void setup()
{
s1.attach(2); // servo attach D2 pin of arduino
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
FirebaseConfig firebaseConfig;
FirebaseAuth firebaseAuth;
// Set the host and authentication token
firebaseConfig.host = FIREBASE_HOST;
firebaseAuth.token = FIREBASE_AUTH;
Firebase.begin(&firebaseConfig, &firebaseAuth);
Firebase.reconnectWiFi(true); //untuk memastikan bahwa koneksi WiFi tetap aktif dan menghubungkan kembali jika koneksi terputus
Serial.begin(115200);
}
void loop()
{
if (Firebase.getInt(firebaseData,"/servo")){ // Your Firebase data path
servoRead = firebaseData.intData();
if(servoRead == 1){
Serial.println("Servo is ON");
s1.write(180);
delay(1000);
Firebase.setInt(firebaseData, "/servo", 0);
Firebase.setInt(firebaseData, "/notif-servo", 1);
}
else if (servoRead == 0){
Serial.println("Servo is OFF");
Firebase.setInt(firebaseData, "/notif-servo", 0);
s1.write(0);
}
}
else{
Serial.println(firebaseData.errorReason());
}
delay(1000);
}