При разработке и испытаниях электроники часто приходится одновременно работать с мультиметрами, осциллографами, генераторами, источниками питания и электронными нагрузками. Результат нужно повторить или хотя бы сохранить, но без общей системы показания переносятся вручную, а файлы и заметки приходится сопоставлять отдельно.
VlasovLab OpenBench объединяет поддерживаемые приборы в локальный измерительный комплекс с общей панелью, согласованным форматом данных и API для скриптов или ИИ. OpenBench работает без облачного сервиса, а веб-интерфейс доступен на русском и английском языках. Исходный код и документация опубликованы в репозитории VlasovLabTech/OpenBench-lab-control.
Интерфейс подключённого стенда. Для ключевых состояний OpenBench подготовлены варианты в светлой и тёмной темах: сайт показывает кадр, соответствующий выбранной теме. В кадрах видны реальные приборы, текущие измерения и реакции системы на изменение соединений во время записи.
Что реализовано сейчас
OpenBench подключается к оборудованию через USB serial, USB HID, Bluetooth LE, LAN, SCPI и sigrok. Dashboard показывает соединения, текущие измерения, режимы, активные выходы и доступные настройки каждого прибора.
Основные функции OpenBench:
- поиск, подключение и опрос приборов с обновлением интерфейса через WebSocket;
- управление разрешёнными функциями источников, нагрузок, генераторов и осциллографов;
- общий Snapshot и ограниченная по времени или непрерывная запись нескольких приборов в CSV;
- сохранение скриншотов, автоматических измерений, осциллограмм, JSON-метаданных и нативных файлов, если это поддерживает драйвер;
- профили коммутационной матрицы с проверками и переключением break-before-make;
- общий аварийный останов с отключением поддерживаемых источников и размыканием матрицы.
Физическая коммутационная матрица пока не реализована. Сейчас работает симулированная модель и программная логика профилей, проверок и блокировок. Это позволяет разрабатывать интерфейс и API до появления аппаратной части, не выдавая симуляцию за готовое устройство.
Для обычного захвата код не нужен: инженер выбирает приборы, задаёт название и комментарий, затем запускает
Snapshot или запись. Результаты сохраняются с временными метками, начальными настройками и ссылками на
связанные артефакты. База данных, локальные настройки и результаты находятся в каталоге
.openbench и не смешиваются с исходным кодом проекта. Интерфейс адаптирован для настольного
и мобильного экранов.
API и оркестрация с помощью ИИ
OpenBench предоставляет локальный REST API с JSON, интерактивную схему OpenAPI и события WebSocket. Через API можно найти приборы, прочитать их состояние, изменить разрешённые настройки, запустить запись и получить созданные файлы.
Codex использует этот API для координации приборов, серий измерений и подготовки отчётов. Например, внешний сценарий может менять ток электронной нагрузки и в каждой точке параллельно читать напряжение и ток, захватывать каналы осциллографа и сохранять скриншоты и числовые выборки.
Граница безопасности. API не служит туннелем к произвольным SCPI-, serial- или shell-командам. Подача энергии требует явного решения оператора и известной схемы подключения. Там, где прибор это позволяет, OpenBench проверяет записанные настройки обратным чтением, а штатные и аварийные пути завершения оставляют управляемые выходы выключенными.
Программная блокировка дополняет лабораторную безопасность, но не заменяет проверку схемы, пределов,
нагрузки и защит. Локальный сервер по умолчанию слушает 127.0.0.1, не имеет встроенных TLS
и аутентификации и не должен напрямую публиковаться в недоверенной сети.
Поддерживаемые приборы
Мультиметры UNI-T
Поддерживаются UT61D и оригинальный UT61E через оптический USB-адаптер, UT61E+ через CH9329 или CP2110 и UT197 по Bluetooth LE. OpenBench может одновременно работать с несколькими совместимыми мультиметрами.
Осциллографы Micsig
Для MHO1 доступны сетевое обнаружение, настройки каналов, развёртки и edge-trigger, Run/Stop/Single, измерения, скриншоты и числовой захват CH1–CH4. ETO5004 поддерживает измерения, ограниченный числовой захват и скриншоты через хранилище прибора. Путь полного экспорта памяти MHO1 пока не заявляется как физически подтверждённый.
Генератор FeelElec FY-series
Управляются оба канала, форма, частота, амплитуда, смещение, duty cycle, фаза и выходы. Также реализованы синхронизация, burst, модуляции, sweep/VCO, пресеты и частотомер. Физически проверена модель FY6200-20M; значения без полного read-back помечаются как непроверенные.
Источники и нагрузки
Для FNIRSI DPS-150 реализованы напряжение, ток, защиты, мониторинг, пресеты, последовательности и sweep. OWON SPM6103 сочетает программируемый источник до 60 В, 10 А и 300 Вт со встроенным мультиметром.
Двунаправленный ITECH IT6054C-800-225 работает в фиксированных режимах CV/CC и SOURCE/SINK. Это оборудование класса до 800 В, ±225 А и 54 кВт, поэтому включение выхода требует подтверждённого подключения, безопасного состояния матрицы и активных защит.
Логический анализатор Kingst LA2016
Доступны до 16 каналов, настройка частоты и объёма выборки, порога и аппаратных триггеров. Захват можно
запустить сразу или поставить на ожидание события, а результат сохранить в нативный файл
.sr с метаданными. Симулированные мультиметр и матрица позволяют проверить интерфейс,
CSV-поток и внешние сценарии без физического стенда.
Практические сценарии
Автоматическое снятие АЧХ — исторический пример
В одном из ранних сценариев FeelElec FY6200 и Micsig MHO1 автоматически сняли АЧХ RC-фильтра от 1 до 100 кГц. OpenBench перестраивал частоту и масштаб осциллографа, измерял усиление и фазу. Были получены все 11 точек, расчётная частота среза составила около 17,7 кГц.
Специализированной Bode-страницы в текущей версии больше нет. Эксперимент остаётся историческим примером внешней оркестрации через API: последовательность может выполнить Codex или отдельный скрипт с обычными атомарными операциями приборов.
Исследование протокола Xiaomi Mijia MCL02M
При создании собственной прошивки для Xiaomi Mijia MCL02M мы подключили Kingst LA2016 и использовали OpenBench для захвата I²C между интерфейсной ESP32 и силовой платой. GPT/Codex управлял сбором через API и помог примерно за час сопоставить команды с поведением плитки и восстановить протокол управления.
Синхронные тесты охватили запуск, изменение мощности, Pause/Resume, отсутствие и возврат посуды и переход в Standby. Полученные данные легли в основу собственной прошивки с многоязычным интерфейсом, режимами мощности и температуры, профилями и дополнительными защитами.
Силовые испытания до 220 А
OpenBench синхронизировал ITECH, четырёхканальный MHO1 и UT61E+ при испытаниях источника 12 В, 3 кВт. Девятиточечный прогон от 0 до 220 А дал 9 из 9 кадров осциллографа и 9 из 9 чтений нагрузки; после опыта Output был отключён и проверен. Три схемы установки пробников дали 27 синхронизированных точек и 108 осциллограмм, объединённых в автономный двуязычный HTML-отчёт.
Что меняется в рабочем процессе
OpenBench уменьшает объём ручной перестройки приборов, переписывания показаний и сортировки файлов. Один интерфейс показывает стенд, одна операция запускает согласованный сбор, а каждый результат получает время, название, комментарий и связь с артефактами.
Инженер определяет схему подключения, пределы и момент подачи энергии. OpenBench отвечает за повторяемость программной последовательности, синхронизацию и сохранение данных в согласованном формате.
Что планируется дальше
Одно из ближайших расширений — ESP32-S3 Bench Node для лабораторной автоматики: шесть цифровых выходов, четыре цифровых входа, четыре аналоговых входа, два аналоговых выхода и UART. Реле и MOSFET-ключи смогут переключать вспомогательные цепи и имитировать кнопки. Входы пригодятся для сигналов POWER GOOD, концевиков, датчиков и служебного контроля, а UART — для консоли, загрузчика и логирования. Управление будет доступно через общий API.
Дальнейшее развитие может включать новые драйверы, физическую коммутационную матрицу, библиотеку рецептов, декодирование протоколов, тепловые измерения и новые форматы отчётов. Это план, а не заявление о готовых функциях.
OpenBench связывает приборы, захваты и внешнюю автоматизацию в воспроизводимый рабочий контур. Чем больше проверенных драйверов и сценариев добавляется, тем меньше ручных операций остаётся между постановкой опыта и анализом результата.
Исходный код, установка и техническая документация: VlasovLabTech/OpenBench-lab-control.