/* --- Firebase --- */
#include <FirebaseESP32.h>
#include <WiFi.h>
#include <DHTesp.h>
#define FIREBASE_HOST "blynk-integration-default-rtdb.firebaseio.com/"
#define FIREBASE_AUTH "rVIMcj5RxRIrnJWPjdrs6Zpu513uQG9tvexfMOXU"
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASSWORD ""
FirebaseData firebaseData;
/* --- Blynk --- */
#include <SPI.h>
#define BLYNK_PRINT Serial
#include <BlynkSimpleEsp32.h>
#define BLYNK_TEMPLATE_ID "TMPL6lEedMvT5"
#define BLYNK_TEMPLATE_NAME "testing blynk inegration with google sheets"
char auth[] = "NXZVecinE_ChMkG5La-WCipxcP8wl0VM";
char ssid[]="Wokwi-GUEST";
char pass[]="";
BlynkTimer timer;
void sendSensor(){
float h = dht11.readHumidity();
float t = dht11.readTemperature();
if (isnan(h) || isnan(t)){
Serial.println("Error!! Gagal membaca sensor DHT11");
return;
}
Blynk.virtualWrite(V1, h);
Blynk.virtualWrite(V0, t);
}
/* --- Google Sheet --- */
#include "TRIGGER_WIFI.h"
#include "TRIGGER_GOOGLESHEETS.h"
#define DHTPIN D15
#define DHTTYPE DHT11
DHT dht11(DHTPIN, DHTTYPE);
char column_name_in_sheets[ ][20] = {"value1","value2"};
String Sheets_GAS_ID = "AKfycbyOV0ILuiADY23ueUdBx5OpP-exG8BhjCcsrogfHPq7In6c_6eYpCpI-_S59B9n-Gbm";
int No_of_Parameters = 2;
/* --- VOID SETUP dari Firebase, Blynk , dan Google Sheet --- */
void setup() {
Serial.begin(115200);
//Firebase
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Blynk.begin(auth, ssid, pass);
dht11.begin();
timer.setInterval(1000L, sendSensor);
//Blynk
dht11.begin();
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("connecting");
while(WiFi.status()!= WL_CONNECTED){
Serial.print(".");
delay(400);
}
Serial.println();
Serial.print("Connected with IP : ");
Serial.println(WiFi.localIP());
Serial.println();
//Google Sheet
while (!Serial);
dht11.begin();
WIFI_Connect("Wokwi-GUEST","");
Google_Sheets_Init(column_name_in_sheets, Sheets_GAS_ID, No_of_Parameters );
}
/* --- VOID LOOP dari Firebase, Blynk , dan Google Sheet --- */
void loop() {
float h = dht11.readHumidity();
float t = dht11.readTemperature();
//Firebase
if (isnan(h) || isnan(t)){
Serial.println("Error!! Gagal membaca sensor DHT11");
delay(1000);
return;
}
Serial.print("Kelembaban : ");
Serial.print(h);
Serial.println();
Serial.print("Suhu : ");
Serial.print(t);
Serial.println();
if (Firebase.setFloat(firebaseData, "/Hasil_Pembacaan/suhu", t)){
Serial.println("Data Suhu terkirim");
}else{
Serial.println("Data Suhu tidak terkirim! ");
Serial.println(firebaseData.errorReason());
}
if (Firebase.setFloat(firebaseData, "/Hasil_Pembacaan/kelembaban", h)){
Serial.println("Data Kelembaban terkirim");
}else{
Serial.println("Data Kelembaban tidak terkirim");
Serial.println(firebaseData.errorReason());
}
//Blynk
Blynk.run();
timer.run();
delay(1000);
//Google Sheet
Data_to_Sheets(No_of_Parameters, t, h);
Serial.println();
delay(5000);
}