ESP8266 NodeMCU ile Kablosuz Kod Yükleme (OTA - Over The Air)

👤 Yazar: ozcan 📅 Tarih: 29.07.2026 14:44 👁️ Görüntüleme: 1

ESP8266 NodeMCU ile Kablosuz Kod Yükleme (OTA - Over The Air)

Bu rehberde, ESP8266 NodeMCU kartınıza her defasında USB kablosu bağlama zorunluluğunu ortadan kaldıran OTA (Over The Air) özelliğini entegre ediyoruz. Bu sayede cihazınız montajlanmış, kutulanmış veya erişilmesi zor bir yerde olsa bile aynı Wi-Fi ağı üzerinden Arduino IDE ile kablosuz olarak yeni kod yükleyebilirsiniz.

esp8266 ota güncelleme

OTA Güncelleme Nasıl Çalışır?
  • ESP8266 arka planda bir OTA dinleyici portu (Varsayılan: 8266) açar.
  • Arduino IDE, ağdaki ESP8266 cihazını bir "Network Port" (Ağ Portu) olarak algılar.
  • Derlenen yeni binary (.bin) dosya, Wi-Fi üzerinden karta aktarılır ve flash hafızaya yazılarak cihaz otomatik yeniden başlatılır.
  • İsteğe bağlı olarak şifreli doğrulama (password) eklenerek yetkisiz kişilerin kod yüklemesi engellenebilir.

Örnek Arduino IDE Kodu

Aşağıdaki temel OTA şablonunu projelerinize ekleyebilirsiniz. İlk yüklemeyi bir kez USB kablosu ile yapmanız gerekir. Sonraki tüm güncellemeleri Wi-Fi üzerinden yapabilirsiniz:

// ESP8266 NodeMCU ArduinoOTA (Kablosuz Yazılım Güncelleme) Şablonu

#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

// Wi-Fi Ağ Bilgileriniz
const char* ssid = "YENIDIR_WIFI";
const char* password = "WIFI_SIFRENIZ";

void setup() {
  Serial.begin(115200);
  Serial.println("Sistem Baslatiliyor...");

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("\nWi-Fi Baglantisi Saglandi!");
  Serial.print("IP Adresi: ");
  Serial.println(WiFi.localIP());

  // --- OTA KONFİGÜRASYONU ---
  // Ağda görünecek cihaz adı (Örn: http://esp8266-yenidir.local)
  ArduinoOTA.setHostname("esp8266-yenidir");

  // Kablosuz şifreleme eklemek isterseniz aşağıdaki satırı aktifleştirin:
  // ArduinoOTA.setPassword("admin123");

  // OTA Etkinlik Bildirimleri (Olay Takibi)
  ArduinoOTA.onStart([]() {
    String type;
    if (ArduinoOTA.getCommand() == U_FLASH) {
      type = "Kod/Yazilim";
    } else { // U_SPIFFS / U_LITTLEFS
      type = "Dosya Sistemi";
    }
    Serial.println("OTA Guncellemesi Basladi: " + type);
  });

  ArduinoOTA.onEnd([]() {
    Serial.println("\nOTA Guncellemesi Tamamlandi! Cihaz Yeniden Baslatiliyor...");
  });

  ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("Yukleniyor: %u%%\r", (progress / (total / 100)));
  });

  ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("HATA [%u]: ", error);
    if (error == OTA_AUTH_ERROR) Serial.println("Kimlik Dogrulama Basarisiz!");
    else if (error == OTA_BEGIN_ERROR) Serial.println("Baslatma Hatasi!");
    else if (error == OTA_CONNECT_ERROR) Serial.println("Baglanti Hatasi!");
    else if (error == OTA_RECEIVE_ERROR) Serial.println("Veri Alma Hatasi!");
    else if (error == OTA_END_ERROR) Serial.println("Bitis Hatasi!");
  });

  ArduinoOTA.begin();
  Serial.println("OTA Dinleyici Baslatildi. Kablosuz Yuklemeye Hazir!");
}

void loop() {
  // OTA isteklerini sürekli dinlemek için zorunludur!
  ArduinoOTA.handle();

  // --- BURAYA KENDİ PROJE KODLARINIZI EKLENİZ ---
  // Not: loop() içerisinde delay() kullanırken dikkatli olun. 
  // Çok uzun beklemeler (delay) OTA paketlerinin kaçırılmasına sebep olabilir.
}

Kablosuz Kod Yükleme Adımları

  • 1. İlk Yükleme: Yukarıdaki kodu USB kablosu ile ESP8266'ya yükleyin ve Seri Port Ekranından Wi-Fi'ya bağlandığını doğrulayın.
  • 2. Port Seçimi: Bilgisayarınız ve ESP8266 aynı Wi-Fi ağında olmalıdır. Arduino IDE'yi yeniden başlatın veya birkaç saniye bekleyin. Araçlar > Port (Tools > Port) menüsüne girdiğinizde COM portlarının altında esp8266-yenidir at 192.168.1.x şeklinde Network Ports (Ağ Portları) seçeneğini göreceksiniz.
  • 3. Kablosuz Yükleme: Ağ portunu seçtikten sonra Yükle (Upload) butonuna basın. Kod derlenecek ve USB kablosuna ihtiyaç duymadan doğrudan Wi-Fi üzerinden kartınıza yüklenecektir!
Kritik Kural:
Gelecekte yazacağınız her yeni koda da ArduinoOTA.handle(); fonksiyonunu ve gerekli OTA kütüphane tanımlamalarını eklemelisiniz. Eğer OTA kodunu içermeyen bir yazılımı karta yüklerseniz, bir sonraki güncelleme için tekrar USB kablosu bağlamanız gerekir!

💬 Yorumlar

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın

Güvenlik Kontrolü:

Yenidir.com
↑ Sayfa Başı
📞 İletişim ✉ E-Posta Gönder 🟥 YouTube
© 2026 Yenidir.com
Yenidir CMS V0.1