ESP8266 (NodeMCU) ve WIZ5500 Ethernet Modülü kullanımı

👤 Yazar: Admin 📅 Tarih: 21.09.2026 01:04 👁️ Görüntüleme: 3

ESP8266 (NodeMCU) ve WIZ5500 Ethernet Modülü Bağlantı Rehberi

W5500 (WIZ5500), dahili donanımsal TCP/IP protokol yığınına (Hardwired TCP/IP) ve 32 KB dahili bellek tamponuna sahip, yüksek hızlı bir Ethernet denetleyicisidir. ESP8266 (NodeMCU) ile SPI arabirimi üzerinden haberleşerek Wi-Fi bağlantısına alternatif olarak kararlı bir kablolu ağ bağlantısı sağlar.

ESP8266 NodeMCU ve WIZ5500 Ethernet Bağlantı Şeması


1. Donanım Pin Eşleşme Tablosu

Görseldeki devre şemasına göre ESP8266 (NodeMCU) ile WIZ5500 modülü arasındaki pin bağlantı haritası şu şekildedir[cite: 5]:

WIZ5500 Pin ESP8266 NodeMCU Pin GPIO Karşılığı Sinyal / Kablo Rengi
3V3 / VIN 3V3 3.3V Power 3.3V Güç Beslemesi (Kırmızı Kablo)
GND GND Ground Ortak Toprak Hattı (Siyah Kablo)
SCLK (SCK) D5 GPIO14 SPI Clock (Mavi Kablo)
MISO D6 GPIO12 SPI Master In Slave Out (Yeşil Kablo)
MOSI (SI) D7 GPIO13 SPI Master Out Slave In (Gri Kablo)
CS D8 GPIO15 Chip Select / Slave Select (Açık Kahverengi Kablo)
RESET RST RST Pin Donanımsal Sıfırlama (Koyu Kahverengi Kablo)
Donanım Notu (GPIO15 / CS Pini):
ESP8266 boot işlemi sırasında D8 (GPIO15) pininin LOW seviyesinde olması gerekir. WIZ5500 modülünün CS pini dahili olarak yükseltme (pull-up) direncine sahip değilse boot hatası almamak için CS hattına harici 10kΩ pull-down veya pull-up direnç durumlarına dikkat edilmelidir.

2. C++ Kod Örneği (Arduino IDE / ESP8266 W5500 Server)

Aşağıdaki Arduino C++ kodu, şemadaki pin konfigürasyonuna göre WIZ5500 modülünü kullanarak basit bir HTTP web sunucusu başlatır:

C++ / ESP8266 W5500 Ethernet Web Server

#include <ESP8266WiFi.h>
#include <SPI.h>
#include <Ethernet.h>

// Şemadaki Pin Tanımlamaları
#define W5500_CS_PIN D8 // GPIO15

// Benzersiz MAC Adresi
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

EthernetServer server(80);

void setup() {
  Serial.begin(115200);
  delay(10);

  // ESP8266 Wi-Fi Modunu Kapatarak Sadece Ethernet Kullan
  WiFi.mode(WIFI_OFF);
  WiFi.forceSleepBegin();
  delay(1);

  Serial.println("\nWIZ5500 Ethernet Modülü Başlatılıyor...");

  // Ethernet CS Pinini Belirle
  Ethernet.init(W5500_CS_PIN);

  // DHCP ile IP Al
  if (Ethernet.begin(mac) == 0) {
    Serial.println("DHCP Hatası! Bağlantı Kontrol Ediliyor...");
    if (Ethernet.hardwareStatus() == EthernetNoHardware) {
      Serial.println("W5500 Modülü Bulunamadı! SPI Bağlantılarını Kontrol Edin.");
    } else if (Ethernet.linkStatus() == LinkOFF) {
      Serial.println("Ethernet Kablosu Takılı Değil!");
    }
    while (true) { delay(1000); }
  }

  server.begin();
  Serial.print("Ethernet Bağlantısı Başarılı! Web Server IP: ");
  Serial.println(Ethernet.localIP());
}

void loop() {
  EthernetClient client = server.available();
  if (client) {
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        if (c == '\n' && currentLineIsBlank) {
          // HTTP Yanıt Başlığı
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");
          client.println();
          
          // HTML Sayfa İçeriği
          client.println("<!DOCTYPE HTML><html><body style='font-family:sans-serif;'>");
          client.println("<h2>ESP8266 + WIZ5500 Ethernet Server</h2>");
          client.println("<p><b>SPI Pin Yapısı:</b> CS: D8 (GPIO15) | SCK: D5 | MISO: D6 | MOSI: D7</p>");
          client.println("<p>Durum: W5500 Donanımsal TCP/IP Bağlantısı Aktif</p>");
          client.println("</body></html>");
          break;
        }
        if (c == '\n') {
          currentLineIsBlank = true;
        } else if (c != '\r') {
          currentLineIsBlank = false;
        }
      }
    }
    delay(1);
    client.stop();
  }
}

💬 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