#include <WiFi.h>
#include <HTTPClient.h>
#include <LiquidCrystal_I2C.h>
#include <ArduinoJson.h>
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 20, 4);
HTTPClient http;
void setup() {
lcd.init();
lcd.backlight();
Serial.begin(9600);
Serial.print("Connecting to WiFi");
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
}
void loop() {
if (WiFi.status() == WL_CONNECTED) {
http.begin("https://api.openweathermap.org/data/2.5/weather?id=1562693&appid=ed84e9828a88aaf364c01bd416fe3545");
int httpCode = http.GET();
if (httpCode > 0) {
String payload = http.getString();
Serial.println(httpCode);
Serial.println(payload);
StaticJsonDocument<512> doc; // Kích thước của JSON document
DeserializationError error = deserializeJson(doc, payload);
String ten = String(doc["name"]);
String temp = "Temp: " + String(doc["main"]["temp"]);
String hum = "Hum: " + String(doc["main"]["humidity"]);
lcd.setCursor(0,0);
lcd.print(ten);
lcd.setCursor(0,1);
lcd.print(temp);
lcd.setCursor(0,2);
lcd.print(hum);
} else {
Serial.printf("Error on HTTP request: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
}
delay(10000);
}