#include <WiFi.h>
#include "DHT.h"
#include "ThingSpeak.h"
const int DHT_PIN = 15;
const char* WIFI_NAME = "Wokwi-GUEST";
const char* WIFI_PASS = "";
//thingspeak details
const int myChannelNumber = 2394460;
const char* write_API_Key = "59GATBCQ9L0RDMN6";
const char* server = "api.thingspeak.com";
float hum=10;
float temp=10;
//DHT22 details
#define DHTTYPE DHT22
DHT dht(DHT_PIN, DHTTYPE);
WiFiClient client;
void setup() {
Serial.begin(115200);
dht.begin();
WiFi.begin(WIFI_NAME, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED){
delay(1000);
Serial.println("Wifi not connected");
}
Serial.println("Wifi connected !");
Serial.println("Local IP: " + String(WiFi.localIP()));
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop() {
//TempAndHumidity data = dhtSensor.getTempAndHumidity();
hum = dht.readHumidity();
temp = dht.readTemperature();
if (isnan(hum) || isnan(temp) ){
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
//
sendDataToThingSpeak();
delay(16000);
}
void sendDataToThingSpeak(){
ThingSpeak.setField(1,temp);
delay(500);
ThingSpeak.setField(2,hum);
int writeResult = ThingSpeak.writeFields(myChannelNumber,write_API_Key);
Serial.println("Temp: " + String(temp, 2) + "°C");
Serial.println("Humidity: " + String(hum, 1) + "%");
if(writeResult == 200){
Serial.println("Data pushed successfull");
}else{
Serial.println("Push error" + String(writeResult));
}
Serial.println("---");
}