#include <DHTesp.h>
#include <WiFi.h>
#include <ThingSpeak.h>
char ssid[]="wokwi-GUEST";
char pass[]="";
DHTesp dhtsensor;
TempAndHumidity data;
const int DHT_PIN=27;
wificlient client;
long mychannelnumber = 2634071;
const char * mywriteAPIKey="UFCLR7YT8FDLE66R";
int statuscode;
void setup() {
//put your setup code here, to run once;
Serial.begin(115200);
Serial.println("Hello,ESP32");
dhtsensor.setup(DHT_PIN, DHTesp::DHT22);
wifi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop () {
if(wifi.status()!=WL_CONNECTED)
{
Serial.println("Attempting to connect");
while(wifi.status()!=WL_CONNECTD)
}
wifi.begin(ssid,pass);
Serial.print(".");
delay(5000);
}
Serial.println("\n connected");
}
// put your main code here, to run repeatedly;
data = dhtsensor.getTempAndHumidity();
Serial.println("Humi:"+ string(data.humidity,1));
Serial.println("Temp:"+ string(data.temperature,2));
delay(1000);
delay(10);//this speeds up the simulation
ThingSpeak.setfield(1,data.temperature);
ThingSpeak.setfield(2,data.humidity);
statuscode = ThingSpeak.writefields(mychannel,myWriteAPIKey);
if(statucode == 200) {//successful writing code
Serial.println("channel update successful.");
}
else{
Serial.println("problem writing data . HTTP erro code :" +
string (statuscode));
}
}