Skip to main content
Glama
albertobalsalm0

ESP32-CYD Wi-Fi Analyzer MCP

ESP32-CYD Wi-Fi Analyzer MCP

License: MIT Python 3.10+ MCP Standard Hardware: ESP32 CYD

ESP32 Cheap Yellow Display (CYD) ve Model Context Protocol (MCP) kullanarak çevredeki Wi-Fi ağlarını tarayan, güvenlik açıklarını analiz eden ve donanım üzerindeki 2.8 inç TFT ekran ile RGB LED üzerinden görsel geri bildirim sunan yapay zeka destekli siber güvenlik analiz cihazı.


Özellikler

  • Uçtan Uca Yapay Zeka Entegrasyonu: Model Context Protocol (MCP) üzerinden Claude Desktop veya uyumlu herhangi bir LLM istemcisiyle çift yönlü haberleşme.

  • Akıllı Tehdit Analizi: Şifresiz (OPEN) ağlar, zayıf şifrelenmiş (WEP) erişim noktaları ve sahte/kopya ağlar (Evil Twin / Rogue AP) tespiti.

  • Görsel Durum ve Uyarı Paneli: 320x240 TFT ekranda dinamik durum kartları (Sarı: Tarama Yapılıyor, Yeşil: Güvenli, Kırmızı: Güvenlik Tehdidi).

  • Aktif Donanım Kontrolü: Tehdit seviyesine göre renk değiştiren dahili RGB LED (Active-Low sürücü).

  • Kendi Kendini Onaran Bağlantı (Self-Healing): USB kablosu çıkarılıp takıldığında kilitlenmeyen ve otomatik yeniden bağlanan Python seri port yöneticisi.


Sistem Mimarisi

flowchart LR
    subgraph AI["Yapay Zeka (Brain)"]
        CLAUDE["Claude Desktop / Cursor\n(Claude 3.5/5 Sonnet)"]
    end

    subgraph MCP["Protokol Köprüsü (Middleware)"]
        SERVER["FastMCP Python Server\n(mcp_serial_server.py)"]
    end

    subgraph HARDWARE["Uç Donanım (Edge Device)"]
        CYD["ESP32 Cheap Yellow Display\n(ESP32-2432S028R)"]
        TFT["2.8' TFT Ekran"]
        LED["Dahili RGB LED"]
        CYD --> TFT
        CYD --> LED
    end

    CLAUDE <-->|JSON-RPC Stdio| SERVER
    SERVER <-->|USB Serial (COM3 / 115200 Baud)| CYD

Proje Dizin Yapısı

ESP32-CYD-WiFi-Analyzer-MCP/
├── firmware/
│   ├── cyd_wifi_sniffer/
│   │   └── cyd_wifi_sniffer.ino   # ESP32 C++ firmware kodu
│   └── User_Setup.h               # TFT_eSPI kütüphanesi için hazır pin yapılandırması
├── server/
│   └── mcp_serial_server.py       # FastMCP tabanlı Python seri port sunucusu
├── config/
│   └── claude_desktop_config.json.example # Claude Desktop örnek ayar dosyası
├── requirements.txt               # Python bağımlılıkları
├── .gitignore                     # Git yoksayma kuralları
└── README.md                      # Proje dokümantasyonu

Donanım ve Pinout Yapılandırması (ESP32-2432S028R)

Fonksiyon

GPIO Pini

Açıklama

Ekran SPI

GPIO 13 (MOSI), 12 (MISO), 14 (SCK)

SPI Ekran Veri Hattı

Ekran Kontrol

GPIO 15 (CS), 2 (DC), 4 (RST)

Chip Select, Data/Command, Reset

Ekran Arka Işık (Backlight)

GPIO 21 (bazı klonlarda 27)

Ekran aydınlatması

RGB LED (Kırmızı)

GPIO 4

Active-Low (LOW = Açık)

RGB LED (Yeşil)

GPIO 16

Active-Low (LOW = Açık)

RGB LED (Mavi)

GPIO 17

Active-Low (LOW = Açık)

Dokunmatik (Touch CS)

GPIO 33 (2USB v3) / GPIO 36 (Standart)

XPT2046 SPI hattı


Kurulum Adımları

1. Adım: ESP32 Firmware Kurulumu

  1. Bilgisayarınıza Arduino IDE kurun.

  2. Arduino IDE içerisinden Kütüphane Yöneticisi (Library Manager)'ni açıp şu kütüphaneleri yükleyin:

    • TFT_eSPI (Bodmer)

    • ArduinoJson (Benoit Blanchon - v6 veya v7 desteklenir)

  3. firmware/User_Setup.h dosyasını kopyalayın ve bilgisayarınızdaki Belgeler/Arduino/libraries/TFT_eSPI/User_Setup.h dosyası ile değiştirin.

  4. firmware/cyd_wifi_sniffer/cyd_wifi_sniffer.ino dosyasını Arduino IDE ile açın.

  5. Kart olarak ESP32 Dev Module, port olarak cihazınızın bağlı olduğu COM portunu (örneğin COM3) seçip Yükle (Upload) butonuna basın.

  6. Yükleme tamamlandığında ekranda mavi renkte "SISTEM HAZIR" mesajı belirecektir.


2. Adım: Python MCP Sunucusu Kurulumu

  1. Python 3.10 veya daha güncel bir sürümün kurulu olduğundan emin olun.

  2. Gerekli kütüphaneleri yükleyin:

    pip install -r requirements.txt

3. Adım: Claude Desktop Yapılandırması

  1. Claude Desktop uygulamasını kurun.

  2. AppData/Roaming/Claude/claude_desktop_config.json dosyasını açın (yoksa oluşturun) ve aşağıdaki şekilde düzenleyin:

    {
      "mcpServers": {
        "esp32-cyd-sniffer": {
          "command": "python",
          "args": [
            "C:\\path\\to\\your\\repository\\server\\mcp_serial_server.py"
          ]
        }
      }
    }
  3. Claude Desktop uygulamasını tamamen kapatıp yeniden başlatın.


Kullanım ve Örnek Promptlar

Claude Desktop'ta yeni bir sohbet açın ve doğrudan konuşarak cihazı yönetin:

  • Port Bulma:

    "Bilgisayarımdaki aktif portları listeler misin?"

  • Wi-Fi Taraması:

    "COM3 portundaki cihazımla çevremdeki Wi-Fi ağlarını tara."

  • Siber Güvenlik Analizi ve Alarm Tetikleme:

    "Bulduğun ağları incele. Şifresiz veya şüpheli ağlar tespit edersen ne olduğunu açıkla ve cihazın ekranına kırmızı renkte bir güvenlik alarmı gönder."

  • Ekranı Sıfırlama:

    "Ekranı normale döndür ve LED'i yeşil yak."


Desteklenen LLM Modelleri

Bu proje standart Model Context Protocol (MCP) kullandığı için aşağıdaki tüm sistemlerle uyumludur:

  • Claude Desktop (Önerilen): Claude 3.5 Sonnet / Claude 5 Sonnet (Native MCP istemcisi)

  • Cursor IDE: Cursor Ayarlar -> MCP menüsü üzerinden entegre edilebilir.

  • VS Code (Cline / Roo Code): GPT-4o, Gemini 1.5 Pro, Llama-3 veya Claude modelleriyle birlikte kullanılabilir.


Lisans

Bu proje MIT Lisansı ile lisanslanmıştır. Detaylar için LICENSE dosyasına bakabilirsiniz.