#define BLYNK_TEMPLATE_ID "TMPL3IdBENGGE"
#define BLYNK_TEMPLATE_NAME "IoT"
#define BLYNK_AUTH_TOKEN "bu51542wwm2jD97pF1OxtNHIMI9T7xJQ"
// Libraries
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
// Blynk Auth Token
char auth[] = "bu51542wwm2jD97pF1OxtNHIMI9T7xJQ";
// WiFi credentials
char ssid[] = "iot11";
char pass[] = "rpw1@iot";
// BME280
Adafruit_BME280 bme;
// LED pin
#define LED_PIN 2
BlynkTimer timer;
// Function to send sensor data to Blynk
void sendSensorData() {
float temperature = bme.readTemperature();
float humidity = bme.readHumidity();
float pressure = bme.readPressure() / 100.0F;
Serial.println(temperature);
Serial.println(humidity);
Serial.println(pressure);
Blynk.virtualWrite(V1, temperature); // Temperature to V1
Blynk.virtualWrite(V2, humidity); // Humidity to V2
Blynk.virtualWrite(V3, pressure); // Pressure to V3
}
void setup() {
// Serial Monitor
Serial.begin(115200);
// Initialize BME280
if (!bme.begin(0x76)) { // Check I2C address (0x76 or 0x77)
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while (1);
}
// Initialize Blynk
Blynk.begin(auth, ssid, pass);
Serial.println("Blynk Connected Successfully");
// Set LED pin as output
pinMode(LED_PIN, OUTPUT);
// Setup a timer to send sensor data every 2 seconds
timer.setInterval(2000L, sendSensorData);
}
void loop() {
Blynk.run();
timer.run();
}