#include <DHTesp.h>
#include<WiFi.h>
#include<ThingSpeak.h>
char ssid[]="Wokwi-GUEST";// default user name for wifi
char pass[]="";
WiFiClient client;
unsigned long myChannelNumber = 2580479;
const char * myWriteAPIKey = "CGYE7LOT2IFL2GI7";
int statuscode;
const int DHT_PIN = 26;
DHTesp dhtSensor;
TempAndHumidity data;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
dhtSensor.setup(26,DHTesp::DHT22);
WiFi.mode(WIFI_STA); //connect to wifi simulator
ThingSpeak.begin(client); // connect to thingspeak
}
void loop() {
data=dhtSensor.getTempAndHumidity();
Serial.println("Humi : " + String(data.humidity));
Serial.println("Temp : " + String(data.temperature));
delay(100); // this speeds up the simulation
if(WiFi.status() != WL_CONNECTED)
{
Serial.println("Attempting to Connect");
while(WiFi.status() != WL_CONNECTED)
{
WiFi.begin(ssid,pass);
Serial.print(".");
delay(5000);
}
Serial.println("\nConnected");
}
ThingSpeak.setField(1, data.humidity);
ThingSpeak.setField(2, data.temperature);
statuscode = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if(statuscode == 200) //200 indicates success update
{
Serial.println("Channel Update Successful");
}
else
{
Serial.println("Problem in writing Data:" + String(statuscode));
}
}