Браузер стал нормальной передней панелью аккумуляторного тестера
Штатный кабель EBC-A20 оказался USB-UART адаптером CH340, доступным из браузера через WebUSB после смены драйвера. Открытое приложение на Rust выводит управление нагрузочным тестом и график измерений в WASM-интерфейс, сохраняя нативные сборки для Windows и Linux. Ключевой ценой такой передней панели становится владение USB-интерфейсом на уровне драйвера.
Для электронного аккумуляторного тестера ZKETECH EBC-A20 выпущено открытое кроссплатформенное приложение ebc-battery-tester. Проект написан на Rust с egui/eframe и собирается в нативные варианты для Windows и Linux, а также в WASM-версию, запускаемую в браузере. Версия 0.4.0 опубликована 16 июня 2026 года; последующий релиз 0.5.0 вышел 20 июня.
Практическая деталь EBC-A20 скрыта в его кабеле подключения к ПК. Mini-USB разъём на корпусе прибора передаёт последовательный интерфейс через USB-UART мост CH340, а не USB-протокол самого измерителя. Обычный кабель mini-USB для этой цели не подходит. Мост определяется по VID 0x1A86 и PID 0x7523, а обмен с прибором идёт на 9600 бод в формате 8E1: восемь бит данных, чётная проверка parity и один стоп-бит.
Автор проекта восстановил протокол по захвату USB-трафика. Документация описывает кадры команд и телеметрии, XOR-контрольную сумму и base-240 кодирование отдельных полей. Такой уровень разбора позволяет приложению задавать режимы теста, получать поток статусов и строить график нагрузочного испытания. Репозиторий также содержит утилиты извлечения заводской прошивки из оригинального Windows EXE и из PCAP-захвата процедуры обновления. Для двух методов заявлен идентичный образ firmware_id9_EBC-A20.bin.
Браузерная версия использует WebUSB для доступа к CH340. Здесь проявляется основное системное ограничение. USB-интерфейс, захваченный стандартным драйвером CH340, браузер открыть не может. В Windows для этого требуется назначить устройству WinUSB, обычно через Zadig. После такой замены фирменная программа, ожидающая COM-порт, доступа к кабелю не получает до обратной установки драйвера. В Linux требуется отвязать интерфейс от драйвера ch341. Поддержка заявлена для Chrome, Edge и Opera; Firefox в эту схему не входит.
Измерительная часть EBC-A20 при этом остаётся штатной. Переопределяются интерфейс оператора и программный слой обмена, а метрологические параметры, алгоритмы калибровки и защита силового тракта не проходят независимой проверки самим проектом. По паспорту производителя прибор работает с напряжением 0.00–30.00 В, задаёт разрядный ток 0.10–20.00 А, зарядный ток до 5.00 А и ограничен мощностью 85 Вт.
Конструкция показывает границу применимости WebUSB в лабораторной оснастке. Браузерная передняя панель устраняет привязку к закрытому Windows-приложению и переносит графики на любую подходящую машину, однако требует отдельного управления драйвером USB-UART моста. Для приборов с простым последовательным протоколом именно эта граница между драйвером ОС и WebUSB определяет, насколько переносимым окажется интерфейс.