#include <WiFi.h>
#include <FirebaseESP32.h>
#include <DHT.h>
#define FIREBASE_HOST "c222-285d0-default-rtdb.firebaseio.com"
#define FIREBASE_AUTH "KwjvB5FBVkeuHHhlZD18I4W5uNCWm1uz7zzBHOoO"
#define WIFI_SSID "tinh"
#define WIFI_PASSWORD "0343528096"
#define DHTPIN 14 // Pin kết nối với cảm biến DHT22
#define DHTTYPE DHT22 // Loại cảm biến DHT
DHT dht(DHTPIN, DHTTYPE);
FirebaseData firebaseData;
void setup() {
Serial.begin(115200);
delay(100);
// Kết nối đến WiFi
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println("WiFi connected.");
// Khởi động cảm biến DHT
dht.begin();
// Khởi tạo kết nối Firebase
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Serial.println("Firebase connected.");
}
void loop() {
// Đo nhiệt độ và độ ẩm từ cảm biến DHT
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Gửi dữ liệu lên Firebase
String path = "/sensorData";
String jsonData = "{\"temperature\": " + String(temperature) + ", \"humidity\": " + String(humidity) + "}";
Firebase.setJSON(firebaseData, path, jsonData);
if (firebaseData.httpCode() != HTTP_CODE_OK) {
Serial.println("Failed to update data on Firebase");
} else {
Serial.println("Data updated on Firebase");
}
delay(10000); // Đợi 10 giây trước khi đo lại
}