#include <ESP32Firebase.h>
#include "DHT.h"
#include <WiFi.h>
#include "ThingSpeak.h"
#define DATABASE_URL "https://green-house-5e25a-default-rtdb.firebaseio.com/" // Url của Firebase Realtime Database
#define WIFI_SSID "Wokwi-GUEST" // Your WiFi SSID
#define WIFI_PASSWORD "" // Your WiFi Password
#define DHTTYPE DHT22 // Định nghĩa loại cảm biến DHT22
const int myChannelNumber = 2483476;
const char* myApiKey = "DRGK8GWZHB46XWK6";
const char* server = "api.thingspeak.com";
#define DHTPIN 14 // Chân GPIO kết nối cảm biến DHT
#define LedPin 12
#define Maybom 13
#define MusicPin 27
DHT dht(DHTPIN, DHTTYPE); // Khởi tạo cảm biến DHT
Firebase firebase(DATABASE_URL);
WiFiClient client;
void setup() {
Serial.begin(9600);
delay(1000);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
//pinMode(LedPin, OUTPUT);
//pinMode(Maybom, OUTPUT);
//pinMode(MusicPin, OUTPUT);
//ThingSpeak.begin(client);
}
void StatusCheck()
{
String LightString = firebase.getString("Project/Light");
int LightInt = firebase.getInt("Project/Light");
String WaterString = firebase.getString("Project/Water");
int WaterInt = firebase.getInt("Project/Water");
String MusicString = firebase.getString("Project/Music");
int MusicInt = firebase.getInt("Project/Music");
if(LightInt == 1 || LightString == "1")
{
digitalWrite(LedPin, HIGH);
Serial.println("Bat Den");
}
else if(LightInt == 0 || LightString == "0")
{
digitalWrite(LedPin, LOW);
Serial.println("Tat Den");
}
if(WaterInt == 1 || WaterString == "1")
{
digitalWrite(Maybom, HIGH);
Serial.println("Bat may bom");
}
else if(WaterInt == 0 || WaterString == "0")
{
digitalWrite(Maybom, LOW);
Serial.println("Tat may bom");
}
if(MusicInt == 1 || MusicString == "1")
{
digitalWrite(MusicPin, HIGH);
Serial.println("Bat Nhac");
}
else if(MusicInt == 0 || MusicString == "0")
{
digitalWrite(MusicPin, LOW);
Serial.println("Tat Nhac");
}
}
void loop() {
/*float h = dht.readHumidity();
float t = dht.readTemperature();
float eh = dht.readHumidity() + 10; //Tạo độ ẩm đất ảo
Serial.print("Nhiet do: ");
Serial.print(t);
Serial.print("ºC ");
Serial.print("Do am: ");
Serial.print(h);
Serial.println("% ");
Serial.print(eh);
Serial.println("% ");
firebase.setFloat("Project/Nhiet do", t);
firebase.setFloat("Project/Do am", h);
firebase.setFloat("Project/Do am dat", eh);
ThingSpeak.setField(1,t);
ThingSpeak.setField(2,h);
ThingSpeak.setField(3,eh);
int x = ThingSpeak.writeFields(myChannelNumber, myApiKey);
if(x == 200){
Serial.println("Channel update successful.");
}
else{
Serial.println("Problem updating channel. HTTP error code " + String(x));
}
StatusCheck();*/
String den = firebase.getString("GreenHouse/Anh sang");
String maybom = firebase.getString("GreenHouse/Tuoi nuoc");
String quat = firebase.getString("GreenHouse/Quat thong gio");
if(den == "1")
{
//digitalWrite(Den,HIGH);
Serial.println("Bat Den");
}
else if(den == "0")
{
//digitalWrite(Den,LOW);
Serial.println("Tat Den");
}
if(maybom == "1")
{
//digitalWrite(Maybom,HIGH);
Serial.println("Bat tuoi nuoc");
}
else if(maybom == "0")
{
//digitalWrite(Maybom,LOW);
Serial.println("Ngung tuoi nuoc");
}
if(quat == "1")
{
//digitalWrite(Quat,HIGH);
Serial.println("Bat quat thong gio");
}
else if(quat == "0")
{
//digitalWrite(Quat,LOW);
Serial.println("Tat quat thong gio");
}
}