Embedded System Python ★ 151

horw/esp-mcp

ESP32 serisi çipler için ESP-IDF kullanarak build sorunlarını çözmek için iş akışı.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "horw-esp-mcp": {
      "command": "python",
      "args": [
        "-m",
        "esp_mcp"
      ]
    }
  }
}

MseeP.ai Security Assessment Badge

Amaç

Bu MCP'nin amacı:

  • ESP-IDF ve ilgili proje komutlarını tek bir yerde birleştirmek.
  • Yalnızca LLM iletişimi kullanarak başlamayı basitleştirmek.

Projeye Katkıda Bulunma

Bu MCP'den eksik olan bir komutu bulun ve onun için bir PR açın!

Bu uygulama konusunda birinin size yardımcı olmasını istiyorsanız, bir issue açın.

Uyarı

Bu proje şu anda ESP-IDF iş akışları için tasarlanmış bir MCP sunucusunun Kavram Kanıtı (PoC) aşamasındadır.

Mevcut Yetenekler:

Temel Özellikler:

  • run_esp_idf_install: install.sh aracılığıyla ESP-IDF bağımlılıklarını ve araç zincirini yükleyin.
  • create_esp_project: Yeni bir ESP-IDF projesi oluşturun.
  • setup_project_esp_target: ESP-IDF projeleri için hedef çipi ayarlayın (esp32, esp32c3, esp32s3, vb.).
  • build_esp_project: Artımlı derleme desteğiyle ESP-IDF projelerini derleyin.
  • list_esp_serial_ports: ESP cihazları için kullanılabilir seri portları listeleyin.
  • flash_esp_project: Derlenmiş ürün yazılımını bağlı ESP cihazlarına yükleyin.
  • run_pytest: ESP-IDF projeleri için pytest-embedded desteğiyle pytest testlerini çalıştırın.

Ek Özellikler:

  • Esnek ESP-IDF yol yönetimi: idf_path parametresi aracılığıyla proje başına ESP-IDF sürümlerini destekler.
  • SDK config yönetimi: derleme yapılandırması için özel sdkconfig_defaults dosyalarını destekler (birden fazla dosya noktalı virgülle ayrılarak belirtilebilir).
  • Performans izleme için derleme süresi takibi.
  • Yükleme işlemleri için isteğe bağlı port belirtimi.
  • Derleme günlüklerine dayalı otomatik sorun giderme için deneysel destek içerir.

Vizyon & Gelecek Çalışmalar: Uzun vadeli vizyon, bu MCP'yi gömülü cihazlarla etkileşim kurmak için kapsamlı bir araç kitine genişletmek, muhtemelen home assistant platformlarıyla entegre etmek ve ESP-IDF ve ilgili teknolojiler için belgelere erişimi kolaylaştırmaktır.

Aşağıdaki gibi özellikler hayal ediyoruz:

  • Daha geniş ESP-IDF komut desteği (örneğin, monitor, menuconfig etkileşimi mümkünse).
  • Cihaz yönetimi ve bilgi alınması.
  • Diğer gömülü geliştirme araçları ve platformlarıyla entegrasyon.

Fikirleriniz ve katkılarınız hoşgeldiniz! Lütfen bir issue açarak bunları tartışmaktan çekinmeyin.

Kurulum

İlk olarak, bu MCP deposunu klonlayın:

git clone git@github.com:horw/esp-mcp.git

Ardından, sohbet botunuzda yapılandırın.

Aşağıdaki JSON snippet'i, bu esp-mcp sunucusunu Model Context Protocol (MCP) destekleyen bir sohbet botu veya ajan sistemi içinde nasıl yapılandırabileceğinize dair bir örnektir. Tam yapılandırma adımları ve format, kullandığınız belirli sohbet botu sistemine bağlı olarak değişebilir. MCP sunucularının nasıl entegre edileceğine ilişkin ayrıntılar için sohbet botunuzun belgelerine bakın.

{
    "mcpServers": {
        "esp-run": { // "esp-run" bu sunucu yapılandırmasına atayabileceğiniz keyfi bir addır.
            "command": "<path_to_uv_or_python_executable>",
            "args": [
                "--directory",
                "<path_to_cloned_esp-mcp_repository>", // örneğin, /path/to/your/cloned/esp-mcp
                "run",
                "main.py" // Python'u doğrudan kullanıyorsanız, bu sadece "main.py" olabilir ve `command` python yorumlayıcınız olurdu
            ],
            "env": {
                "IDF_PATH": "<path_to_your_esp-idf_directory>" // örneğin, ~/esp/esp-idf veya C:\\Espressif\\frameworks\\esp-idf
            }
        }
    }
}

Yapılandırma hakkında birkaç not:

  • command: Eğer uv kullanıyorsanız tam uv yolunuz, veya Python yorumlayıcınız (örneğin, /usr/bin/python3 veya C:\\Python39\\python.exe) olmalıdır.
  • args:
    • İlk --directory argümanı, esp-mcp deposunu klonladığınız mutlak yol olmalıdır.
    • Eğer uv kullanıyorsanız, run main.py argümanları uygun olur. Python'u doğrudan kullanıyorsanız, args listesinde sadece main.py gerekebilir ve command Python yürütülebilirine işaret etmelidir.
  • IDF_PATH: (İsteğe bağlı) Bu ortam değişkeni, ESP-IDF kurulumunuzun kök dizinine işaret edebilir. ESP-IDF, Espressif'in resmi IoT Geliştirme Çerçevesidir. Kurulmadıysa, kurulum talimatları için resmi ESP-IDF belgelerine bakın. Not: Tüm araçlar, aracı çağırırken manuel olarak belirtilebilen bir idf_path parametresini destekler ve ortam değişkenini ayarlamadan farklı projeler için farklı ESP-IDF sürümlerini kullanmanıza olanak tanır. Eğer idf_path sağlanmamışsa, araç IDF_PATH ortam değişkenini (varsa) kullanır.

Kullanım

esp-mcp sunucusu yapılandırıldıktan ve çalışmaya başladıktan sonra, LLM'niz veya sohbet botunuz bu MCP'de tanımlanan araçları kullanarak bununla etkileşim kurabilir. Örneğin, sohbet botunuzdan şunları isteyebilirsiniz:

  • "ESP-IDF bağımlılıklarını /path/to/esp-idf konumundaki ESP-IDF kurulumu için yükleyin."
  • "Hedef çipi /path/to/my/esp-project konumundaki proje için esp32s3 olarak ayarlayın."
  • "esp-mcp kullanarak /path/to/my/esp-project konumundaki projeyi derleyin."
  • "Projeyi özel sdkconfig varsayılanları ile derleyin: sdkconfig.defaults;sdkconfig.ci.release."
  • "Pytest testlerini /path/to/my/esp-project konumundaki proje için esp32c3 hedefleyerek çalıştırın."
  • "Ürün yazılımını my_app içindeki bağlı ESP32 cihazına yükleyin."

MCP sunucusu daha sonra main.py içinde uygulanan araçlara dayalı olarak karşılık gelen ESP-IDF komutlarını (örneğin, idf.py build, idf.py set-target, idf.py flash, pytest) yürütecektir.

Aşağıdaki result.gif bir örnek etkileşimi göstermektedir:

Result

Örnekler

  1. Derleme ve Yükleme

Star Geçmişi

Star History Chart

Benzer MCP sunucuları

Daha fazla: Embedded System →