- Velxio — это симулятор с открытым исходным кодом, который можно разместить на собственном сервере и который эмулирует Arduino, ESP32 и Raspberry Pi непосредственно в браузере.
- Он поддерживает 19 плат, 5 архитектур ЦП и более 48 интерактивных компонентов с эмуляцией реального ЦП.
- Это позволяет размещать несколько плат на одной схеме, использовать последовательный монитор, управлять библиотеками и работать совместно.
- Лицензия AGPLv3, позволяющая использовать его в образовательных целях, а также коммерческий вариант, делают его полезным для разработчиков, образовательных учреждений и стартапов.

Проверяйте свои идеи с помощью Arduino, ESP32 или Raspberry Pi. Часто все начинается с большого энтузиазма, но не раз заканчивается бесконечным ожиданием заказов, неудачными установками и изрядной дозой разочарования. Необходимость постоянно полагаться на физическое оборудование замедляет эксперименты и усложняет как обучение, так и профессиональное развитие в области встроенных систем.
Вот тут-то это и вступает в игру. Velxio — веб-симулятор встроенного оборудования. Цель проекта — изменить подход к прототипированию. Он позволяет эмулировать целые платы, подключать графические компоненты, писать код и видеть его работу прямо в браузере, без необходимости размещать устройство на тестовом стенде или загружать что-либо в облако, если это не требуется. И всё это — на основе фундамента. открытый исходный код и возможность самостоятельного размещения.
Что представляет собой симулятор Velxio и какова его философия?
Велксио Симулятор плат для Arduino, ESP32 и Raspberry Pi, работающий непосредственно в вашем браузере.Он был создан как альтернатива облачным инструментам (таким как Wokwi) с очень четкой идеей: предложить тот же высокоуровневый опыт моделирования, но с возможностью запуска всего локально и на собственном сервере, без зависимости от внешних серверов.
Его создатель начал разработку симулятор с открытым исходным кодом, специально разработанный для Arduinoс целью обеспечения возможности работы в автономном режиме, с большим контролем над средой и без необходимости отправки кода сторонним сервисам. На этой основе проект вырос в... многоплатная платформа моделирования способен выходить далеко за рамки базовых скетчей Arduino.
Философия проекта основана на трех столпах: Свободное программное обеспечение, самостоятельная установка и реализм в эмуляцииЦель состоит в том, чтобы любой пользователь мог запускать Velxio на своем компьютере или сервере, интегрировать его в образовательные или профессиональные рабочие процессы, сохраняя при этом поведение, очень близкое к реальному оборудованию.
Кроме того, Velxio позиционирует себя как инструмент. Предназначено как для сообщества мейкеров, так и для школ, университетов и стартапов. тем, кому необходимо экспериментировать, обучать или проверять идеи в области аппаратного обеспечения, избегая при этом затрат и сложностей, связанных с физической сборкой на начальных этапах.
В основе проекта лежит современная технологическая платформа, размещенная на GitHub: фронтенд на React с TypeScript, бэкенд на Python с FastAPI. а также повторное использование эмуляционных движков из таких известных проектов, как Wokwi, и все это под открытыми лицензиями.
Как работает Velxio внутри: реалистичная эмуляция и рабочий процесс.
Одно из достоинств Velxio заключается в том, что это не просто «игрушечный» симулятор; эмулирует реальные процессоры поддерживаемых материнских платНапример, для Arduino с микроконтроллерами AVR8 (такими как ATmega328p в Arduino Uno) используется тот же механизм эмуляции тактов, что и Wokwi, распространяемый под лицензией MIT. Это позволяет синхронизировать поведение кода на уровне инструкций и тактовых циклов.
На практике это означает, что при написании типичного эскиза мигания, Виртуальный светодиод включается и выключается в ответ на фактические изменения на эмулируемых выводах микроконтроллера.Это не искусственная анимация: модель ЦП вычисляет состояние выводов GPIO, и эти изменения в реальном времени передаются на компоненты схемы.
Основной рабочий процесс в Velxio следует той же логике, что и при программировании реального оборудования: Вы пишете код, компилируете его, а затем запускаете на имитированной плате.В веб-редакторе (на основе Monaco, того же движка, что и VS Code) пользователь пишет свою программу и нажимает кнопку компиляции. Браузер отправляет код на серверную часть, реализованную с использованием FastAPI, которая запускает arduino-cli как дочерний процесс для генерации соответствующего бинарного или HEX-файла.
После компиляции, Полученный файл возвращается в браузер.где эмулятор ЦП интерпретирует код и загружает его на виртуальную плату. Когда пользователь нажимает кнопку «Выполнить», эмулируемый ЦП начинает обработку инструкций, регистры и выводы обновляются, а интерфейс отображает поведение схемы так, как это происходило бы на физической плате.
Система не ограничивается простым светодиодом: Velxio включает в себя библиотеку интерактивных компонентов. (экраны, датчики, входы, выходы и т. д.) на основе собственных элементов интерфейса Wokwi. Это создает визуальную среду, в которой компоненты можно перетаскивать и соединять с помощью графической системы проводки.
Материнские платы, архитектуры процессоров и поддерживаемые компоненты.
С переходом на Velxio 2.0 платформа значительно расширила свои возможности: Он обеспечивает поддержку 19 различных материнских плат и 5 архитектур процессоров.Это открывает возможности, выходящие за рамки классического Arduino, и позволяет работать с гораздо более разнообразными и даже сложными средами.
По имеющейся информации, Поддерживаемые архитектуры включают AVR8, ARM Cortex-M0+, RISC-V, Xtensa и ARM Cortex-A53.На практике это означает возможность моделирования таких плат, как различные модели Arduino, микроконтроллеры на базе ARM, несколько ESP32 и Raspberry Pi 3, способный загружать полноценную операционную систему.
Ещё один важный момент — это библиотека периферийных устройств: более 48 интерактивных электронных компонентов Это самые разные компоненты: от светодиодов и резисторов до датчиков, TFT-дисплеев, текстовых экранов и других модулей, широко используемых в электронике и проектах Интернета вещей. Такое разнообразие позволяет проводить тщательное тестирование логики, взаимодействия и временных характеристик перед началом работы с реальным оборудованием.
В браузерной интегрированной среде разработки используется Издатель МонакоЭто обеспечивает удобство редактирования, очень похожее на Visual Studio Code: подсветка синтаксиса, автозавершение, удобное управление вкладками и файлами и т. д. Кроме того, Velxio включает в себя последовательный монитор, управление библиотеками и возможность параллельной работы с несколькими платами.
Особенно примечательной особенностью является то, что Это позволяет моделировать несколько разнородных плат в одной и той же схеме.Например, в одной и той же среде моделирования могут одновременно работать два Arduino, обменивающиеся данными по SPI, ESP32, взаимодействующий с платой на базе Arduino через последовательный порт, или даже Raspberry Pi 3, взаимодействующий с Raspberry Pi Pico.
Моделирование работы Arduino, ESP32 и Raspberry Pi в браузере
Компания Velxio была создана с упором на... Arduino и экосистема AVRНо в настоящее время его возможности выходят далеко за эти рамки. В случае с Arduino симулятор компилирует код с помощью arduino-cli и запускает его с помощью... Эмулятор с точностью до такта для AVR8 Унаследовано от инфраструктуры Wokwi, которая обеспечивает высокую точность синхронизации, подавление прерываний и работу контактов.
В проекте для ESP32 объединены несколько стратегий эмуляции: Поддерживаются как варианты Xtensa, так и ESP32-C3 на базе RISC-V.В частности, упоминается, что ESP32-C3 работает на Эмулятор RISC-V, полностью написанный на TypeScript.Он работает непосредственно в браузере, не требуя дополнительного бэкэнда. Для других вариантов ESP32 Velxio интегрирует форк QEMU, также из экосистемы Wokwi, для эмуляции ядра Xtensa.
В области Raspberry Pi компания Velxio способна на следующее: Имитируйте работу Raspberry Pi 3, загрузив полную версию Raspberry Pi OS с помощью QEMU в браузере.Теоретически это позволяет работать в реальной среде Linux, запускать скрипты Python или Bash и подключать виртуальный Raspberry Pi к другим элементам схемы. Хотя эта часть все еще находится в стадии бета-тестирования, и сообщалось об ограничениях (например, о трудностях доступа к последовательной консоли в некоторых случаях), она открывает двери для довольно сложных сценариев моделирования.
Для небольших плат, таких как Raspberry Pi Pico, Velxio использует... Эмуляторы, специально предназначенные для RP2040Благодаря повторному использованию разработок сообщества Wokwi, создается среда, в которой можно тестировать проекты с несколькими различными микроконтроллерами, взаимодействующими одновременно, без необходимости выставлять все эти платы на стол.
Всё это сопровождается гибким подходом к языкам программирования: Возможно работать с Arduino (C/C++) и Python.В описании проекта также упоминается совместимость с другими средами разработки в зависимости от платы, что делает его привлекательным как для энтузиастов электроники, так и для высококвалифицированных программистов.
Основные возможности Velxio 2.0 для разработчиков, образовательных учреждений и стартапов.
Помимо списка плат и компонентов, Velxio 2.0 выделяется набором функций, ориентированных на реальную работу: тестирование, отладка и сотрудничествоИнструмент включает в себя встроенный последовательный монитор, позволяющий просматривать вывод программы так же, как и на физической плате, а также управлять библиотеками для каждого проекта без необходимости возиться со сложными локальными установками.
Одно из главных достоинств проекта заключается в том, что моделирование на нескольких платах на одной и той же схемеЭто особенно полезно для тестирования типичных распределенных архитектур IoT: сенсорных узлов на базе ESP32, центрального блока на базе Raspberry Pi, модулей расширения, управляемых Arduino, и так далее. Возможность моделировать все это в браузере, прежде чем вкладывать средства в оборудование, экономит время и деньги.
В сфере образования Velxio позволяет это сделать. Учащиеся и преподаватели могут работать над сложными проектами, не нуждаясь в полноценной компьютерной лаборатории.В классах, где бюджет или логистика ограничены, или где подключение к интернету ненадежно, наличие симулятора, который можно развернуть в локальной сети или на отдельных компьютерах, значительно облегчает внедрение встроенной электроники и программирования.
Для стартапов и продуктовых команд ценность заключается в скорости: Быстро проверяйте идеи на жизнеспособность, допускайте дешевые ошибки и демонстрируйте работающие прототипы клиентам или инвесторам. без использования физического прототипирования на начальных этапах. Сам проект демонстрирует, что Velxio может сыграть ключевую роль в ускорении этапов проверки концепции и обучении новых разработчиков.
Тот факт, что Проекты можно сохранять в облаке и работать над ними совместно. Это тоже добавляет баллов. Распределённые команды могут совместно использовать каналы связи, код и конфигурации, что снижает сложности при удалённой работе. Тем не менее, возможность самостоятельного размещения инструмента на собственной инфраструктуре остаётся доступной для тех, кому необходим полный контроль.
Открытый исходный код, лицензии и самостоятельное размещение.
Velxio покоится на явно открытом основании: Код проекта доступен на GitHub. в рамках модели двойного лицензирования. С одной стороны, она предлагает Лицензия AGPLv3 для личных, образовательных и проектов с открытым исходным кодом.Это позволяет студентам, преподавателям и разработчикам использовать инструмент бесплатно при условии соблюдения условий лицензии. С другой стороны, существует коммерческая лицензия Предназначено для проприетарных продуктов, закрытых SaaS-решений или интеграций, где публикация исходного кода нежелательна.
Этот смешанный подход направлен на достижение баланса. Философия свободного программного обеспечения в сочетании с коммерческой устойчивостью.Это позволяет компаниям интегрировать Velxio в свои продукты или платформы, не будучи вынужденными открывать весь свой код в обмен на определенную лицензию.
Ещё одним ключевым аспектом является возможность Автоматический запуск Velxio с помощью одной команды DockerЕсли у вас уже установлен и настроен Docker на машине с Linux (например, Ubuntu 24.04), вы можете развернуть всю среду моделирования одной командой и получить к ней доступ из браузера, используя http://localhost:3080 или локальный IP-адрес компьютера. Это значительно упрощает установку в средах разработки, учебных классах или лабораториях.
Также есть Онлайн-демонстрация доступна на официальном сайте (velxio.dev).Таким образом, любому, кто хочет быстро ознакомиться с симулятором, ничего устанавливать не нужно. Нажав на кнопку «Попробовать симулятор бесплатно», вы сразу же откроете симулятор с мигающим примером на Arduino UNO, готовым к компиляции и запуску.
Наконец, тот факт, что проект повторно использует компоненты и эмуляторы из Wokwi, распространяемые под лицензиями MIT и аналогичными, демонстрирует прозрачный подход. сотрудничество с другими проектами с открытым исходным кодом Вместо того чтобы изобретать велосипед, сосредоточьтесь на повышении ценности в таких областях, как самостоятельное размещение, многопользовательская тарификация и интегрированный пользовательский опыт.
Преимущества Velxio по сравнению с другими симуляторами, такими как Wokwi или PicsimLab.
В существующей экосистеме уже есть несколько инструментов для моделирования электроники и микроконтроллеров. Например, Wokwi — это очень хорошо зарекомендовавшая себя платформа. Это позволяет имитировать работу Arduino, ESP32 и других компонентов непосредственно в интернете, благодаря очень удобному интерфейсу и явной ориентации на образовательный процесс и использование в проектах для энтузиастов.
Wokwi предлагает пространство для совместной работы. поддержка широкого спектра компонентов а также возможность писать и тестировать код непосредственно в браузере. Он идеально подходит для обучения, экспериментов и быстрого обмена проектами, а также предлагает интеграцию с такими приложениями, как WebCatalog, позволяя запускать его в отдельных окнах на macOS и Windows.
Однако подход Вокви в первую очередь заключается в следующем: облачныйВсё работает на их серверах, и пользователь не имеет такого же уровня контроля над инфраструктурой или глубокой интеграции в самоуправляемые корпоративные или образовательные среды. Именно здесь Velxio выделяется, предлагая симулятор, очень похожий по основным возможностям, но с возможностью самостоятельного размещения и расширения..
Что касается PicsimLab, это еще один вариант. Возможность моделирования с веб- и локальной версией.Velxio также поддерживает множество микроконтроллеров, включая ESP32. Однако его веб-версия описывается как значительно более медленная и ресурсоемкая, с существенным потенциалом для повышения производительности. Подход Velxio, основанный на современных технологиях на стороне браузера и оптимизированных эмуляторах, направлен именно на минимизацию этих неудобств при использовании.
Подводя итог сравнению, Компания Velxio известна тем, что: Простота самостоятельного размещения через Docker, поддержка нескольких плат и архитектур на одной схеме, интеграция QEMU для таких устройств, как ESP32 и Raspberry Pi 3, а также модель лицензирования, позволяющая как бесплатное использование в образовательных целях, так и коммерческую интеграцию. И все это без ущерба для визуального интерфейса, аналогичного Wokwi, с интерактивными компонентами и редактором в стиле VS Code.
Текущие ограничения и уровень зрелости проекта
Хотя Velxio теперь полностью работоспособен, Оно всё ещё активно развивается. И у него есть некоторые ограничения, типичные для молодого проекта. Например, сообщалось о проблемах при попытке доступа к последовательной консоли имитируемого Raspberry Pi 3 даже после нескольких минут загрузки, что указывает на то, что эмуляция полноценной операционной системы в браузере все еще нуждается в доработке.
В случае с ESP32 наблюдались следующие явления. Ошибки компиляции в некоторых более сложных примерах При загрузке определенных библиотек или проектов, как в локальных установках, так и в онлайн-демоверсии, возникают проблемы. Однако простые примеры, такие как классический светодиод Blink, работают корректно, поэтому проблема скорее в улучшении совместимости с определенными средами и зависимостями, чем в общем отсутствии поддержки.
Ещё одним разрабатываемым направлением является визуальная система проводкиВ настоящее время программа позволяет отображать соединения между контактами и компонентами, но в ранних версиях некоторые соединения были скорее декоративными, чем функциональными. Цель состоит в том, чтобы все эти связи представляли собой реальные сигнальные пути, отражающие изменения состояния и позволяющие проводить более глубокую отладку.
Несмотря на эти недостатки, фундамент проекта прочный, и план развития включает в себя следующее: Добавьте больше датчиков, дисплеев и утилит, например, более полноценный последовательный монитор....а также доработка параметров производительности в чисто веб-версии. В любом случае, для образовательных целей, экспериментов с Arduino и ESP32 и быстрой проверки идей этот инструмент уже очень полезен.
Сам автор выразил заинтересованность в получать честные отзывы от сообщества Чтобы определить приоритеты в улучшениях: знание того, какие функции наиболее ценны для пользователей (школы с плохим интернет-соединением, разработчики, желающие интегрировать моделирование в свои инструменты, создатели, предпочитающие локальные проекты и т. д.), является ключевым моментом для принятия решения о том, куда следует продолжать инвестировать время.
Примеры использования и профили пользователей, которые могут получить наибольшую выгоду от Velxio
Для энтузиастов и любителей электроники Velxio идеально подходит. инструмент для быстрого тестированияВместо того чтобы ждать доставки плат и компонентов или мучиться с тестовыми сборками, вы можете смоделировать схему в браузере, написать код и итеративно дорабатывать его, пока логика не станет понятной. Тогда переход к реальному оборудованию будет гораздо более плавным и менее неожиданным.
В образовательном контексте, центры с ограниченными ресурсами или ненадежным подключением к интернету Velxio можно развернуть на локальном сервере или на компьютерах в классе, предоставляя каждому ученику возможность экспериментировать с виртуальными досками, не опасаясь что-либо повредить. Это также снижает затраты на техническое обслуживание и замену.
Для стартапов и компаний, занимающихся прототипированием IoT-продуктов, Velxio становится среда для проверки и демонстрацииМожно подготовить интерактивные примеры, чтобы показать клиентам или инвесторам, как будет работать система, без необходимости носить на каждую встречу портфель, полный плат и кабелей. Кроме того, возможность самостоятельного размещения платформы является преимуществом для тех, кто работает с конфиденциальной интеллектуальной собственностью.
Команды разработчиков встроенного программного обеспечения и микропрограмм могут использовать симулятор для Автоматизация тестирования и первоначальной отладкиПри желании его можно интегрировать с собственными инструментами. Открытый исходный код проекта упрощает подключение к внутренним конвейерам обработки данных, средам обучения или виртуальным лабораториям.
А для сообщества разработчиков открытого программного обеспечения Velxio открывает двери для сотрудничать в разработке новых плат, компонентов и сценариев моделирования.Предоставление примеров, документации и улучшений для экосистемы без зависимости от какой-либо проприетарной компании, которая задает темпы развития.
Предложение Velxio в конечном итоге основано на мощной комбинации: Реалистичная эмуляция, поддержка нескольких плат, удобный интерфейс и возможность локального или облачного использования.Хотя в нем еще есть над чем поработать, он уже достаточно зрелый, чтобы стать очень полезным инструментом в арсенале любого, кто работает с Arduino, ESP32 или Raspberry Pi и хочет без проблем экспериментировать прямо из браузера.
Страстный писатель о мире байтов и технологий в целом. Мне нравится делиться своими знаниями в письменной форме, и именно этим я и займусь в этом блоге: покажу вам все самое интересное о гаджетах, программном обеспечении, оборудовании, технологических тенденциях и многом другом. Моя цель — помочь вам ориентироваться в цифровом мире простым и интересным способом.



