#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6rMpvaoLX"
#define BLYNK_TEMPLATE_NAME "MQ2TEST1"
#define BLYNK_AUTH_TOKEN "JvaB5syzRjynneD58w4azTPHPYH95ZSm"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <string.h>
//#include "DHT.h"
#include "DHTesp.h"
// DHT define
#define DHTTYPE DHT11 // DHT 11 type
#define DHT_PIN 14
#define MQ2 32
#define LEDRED 27 //chan 27 led do
#define LEDGREEN 26 //chan 26 led xanh
int buttonred, buttongreen;
WidgetLED appledred(V4); //gọi app led đỏ là chân V4
WidgetLED appledgreen(V5); //gọi app led xanh là chân V5
//DHT dht(DHTPIN, DHTTYPE); // Khởi tạo đối tượng cảm biến DHT11
DHTesp dhtSensor;
char auth[] = BLYNK_AUTH_TOKEN; //token xac thuc blynk
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
void setup()
{
// Debug console
Serial.begin(9600);
//dht.begin();
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
Blynk.begin(auth, ssid, pass);
pinMode(LEDRED, OUTPUT);
pinMode(LEDGREEN, OUTPUT);
}
//XET TIN HIEU V2 TREN BLYNK
BLYNK_WRITE(V2) //truyen du lieu tu blynk sang esp32
{
buttonred = param.asInt(); // Lấy giá trị từ nút bật/tắt
if(buttonred==1)
{
digitalWrite(LEDRED, HIGH); //dieu khien led tren esp32
appledred.on(); //dieu khien led tren blynk app
}
else
{
digitalWrite(LEDRED, LOW);
appledred.off(); //dieu khien led tren blynk app
}
}
//XET TIN HIEU V3 TREN BLYNK
BLYNK_WRITE(V3) //truyen du lieu tu blynk sang esp32
{
buttongreen = param.asInt(); // Lấy giá trị từ nút bật/tắt
if(buttongreen==1)
{
digitalWrite(LEDGREEN, HIGH); //dieu khien led tren esp32
appledgreen.on(); //dieu khien led tren blynk app
}
else
{
digitalWrite(LEDGREEN, LOW); //dieu khien led tren esp32
appledgreen.off(); //dieu khien led tren blynk app
}
}
void loop()
{
Blynk.run();
// Read Gas
int MQ2value = analogRead(MQ2);
TempAndHumidity data = dhtSensor.getTempAndHumidity();
// Read Temp
//float t = dht.readTemperature();
// Read Humi
//float h = dht.readHumidity();
// Check isRead ?
if (isnan(data.humidity) || isnan(data.temperature)) {
delay(500);
Serial.println("Failed to read from DHT sensor!\n");
return;
}
Blynk.virtualWrite(V0, data.temperature);
Blynk.virtualWrite(V1, data.humidity);
Blynk.virtualWrite(V6, MQ2value);
Serial.print("\n");
Serial.print("Humidity: " + String(data.humidity) + "%");
Serial.print("\t");
Serial.print("Temperature:" + String(data.temperature) + " C");
//delay(2000);
}