#include <FirebaseESP32.h>
#include <DHT.h>
#include <WiFi.h>
#define DATABASE_URL "iot-lab-lld-default-rtdb.firebaseio.com"
#define DATABASE_SECRET "qsWh9XPKZV3B1ZEJhATl7NSYVNaET8sPPnMHe5cA"
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASSWORD ""
#define DHTPIN1 14
#define DHTPIN2 15
#define DHTTYPE DHT22
#define LED 2
DHT dht1(DHTPIN1, DHTTYPE);
DHT dht2(DHTPIN2, DHTTYPE);
FirebaseData fbdo;
FirebaseAuth auth;
FirebaseConfig config;
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
WiFi.begin (WIFI_SSID, WIFI_PASSWORD);
Serial.print("Dang ket noi");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
dht1.begin();
dht2.begin();
Serial.println ("");
Serial.println ("Da ket noi WiFi!");
Serial.println(WiFi.localIP());
config.database_url = DATABASE_URL;
config.signer.tokens.legacy_token = DATABASE_SECRET;
Firebase.reconnectNetwork(true);
Firebase.begin(&config, &auth);
}
void loop() {
float h1 = dht1.readHumidity() + random(-15, 16) / 10.0;
float t1 = dht1.readTemperature() + random(-20, 21) / 10.0;
float h2 = dht2.readHumidity() + random(-15, 16) / 10.0;
float t2 = dht2.readTemperature() + random(-20, 21) / 10.0;
if (isnan(h1) || isnan(t1)) {
Serial.println("Failed to read from DHT1 sensor!");
return;
}
if (isnan(h2) || isnan(t2)) {
Serial.println("Failed to read from DHT2 sensor!");
return;
}
Serial.println("Sending_data");
Firebase.setFloat(fbdo,"Nhiet Do", t1);
Firebase.setFloat(fbdo,"Do Am", h1);
Firebase.setFloat(fbdo,"Nhiet Do Ngoai Troi", t2);
Firebase.setFloat(fbdo,"Do Am Ngoai Troi", h2);
Serial.println("Sucess!");
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}