// Blynk credentials
#define BLYNK_TEMPLATE_ID "TMPL3-rdMg-oI"
#define BLYNK_TEMPLATE_NAME "CATTLE MONITORING SYSTEM"
#define BLYNK_AUTH_TOKEN "ld1pTtP-YsixcJBhfNLDjR3q5glS36Kz"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
#include <MPU6050.h>
// WiFi credentials
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
// DHT sensor
#define DHTPIN 15
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
// MPU6050 sensor
MPU6050 mpu;
// Virtual pins
#define V1 1 // Temperature
#define V2 2 // Humidity
#define V3 3 // Gyroscope X
#define V4 4 // Gyroscope Y
#define V5 5 // Gyroscope Z
void setup() {
Serial.begin(115200);
// Connect to WiFi
WiFi.begin(ssid, pass);
while (WiFi.status()!= WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// Connect to Blynk
Serial.println("Connecting to Blynk...");
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
Serial.println("Blynk.begin() called");
if (Blynk.connected()) {
Serial.println("Blynk connected");
} else {
Serial.println("Blynk not connected");
}
// Initialize DHT sensor
dht.begin();
// Initialize MPU6050 sensor
mpu.initialize();
}
void loop() {
// Read temperature and humidity from DHT sensor
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
// Read gyroscope data from MPU6050 sensor
int16_t gx, gy, gz;
mpu.getRotation(&gx, &gy, &gz);
// Send data to Blynk
Blynk.virtualWrite(V1, temperature);
Blynk.virtualWrite(V2, humidity);
Blynk.virtualWrite(V3, gx);
Blynk.virtualWrite(V4, gy);
Blynk.virtualWrite(V5, gz);
// Run Blynk
Blynk.run();
// Wait 1 second before sending data again
delay(1000);
}