#define BLYNK_TEMPLATE_ID "TMPL3nx3AWqu7"
#define BLYNK_TEMPLATE_NAME "smart cattle monitoring"
#define BLYNK_AUTH_TOKEN "yScpufXyEtt2AQXL4Xcb6tGR_Mu-p5Ci"
#define BLYNK_PRINT Serial
#include<WiFi.h>
#include<WiFiClient.h>
#include<BlynkSimpleEsp32.h>
#include<DHT.h>
#include<HardwareSerial.h>
#define DHTTYPE DHT22
#define DHTPIN 17
byte led=4;
byte led2=27;
int buzzer=18;
char ssid[]="Wokwi-GUEST";
char pass[]="";
char auth[]="yScpufXyEtt2AQXL4Xcb6tGR_Mu-p5Ci";
const float potPin=34;
float potValue=0;
DHT dht(DHTPIN,DHTTYPE,22);
BlynkTimer timer;
void setup(){
Serial.begin(115200);
Blynk.begin(auth,ssid,pass);
timer.setInterval(2000L,sendData);
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
pinMode(led2, OUTPUT);
digitalWrite(led2, LOW);
pinMode(buzzer, OUTPUT);
Serial.println("reading data from the cattle!");
}
void sendData(){
potValue=analogRead(potPin);
float h=dht.readHumidity();
float t=dht.readTemperature();
Serial.println("oxygen:" +String(potValue));
Serial.println("humidity:" +String(h));
Serial.println("temperature:" +String(t));
Blynk.virtualWrite(v2,potValue);
Blynk.virtualWrite(V1,h);
Blynk.virtualWrite(v0,t);
if(t>38)
{
Serial.println("health issues is detacted!treat your cattle quickly");
Blynk.virtualWrite(V3,HIGH);
digitalWrite(led, HIGH);
tone(buzzer,200);
delay(1000L);
}
else
{
Blynk.virtualWrite(V3,LOW);
digitalWrite(led, LOW);
tone(buzzer,0);
}
if(potValue<50)
{
Serial.println("your cattle oxygen level is too low");
Blynk.virtualWrite(V4,HIGH);
digitalWrite(led2, HIGH);
tone(buzzer,200);
delay(1000L);
}
else
{
Blynk.virtualWrite(V4,LOW);
digitalWrite(led2, LOW);
tone(buzzer,0);
}
}
void loop(){
Blynk.run();
timer.run();
}