#include <DHT.h>
#include <WiFi.h>
#include "ThingSpeak.h"
#define DHTPIN 15
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
WiFiClient client;
unsigned long myChannelNumber = 2642902;
const char * myWriteAPIKey = "WDVXG5VUG8EAFD39";
void setup() {
Serial.begin(115200);
dht.begin();
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Connected to WiFi");
ThingSpeak.begin(client);
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (!isnan(temperature) && !isnan(humidity)) {
ThingSpeak.setField(1, temperature);
ThingSpeak.setField(2, humidity);
int responseCode = ThingSpeak.writeFields(myChannelNumber, myWriteAPIKey);
if (responseCode == 200) {
Serial.println("Channel update successful.");
} else {
Serial.println("Problem updating channel. HTTP error code " + String(responseCode));
}
} else {
Serial.println("Failed to read from DHT sensor!");
}
delay(2000); // Update every 20 seconds
}