Esp32sim - Эмулятор ESP32 с запуском прошивки в браузере
Show HN: Esp32sim – Run ESP32 firmware in the browser
Esp32sim — это открытый эмулятор ESP32 на Rust, который позволяет запускать реальную прошивку без аппаратного обеспечения, облака и подписки. Он эмулирует четыре SoC (ESP32, S3, C3, C6) на уровне инструкций, загружая настоящий масочный ROM, загрузчик и немодифицированное приложение. Поддерживаются GPIO, UART, таймеры, виртуальный Wi-Fi с NAT и даже камера. Благодаря WebAssembly эмулятор работает прямо в браузере — достаточно открыть страницу и запустить демо, например Linux на S3 или синтезатор SID. Проект распространяется под лицензией MIT и доступен на GitHub.
Запускайте реальную прошивку ESP32 локально или в браузере — без железа, без облака, без подписки.
- raminf
Великолепно! Очень круто.
Во многих IoT-проектах проще создать «функциональный» программный симулятор аппаратной части, чтобы мобильные разработчики и облачные инженеры могли начать работу, не дожидаясь тестового железа. Такие симуляторы работают на уровне эмуляции BLE или WiFi/API-команд. Когда появляется железо, симуляторы используются только в CI/CD-тестировании.
Где я вижу пользу от этого: вместо «функционального симулятора» можно иметь реальную прошивку, работающую для каждого мобильного или бэкенд-разработчика и CI/CD-раннера.
- Klovy
Этот эмулятор на самом деле довольно крутой — особенно потому, что он основан на ESP32; с ним можно делать всякие интересные штуки, даже простые :)
- dofm
Я на самом деле хочу как-нибудь поиграться с этим. Но, честно говоря, эти гигантские, плохо отформатированные абзацы, сгенерированные ИИ, как тот, что под этим заголовком…
https://github.com/mikroverk/esp32sim#boards-esp32-s3
… это уже слишком — с их плотной смесью форматирования, скобок, семантической пунктуации, аргументов командной строки и номеров деталей и т.д. (Этот особенно абсурден, но он не единственный).
Возможно, я уже среднего возраста и не эксперт, но я почти уверен, что такие вещи обычно утомляют даже молодых экспертов. Я бы настоятельно рекомендовал пересмотреть, как представлена эта страница.