Загрузка...

ESP32 ile İnternetten Hava Durumu | Real-Time Weather API on ESP32 🌤️

ESP32 ile internet üzerinden hava durumu API'sine HTTPClient.h ile REST çağrısı yapıp gelen JSON cevabını ArduinoJson v7 ile parse ediyoruz. Şehir, sıcaklık, nem, hava durumu ve rüzgar bilgilerini I2C LCD ekranda hem Türkçe hem İngilizce gösteriyoruz. wttr.in ücretsizdir, API key gerektirmez — herhangi bir şehir ismini yazarak o şehrin anlık hava durumunu çekebilirsiniz.

🎯 Bu projede:
• HTTPClient.h ile HTTP GET isteği gönderme
• ArduinoJson v7 ile JSON parse (heap-based, otomatik boyut)
• wttr.in API — ücretsiz, key gerektirmez, herhangi bir şehir
• İngilizce hava durumu açıklamalarını Türkçe'ye çeviren mini sözlük (15 tip)
• I2C LCD'de 5 ekran döngüsü: Şehir, Sıcaklık, Nem, Hava, Rüzgar
• Her ekranda farklı LED davranışı (1, 2, 3 kırpış / 1sn yanık / heartbeat)
• 30 dakikada bir otomatik refresh + "X dk önce güncellendi" sayacı
• Tam hata yönetimi (HTTP 4xx/5xx, timeout, JSON parse fail)
• Bilingual TR/EN LCD arayüz
• Inline Wi-Fi credentials (Wokwi uyumlu)

⚠️ wttr.in cache'i 30 dakika — daha sık çağrı yapsan da yeni veri gelmez.
⚠️ Şehir adı boşluksuz yazılmalı (örn. "NewYork"), Türkçe karakter olmamalı ("Istanbul").
⚠️ wttr.in en yakın hava istasyonunun adını dönebilir (semt), bu projede LCD'de hep CITY değişkenin değeri gösterilir.

📋 Malzemeler:
• ESP32 DevKit V1
• 16x2 I2C LCD (PCF8574)
• 1x LED + 220Ω direnç
• Breadboard + 6 jumper kablo

🔌 Bağlantı:
• LCD VCC→VIN | GND→GND | SDA→GPIO 21 | SCL→GPIO 22
• LED Anot → 220Ω → GPIO 5 | Katot → GND

━━━━━━━━━━━━━━━━━━━━
🇬🇧 English:

Make REST API calls from ESP32 over the internet using HTTPClient.h, parse the returned JSON with ArduinoJson v7, and display city, temperature, humidity, weather condition and wind speed on an I2C LCD — all in both Turkish and English. wttr.in is free and requires no API key, so you can type any city name and fetch its current weather.

🎯 In this project:
• HTTP GET request with HTTPClient.h
• JSON parsing with ArduinoJson v7 (heap-based, automatic sizing)
• wttr.in API — free, no key needed, any city worldwide
• Mini dictionary translating 15 English weather conditions to Turkish
• 5-screen cycle on I2C LCD: City, Temperature, Humidity, Weather, Wind
• Distinct LED pattern per screen (1/2/3 blinks / 1s hold / heartbeat)
• Auto-refresh every 30 minutes + "X min ago" timer
• Full error handling (HTTP 4xx/5xx, timeout, JSON parse failure)
• Bilingual TR/EN LCD interface
• Inline Wi-Fi credentials (Wokwi-friendly)

⚠️ wttr.in cache is ~30 minutes — calling more frequently won't return fresh data.
⚠️ City name must be space-free (e.g. "NewYork"), no special characters ("Istanbul" not "İstanbul").
⚠️ wttr.in may return the nearest weather station name (district); this project always shows the CITY variable on LCD.

📋 Materials:
• ESP32 DevKit V1
• 16x2 I2C LCD (PCF8574)
• 1x LED + 220Ω resistor
• Breadboard + 6 jumper wires

🔌 Wiring:
• LCD VCC→VIN | GND→GND | SDA→GPIO 21 | SCL→GPIO 22
• LED Anode → 220Ω → GPIO 5 | Cathode → GND
━━━━━━━━━━━━━━━━━━━━

🌐 Web: bluegrays.com
📱 Mobil Uygulama: App Store ve Play Store'da "BlueGrays" arayarak ücretsiz indirebilirsiniz!
📱 Mobile App: Search "BlueGrays" on the App Store or Play Store to download for free!

🔗 Kod ve devre şeması → bluegrays.com/projeler
🔗 Code & wiring diagram → bluegrays.com/projects

#esp32 #weather #api #httpclient #arduinojson #iot #bluegrays #esp32tutorial

Видео ESP32 ile İnternetten Hava Durumu | Real-Time Weather API on ESP32 🌤️ канала Blue Grays
Яндекс.Метрика
Все заметки Новая заметка Страницу в заметки
Страницу в закладки Мои закладки
На информационно-развлекательном портале SALDA.WS применяются cookie-файлы. Нажимая кнопку Принять, вы подтверждаете свое согласие на их использование.
О CookiesНапомнить позжеПринять