ESP32-CYD Wi-Fi Analyzer MCP
README.md
# ESP32-CYD Wi-Fi Analyzer MCP
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://modelcontextprotocol.io/)
[](https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display)
**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
```mermaid
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ı
```text
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](https://www.arduino.cc/en/software)** 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:
```bash
pip install -r requirements.txt
```
---
### 3. Adım: Claude Desktop Yapılandırması
1. **[Claude Desktop](https://anthropic.com/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:
```json
{
"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.
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues