ESP32-Firmware-Entwicklung mit Docker-Sandboxes: KI-Agenten sicher auf echter Hardware arbeiten lassen

ESP32 Firmware Development with Docker Sandboxes

Firmware-Entwicklung ist oft eine fragile Angelegenheit: Toolchain-Konflikte, 'bei mir läuft es'-Builds und die Balance zwischen Legacy-Wartung und neuen Features. Dieser Artikel zeigt, wie Docker und Docker Sandboxes den Prozess für ESP32-Projekte revolutionieren. Das offizielle `espressif/idf`-Image sorgt für reproduzierbare Builds, während Sandboxes (microVMs) es KI-Agenten wie Claude Code ermöglichen, eigenständig zu bauen, zu flashen und zu testen – ohne Zugriff auf den Host. Ein Netzwerk-Serial-Bridge-Trick (RFC2217) erlaubt sogar Hardware-Flashen aus der Sandbox. Inklusive Makefile-Tipps, paralleler Umgebungen für neue und Legacy-Firmware sowie ehrlicher Einschränkungen.

Ein Agent, der beschließt, Ihre Firmware irgendwohin zu übertragen, kann es einfach nicht.
  1. mzakharo1

    Wir haben kürzlich ESP32-C5/C6-Unterstützung mit WiFi zu Espressif QEMU hinzugefügt. Die Möglichkeit, virtuelle Maschinen hochzufahren, beschleunigt die Entwicklung erheblich. Wir können jetzt unser Produktions-Firmware-Image nehmen und es unverändert auf QEMU ausführen. Kein Warten mehr auf das Flashen von Boards, sondern sofort mehrere Boards hochfahren.

    https://github.com/CognitiveSystemsCorp/qemu_esp

  2. kooi

    Scheint etwas überladen?

    Wir verwenden Rust mit Embassy auf der ESP-Plattform, und es ist ziemlich wunderbar.

    Wir haben alle Peripheriemodule isoliert und haben Nicht-Peripheriemodule, die mit einem Embassy-Desktop-Scheduler und Mock-Peripheriegeräten kompatibel sind.

    Die Testumgebungen sind mittlerweile gut genug, dass man sie in einer Schleife mit der echten Hardware betreiben kann.

    Der nächste Schritt ist, einen Saleae anzuschließen und den Agenten gegen echte Signale testen zu lassen.

  3. jakewins

    Ich habe das vor einiger Zeit ausprobiert und festgestellt, dass es am Ende einfacher war, dem Firmware-Agenten einen dedizierten Rechner zu geben. Es gibt so viel Low-Level-Zeug, auf das man beim Iterieren an der Firmware zugreifen möchte, und die Docker-Ebenen verwirrten die Agenten ständig, wenn sie Fehler, Abstürze, Brownouts usw. debuggten.

    Die Kombination aus einem dedizierten kleinen Rechner mit einem USB-Hub, der pro Port Stromzyklus unterstützt, ermöglicht es dem Agenten, über sehr lange Zeiträume (Tage) zu iterieren und sich ohne menschliches Eingreifen zu entklemmen. Offensichtlich ist jede so produzierte Software unbrauchbar, aber es ist unglaublich zum Debuggen. Der Agent bekommt ein programmierbares Oszilloskop, Stromzyklus-Steuerung und Peripheriegeräte (ebenfalls stromzyklusfähig), die die verschiedenen Dinge emulieren, mit denen unser Produkt in freier Wildbahn kommuniziert.

    TL;DR: Ich fand, dass die Docker-Ebenen nur Verwirrung beim Agenten stifteten, und ihr einen alten Laptop zu geben, war viel einfacher und viel leistungsfähiger.

Mehr von diesem Tag

2026-08-22