#include "DHT.h"
#include "ThingSpeak.h"
#include <WiFi.h>
const char * SSID = "Wokwi-GUEST";
const char * PASSWORD = "";
WiFiClient client;
unsigned long CHANNEL_ID = 2530784;
const char * API_KEY = "WJAV7NAGWCMMCYX1";
#define DHTTYPE DHT22
const int DHT_PIN = 33;
const int LED_PIN = 4;
const int TEMP_THRESHOLD = 50;
DHT dht(DHT_PIN, DHTTYPE);
void setup() {
Serial.begin(115200);
WiFi.disconnect();
WiFi.begin(SSID, PASSWORD);
WiFi.mode(WIFI_STA);
while (WiFi.status() != WL_CONNECTED) {
delay(300);
Serial.print(".");
}
Serial.println("");
Serial.println("Wifi connected");
Serial.println("IP address: " + String(WiFi.localIP()));
Serial.println("");
ThingSpeak.begin(client);
dht.begin();
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
}
void loop() {
delay(5000);
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Check if any reads failed and exit early (to try again).
if (isnan(humidity) || isnan(temperature)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
if (temperature > TEMP_THRESHOLD) {
digitalWrite(LED_PIN, HIGH);
}
else {
digitalWrite(LED_PIN, LOW);
}
Serial.println("Temperature: " + String(temperature, 1) + "°C");
Serial.println("Humidity: " + String(humidity, 1) + "%");
ThingSpeak.setField(1, temperature);
ThingSpeak.setField(2, humidity);
int x = ThingSpeak.writeFields(CHANNEL_ID, API_KEY);
if (x = 200) {
Serial.println("Data pushed succesfull");
}
else {
Serial.println("Push Error" + String(x));
}
Serial.println("============");
}