#include<WiFi.h>
#include "ThingSpeak.h"
#include "DHTesp.h"

const int dht_pin = 15;
const int led_pin = 13;
const char* wifiname = "Wokwi-GUEST";
const char* wifipassword = "";
const int channel_no = 2274248;
const char *apikey = "S6XQE3WLFSH2S8ZR";
const char *server = "api.thingspeak.com";

WiFiClient client;
DHTesp sensor;
void setup() {
  Serial.begin(115200);
  sensor.setup(dht_pin,DHTesp::DHT22);
  pinMode(led_pin,OUTPUT);
  WiFi.begin(wifiname,wifipassword);
  while(WiFi.status() != WL_CONNECTED){
  delay(1000);
  Serial.println("WIFI NOt connected");
  }
  Serial.println("WiFI connected");
  WiFi.mode(WIFI_STA);
  ThingSpeak.begin(client);
}

void loop(){
  TempAndHumidity data = sensor.getTempAndHumidity();
  ThingSpeak.setField(1,data.temperature);
  ThingSpeak.setField(2,data.humidity);
  
  if(data.temperature > 35 || data.temperature < 12 || data.humidity > 70 || 
  
  data.humidity < 40){
    digitalWrite(led_pin, HIGH);
  }else{
    digitalWrite(led_pin, LOW);
  }

  int x = ThingSpeak.writeFields(channel_no,apikey);
  Serial.println("Temperature: "+String(data.temperature));
  Serial.println("Humidity: "+String(data.humidity));

  if(x == 200){
    Serial.println("Data pushed successfully");
  }else{
    Serial.println("Push error"+String(x));
  }
  delay(5000);
}