#include <WiFi.h>
#include "DHTesp.h"
#include<ThingSpeak.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
const int DHT_PIN = 15;
DHTesp dht;
TempAndHumidity data;
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* api= "ZENW19IKHE65MLSZ";
unsigned long cn=2507000;
int sc;
WiFiClient client;
Adafruit_SSD1306 display(128,32,&wire,-1);
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
display.begin(SSD1306_SWITCHCAPVCC,0X3C);
WiFi.begin(ssid, password);
Thingspeak.begin(client);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
dht.setup(DHT_PIN, DHTesp::DHT22);
}
void loop() {
data=dht.getTempAndHumidity();
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.print("connected");
Serial.println("Humi: " + String(data.humidity, 1));
Serial.println("Temp: " + String(data.temperature, 2));
Serial.println("-----------");
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.print("Temp: ");
display.println(data.temperature, 2);
display.print("Humidity: ");
display.println(data.humidity, 1);
display.display();
ThingSpeak.setField(1,data.temperature);
ThingSpeak.setField(2,data.humidity);
sc=ThingSpeak.writeFields(cn,api);
if(sc==200)
{
Serial.print(".success in thingspeak");
}
else
{
Serial.print(".status code wrong");
}
}
}