#include <WiFi.h>
#include <HTTPClient.h>
#include <Arduino_JSON.h>;
#include <DHT22.h>;
const int DHT_PIN = 15;
#include "DHTesp.h"
DHTesp dhtSensor;
HTTPClient http;
void setup() {
Serial.begin(9600);
Serial.print("Connecting to WiFi");
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
if ((WiFi.status() == WL_CONNECTED)) {
HTTPClient http;
String link="https://api.thingspeak.com/update?api_key=ENFQ6A1FOLTP2Y6T&field1=";
link=link+data.temperature+"&field2="+data.humidity;
http.begin(link);
int httpCode = http.GET();
if (httpCode > 0) {
String payload = http.getString();
JSONVar myObject = JSON.parse(payload);
Serial.println("nhiet do: ");
Serial.println(myObject["main"]["temp"]);
Serial.println("thoi tiet: ");
Serial.println(myObject["weather"][0]["main"]);
}
else {
Serial.println("Error on HTTP request");
}
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("---");
delay(2000); // Wait for a new reading from the sensor (DHT22 has ~0.5Hz sample rate)
http.end();
}
delay(1000);
// Phân tích dữ liệu JSON
}