Duet Web Control
Duet Web Control — это веб-интерфейс для управления 3D-принтерами и другим оборудованием с числовым программным управлением (ЧПУ), работающим под управлением прошивок RepRapFirmware (RRF) или Duet. Представляет собой одностраничное приложение (SPA), которое обеспечивает удалённый мониторинг, настройку и управление процессом печати через браузер на любом устройстве, подключённом к локальной сети или интернету.
История
Duet Web Control был разработан как часть экосистемы Duet3D — британской компании, создающей контроллеры для 3D-печати. Первая версия интерфейса появилась в 2014 году одновременно с выпуском платы Duet 0.6. Изначально это был простой HTML-интерфейс, отображающий базовые параметры печати. Со временем функционал расширялся: появились поддержка G-кода, управление осями, настройка температуры и возможность загрузки файлов.
Ключевой этап развития — версия 2.0, выпущенная в 2016 году. Она перешла на архитектуру SPA с использованием JavaScript и WebSocket, что позволило обновлять данные в реальном времени без перезагрузки страницы. Версия 3.0 (2018) добавила поддержку нескольких экструдеров, камер и расширенных макросов. В 2020 году вышла версия 3.3, которая стала последней крупной для классического Duet Web Control, так как компания Duet3D переключилась на разработку нового интерфейса — Duet Software Framework (DSF) с собственным веб-клиентом.
Архитектура и принцип работы
Duet Web Control работает по клиент-серверной модели. Серверная часть — это контроллер Duet (например, Duet 2 WiFi, Duet 3 Mainboard 6HC) или Raspberry Pi с установленной RepRapFirmware. Клиентская часть — веб-браузер на компьютере, планшете или смартфоне.
Связь с контроллером
Взаимодействие между веб-интерфейсом и контроллером осуществляется через HTTP-запросы и WebSocket-соединение. HTTP используется для начальной загрузки страницы, отправки команд (например, запуск печати) и загрузки файлов. WebSocket обеспечивает двустороннюю передачу данных в реальном времени: контроллер отправляет текущие показатели (температура, положение осей, состояние печати), а интерфейс — команды управления.
Компоненты интерфейса
Duet Web Control состоит из нескольких вкладок, каждая из которых отвечает за определённую функцию:
- Dashboard (Панель управления) — главный экран, отображающий текущее состояние принтера: температуру стола и сопла, скорость печати, прогресс выполнения задания, координаты осей, а также кнопки для паузы, остановки и возобновления печати.
- Control (Управление) — ручное управление осями (перемещение по X, Y, Z), экструдером (подача и ретракт филамента), а также настройка температуры и скорости вентиляторов.
- G-Code (G-код) — окно для отправки произвольных G-команд напрямую на контроллер. Отображает историю отправленных команд и ответы от прошивки.
- Settings (Настройки) — конфигурация принтера: параметры осей (шаги на миллиметр, ускорение, скорость), настройки нагревателей (PID-регуляторы, максимальная температура), калибровка Z-зонда, а также управление сетевыми параметрами (Wi-Fi, IP-адрес).
- Files (Файлы) — файловый менеджер для загрузки, просмотра и удаления G-код-файлов на SD-карте контроллера. Поддерживает предварительный просмотр модели (слайсерные превью) и отображение времени печати.
- Macros (Макросы) — выполнение пользовательских макросов (наборов G-команд), таких как калибровка стола, замена филамента или очистка сопла.
- Webcam (Веб-камера) — встроенный просмотрщик потока с веб-камеры, установленной рядом с принтером. Поддерживает MJPEG и RTSP-потоки.
Функциональные возможности
Duet Web Control предоставляет широкий набор функций для управления 3D-принтером:
- Удалённый мониторинг и управление — возможность наблюдать за процессом печати и вносить корректировки с любого устройства, подключённого к сети.
- Загрузка и управление файлами — загрузка G-код-файлов на SD-карту контроллера, их удаление, переименование и запуск печати.
- Редактирование G-кода — встроенный текстовый редактор для просмотра и изменения G-кода перед печатью.
- Управление макросами — создание, редактирование и выполнение макросов для автоматизации повторяющихся операций (например, калибровка стола).
- Настройка принтера — изменение параметров прошивки (конфигурация осей, нагревателей, датчиков) без подключения к компьютеру через USB.
- Поддержка нескольких экструдеров — управление до 10 экструдерами (в зависимости от версии прошивки и контроллера).
- Мониторинг через веб-камеру — встроенная поддержка потокового видео для визуального контроля печати.
- Уведомления — отправка уведомлений на электронную почту или в мессенджеры (Telegram, Pushover) о завершении печати или ошибках.
- Многопользовательский режим — поддержка нескольких одновременных подключений с разными правами доступа (администратор, оператор, гость).
Версии и совместимость
Duet Web Control тесно связан с версией прошивки RepRapFirmware. Основные версии интерфейса:
- Версия 1.x — базовая, работала с RepRapFirmware 1.x. Поддерживала только базовые функции: отображение температуры, управление осями, отправка G-кода.
- Версия 2.x — значительное обновление, добавившее WebSocket, вкладки управления, файловый менеджер и поддержку нескольких экструдеров. Совместима с RepRapFirmware 2.x.
- Версия 3.x — последняя крупная линейка. Добавлена поддержка макросов, веб-камер, многопользовательского режима и улучшенная настройка принтера. Совместима с RepRapFirmware 3.x.
Начиная с RepRapFirmware 3.3 (2021 год), компания Duet3D рекомендует использовать новый веб-интерфейс, построенный на Duet Software Framework (DSF). Однако классический Duet Web Control продолжает поддерживаться сообществом и может быть установлен вручную на контроллеры Duet 2 и Duet 3.
Установка и настройка
Duet Web Control поставляется предустановленным на контроллеры Duet 2 WiFi и Duet 2 Ethernet. Для установки на другие контроллеры (например, Duet 3 или Raspberry Pi с RepRapFirmware) требуется загрузить последнюю версию из репозитория проекта на GitHub и скопировать файлы в корневую директорию веб-сервера контроллера (обычно /www на SD-карте).
Настройка осуществляется через вкладку Settings веб-интерфейса или путём редактирования конфигурационных файлов (config.g, config-override.g) на SD-карте. Основные параметры, которые необходимо настроить:
- Сетевые настройки — IP-адрес, маска подсети, шлюз, DNS-сервер (для проводного подключения) или SSID и пароль Wi-Fi.
- Параметры осей — количество шагов на миллиметр, максимальная скорость, ускорение, направление движения.
- Настройки нагревателей — тип термопары, PID-коэффициенты, максимальная температура, защита от перегрева.
- Калибровка Z-зонда — тип датчика (механический, индуктивный, BLTouch), координаты срабатывания, смещение.
Преимущества и недостатки
Преимущества
- Кроссплатформенность — работает в любом современном браузере (Chrome, Firefox, Safari, Edge) без установки дополнительного ПО.
- Низкие системные требования — не требует мощного компьютера или сервера, достаточно контроллера Duet с веб-сервером.
- Открытый исходный код — интерфейс распространяется по лицензии GPLv3, что позволяет сообществу вносить изменения и улучшения.
- Интеграция с RepRapFirmware — полная совместимость с прошивкой, включая поддержку всех её функций (многозонные нагреватели, сетки выравнивания стола, компенсация резонанса).
- Активное сообщество — на форумах Duet3D и GitHub обсуждаются проблемы, публикуются обновления и пользовательские модификации.
Недостатки
- Зависимость от прошивки — не работает с другими прошивками (Marlin, Klipper, Smoothieware) без серьёзной доработки.
- Устаревшая архитектура — по сравнению с современными решениями (например, Mainsail или Fluidd для Klipper) интерфейс менее гибкий и медленнее обновляется.
- Ограниченная поддержка камер — не поддерживает современные протоколы (HLS, WebRTC) и не имеет встроенной записи таймлапсов.
- Отсутствие встроенного слайсера — не позволяет нарезать модели непосредственно в интерфейсе, требуется загрузка готовых G-код-файлов.
Сравнение с альтернативами
Duet Web Control является одним из старейших веб-интерфейсов для 3D-печати. Основные конкуренты:
- OctoPrint — наиболее популярный веб-интерфейс, работающий на Raspberry Pi. Поддерживает множество плагинов (слайсер, таймлапс, удалённый доступ), но требует отдельного компьютера и не интегрируется напрямую с контроллерами Duet.
- Mainsail и Fluidd — современные интерфейсы для прошивки Klipper. Отличаются высокой производительностью, поддержкой нескольких камер и встроенным слайсером, но несовместимы с RepRapFirmware.
- Repetier-Server — коммерческий продукт с поддержкой нескольких прошивок (Marlin, RepRapFirmware, Klipper). Предоставляет облачный доступ и продвинутую аналитику, но требует платной подписки для полного функционала.
Duet Web Control сохраняет актуальность для пользователей контроллеров Duet благодаря глубокой интеграции с RepRapFirmware и простоте настройки.
Источники
- Duet3D — официальный сайт и документация по Duet Web Control и RepRapFirmware.
- Репозиторий Duet Web Control на GitHub (проект с открытым исходным кодом).
- Форумы сообщества Duet3D (обсуждения, руководства по установке и настройке).
- Статья «RepRapFirmware» на сайте RepRap Wiki.
- Сравнительный обзор веб-интерфейсов для 3D-печати на портале All3DP.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →