#include "WiFi.h"
WiFiClient client;
#include "DHTesp.h"
const int DHT_PIN = 15;
DHTesp dhtSensor;
String thinkSpeakAdress="api.thinkspeak.com";
String request_string;
void setup() {
Serial.begin(115200);
WiFi.disconnect();
WiFi.begin("Wokwi-GUEST","");
while (WiFi.status() !=WL_CONNECTED){
delay(300);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address");
Serial.println(WiFi.localIP());
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
float t=data.temperature;
float h=data.humidity;
class_thinkspeak(t,h);
if(isnan(h) || isnan(t)){
Serial.println("failed to read from DHT sensor!");
return;
}
}
void class_thinkspeak(float t, float hum){
if(client.connect("api.thinkspeak.com",80)){
request_string="/update?";
request_string+="key=";
request_string +="AMLQDG8Y62VC8778";
request_string +="&";
request_string +="field1";
request_string +="=";
request_string +=t;
Serial.println(String("GET")+request_string +"HTTP/1.1\r\n" +
"Host:" + thinkSpeakAdress + "\r\n" +
"Connection :close\r\n\r\n");
delay(1000);
unsigned long timeout =millis();
while (client.available()==0){
if(millis()-timeout >5000){
Serial.println(">>> client Timeout !");
client.stop();
return;
}
}
while(client.available()){
String line =client.readStringUntil('\r');
Serial.print(line);
}
Serial.println();
Serial.println("closing connection");
}
}