Velxio — это симулятор Arduino, Raspberry Pi и ESP32 с открытым исходным кодом и возможностью самостоятельного развертывания

Velxio — это симулятор с открытым исходным кодом для плат Arduino, ESP32 и Raspberry Pi, который работает напрямую в вашем веб-браузере. Можно перетаскивать платы, подключать компоненты и модули, писать и запускать код на Arduino или Python, а также получать доступ к последовательной консоли — всё без физического оборудования.

Если это выглядит похожим на то, что предлагает симулятор Wokwi , то это потому, что Velxio был вдохновлён им и даже интегрирует эмулятор ЦП AVR8, эмулятор RP2040 и форк QEMU для эмуляции ESP32 Xtensa из проекта Wokwi. Но ключевое отличие в том, что Velxio можно развернуть самостоятельно, хотя также доступна онлайн-демонстрация .

Velxio Arduino simulator
Онлайн-демонстрация Velxio

Velxio в настоящее время поддерживает 19 целей для пяти архитектур

  • AVR8 (ATmega / ATtiny)
  • Arm Cortex-M0+ ( Raspberry Pi RP2040 )
  • RISC-V RV32IMC/EC ( ESP32-C3 / CH32V003 )
  • Xtensa LX6/LX7 (ESP32 / ESP32-S3 через QEMU)
  • Arm Cortex-A53 (Raspberry Pi 3 под управлением Linux через QEMU)

Проект также предлагает 48 компонентов. Разработчик упоминает что дополнительные возможности по сравнению с Wokwi включают несколько гетерогенных плат в одной цепи (например, два Arduino, соединенных по SPI или последовательному интерфейсу, ESP32 с Arduino, Raspberry Pi 3 с Pico и т.д.) и полную поддержку эмуляции через QEMU для ESP32 и Raspberry Pi 3.

Помимо использования онлайн-демо, установка на машину с Ubuntu 24.04 оказалась очень простой с помощью одной команды (предполагается, что Docker уже установлен и активирован):

jaufranc@CNX-LAPTOP-5:~/edev/sandbox$ sudo docker run -d -p 3080:80 ghcr.io/davidmonterocrespo24/velxio:master

После завершения установки доступ к симулятору можно получить в веб-браузере по локальному IP на порту 3080 (http://localhost:3080).

Self hosted Arduino ESP32 Raspberry Pi simlator

Нажатие кнопки «Try Simulator Free» переносит в симулятор, предварительно загруженный примером Blink для Arduino UNO, как на верхнем скриншоте в этой статье. Этот пример можно собрать и запустить, чтобы увидеть мигающий светодиод. На панель управления были добавлены Raspberry Pi 3 и Raspberry Pi Pico 2 W, и для платы Pico был собран пример Blink.

Velxio multi board simulator

Raspberry Pi 3 можно запустить, но даже после нескольких минут ожидания доступ к последовательной консоли и запуск примеров скриптов на Python и Bash оказались невозможны. Возможно, это связано с бета-статусом функции.

Добавление дополнительных компонентов или плат очень просто, так как все хорошо описано, и выбранный компонент можно просто перетащить на нужное место перед подключением к одному из GPIO выводов платы.

Velxio add component others

Если пока не хочется подключать проект самостоятельно, всегда можно перейти в раздел с примерами, чтобы просмотреть различные образцы для плат Arduino, Raspberry Pi Pico или ESP32.

Velxio ESP32 Examples

Было опробовано несколько примеров для ESP32. Они загружают код и необходимые библиотеки, но сборка завершилась с ошибкой:

[1285/1297] Building C object esp-idf/libsodium/CMakeFiles/__idf_libsodium.dir/libsodium/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.obj
ninja: build stopped: subcommand failed.
✕ ESP-IDF build failed

Попытка сделать то же самое в онлайн-демо также завершается неудачей с похожей ошибкой, но с более подробным выводом.

Bootloader binary size 0x4350 bytes. 0x2cb0 bytes (40%) free.
ninja: build stopped: subcommand failed.
CMake Deprecation Warning at /opt/esp-idf/tools/cmake/project.cmake:2 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.
  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.
Call Stack (most recent call first):
CMakeLists.txt:8 (include)
fatal: not a git repository (or any of the parent directories): .git
CMake Deprecation Warning at /opt/esp-idf/CMakeLists.txt:1 (cmake_minimum_required):
...

Был выбран более простой пример для ESP32 (Blink LED), и на этот раз он сработал.

Velxio ESP32 Blink LED sample

Velxio — интересный проект, хотя для повышения стабильности предстоит проделать дополнительную работу. Код и полная информация доступны на GitHub . Код распространяется по модели двойного лицензирования: лицензия AGPLv3 для личных, образовательных и проектов с открытым исходным кодом, а также коммерческая лицензия для проприетарных и закрытых продуктов или SaaS.

Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments