/*
*/
#define BLYNK_TEMPLATE_ID "TMPL37zKTQnZA"
#define BLYNK_TEMPLATE_NAME "Research Project"
#define BLYNK_AUTH_TOKEN "aCyN_Kf1Uq8o0mi551260Q10OA1Ilp3p"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
// WiFi credentials
char ssid[] = "Wokwi-GUEST"; // WiFi SSID
char pass[] = ""; //WiFi Password
#define LED_PIN 2 // GPIO5 for LED
#define DHT_PIN 4 // GPIO4 for DHT11 sensor
#define DHT_TYPE DHT11 // Define sensor type as DHT11
#define BUTTON_PIN V1
#define LED_STATUS_PIN V2
#define TEMP_PIN V3
#define HUMIDITY_PIN V4
// Initialize DHT sensor
DHT dht(DHT_PIN, DHT_TYPE);
// Variable to store LED state
bool ledState;
void setup()
{
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
dht.begin();
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED)
{
Serial.println("Connecting to WiFi...");
delay(1000);
}
Serial.println("Connected to WiFi");
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
}
BLYNK_WRITE(BUTTON_PIN) {
ledState = param.asInt();
if (ledState == 1)
{
digitalWrite(LED_PIN, HIGH); // Turn the LED on
Blynk.virtualWrite(LED_STATUS_PIN, 255); // Turn on the LED widget in the Blynk app
}
else
{
digitalWrite(LED_PIN, LOW);
Blynk.virtualWrite(LED_STATUS_PIN, 0);
}
}
void loop()
{
Blynk.run();
float temperature = dht.readTemperature(); // Read temperature in Celsius
float humidity = dht.readHumidity(); // Read humidity percentage
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Blynk.virtualWrite(TEMP_PIN, temperature);
Blynk.virtualWrite(HUMIDITY_PIN, humidity);
delay(1000);
}