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

DHTesp dht;
TempAndHumidity data;
WiFiClient Client;

char ssid[]="Wokwi-GUEST";
char pass[]="";
unsigned long mychannelnumber=2873155;
const char* myWriteAPIKey="9QN53S9KP0KJS6ND";
int statusCode;

void setup() {
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  ThingSpeak.begin(Client);
  dht.setup(13,DHTesp::DHT22);
}

void loop() {
  if(WiFi.status()!=WL_CONNECTED)
  {
    Serial.print("Attempting to connect");
    while(WiFi.status()!=WL_CONNECTED)
    {
      WiFi.begin(ssid,pass);
      Serial.print(".");
      delay(5000);
    }
    Serial.println("\n Connected");

    
    data=dht.getTempAndHumidity();
    Serial.println("Temperature:"+String(data.temperature));
    Serial.println("Humidity:"+String(data.humidity));
    delay(100);
  }
  ThingSpeak.setField(1,data.humidity);
  ThingSpeak.setField(2,data.temperature);
  statusCode=ThingSpeak.writeFields(mychannelnumber,myWriteAPIKey);
  if(statusCode==200){
    Serial.println("Channel update successful");
  }
  else{
    Serial.println("Problem writing data");
  }
  delay(15000);
}