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.

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.
}
esp8266-yenidir at 192.168.1.x şeklinde Network Ports (Ağ Portları) seçeneğini göreceksiniz.
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!
Henüz yorum yapılmamış. İlk yorumu siz yapın!