CHITUBOX + Chitu Manager - печатаем из любой сети (SSDP 3.0)
Принтеры из Китая, а других вроде как и нет, используют систему авто обнаружения на основе протокола SSDP, действие которого ограничивается в рамках одной сети. Кроме этого, в ПО поставляемое "производителем", умышленно не добавляется возможность ручной настройки с указанием IP адреса принтера. Приятным исключением из этого правила является ПО HALOTBOX от компании Creality, отказавшейся от использования комплектующих и заготовок ПО от Chitu System.
Сам протокол, называемый SSDP 3.0 разработан и внедряется НИИ Chitu System. Общее, между стандартным протоколом SSDP и SSDP 3.0 только название. По этому использовать стандартные существующие решения прокси/ретрансляторов из одной сети в другую невозможно - они не работают с этим протоколом.
Авто поиск работает только для тех, кто размещает принтер в той же сети/подсети/VLAN, что и ваш ПК со слайсером. Всем остальным доступно сообщение - "Принтер не найден", или что-то похожее по смыслу.
Про доступ к принтеру из "родного слайсера" по VPN тунелю говорить не приходится. В результате - "привет флешка!". Конечно беготня с носителем не так обременительна как кажется, многие это знают по собственному опыту. В качестве решения ситуации - производители предлагают использовать мобильное ПО, для связи с принтером через Китай, который стоит от вас в 3-5 метрах. Отрицательные аспекты использования этих китайских облачных решений я напоминать не буду, они и так хорошо всем известны. С какой целью проводится такая политика - оставлю вам на размышление.
В случае FDM принтеров, обычно все используют OrcaSlicer. Так или иначе, весь софт "от производителя" обычно базируется именно на нем, только с обязательным "обрезанием" возможности ручного подключения принтера по IP адресу.
А вот в случае фото полимерной печати, выбор как правило отсутствует. Есть фактически единственный слайсер - CHITUBOX от Chitu System, и конечно урезанные клоны от "производителей". Чтобы понять какие принтеры собираются из комплектующих Chitu System и используют их ПО, достаточно посмотреть список поддерживаемых устройств в ПО "Chitu Manager", который является необязательной частью CHITUBOX.
Все сетевые коммуникации с принтерами в CHITUBOX происходят через ПО "Chitu Manager", значит именно его мы должны "заставить" увидеть принтер.
Очевидно, что решением этого вопроса, является написание прокси сервера для протокола SSDP 3.0.
Но можно пойти и другим путем, запускать на ПК где работают CHITUBOX + Chitu Manager "информатор", который на запросы авто поиска от "Chitu Manager" отвечает ему согласно протоколу SSDP 3.0.
Вот этот вариант мы и рассмотрим.
Нам необходимо иметь полноценный ответ от нашего принтера. Согласно спецификации протокола SSDP 3.0, он должен иметь json формат.
Последовательность действий:
- Включаем принтер.
- запускаем скрипт "python utils/chity-scan.py" из скачанного архива, в сети к которой подключен принтер.
- если принтер найден, скрипт запишет файл ответа с именем принтера и расширением json.
- переносим полученный файл в любую директорию на ПК, где работают "CHITUBOX + Chitu Manager".
- запускаем ПО из архива: "ssdp3a.exe -p с:/ваша-директория-куда-положили-файл".
- запускаем "Chitu Manager", проверяем наличие и доступность принтера.
Поддерживается неограниченное число принтеров. Естественно, принтеров не может быть больше чем свободных адресов в выбранной сети. Для сети класса 'С' обычно это 253 адреса.
Пример:
192.168.1.0/24 - сеть к которой подключен ПК с установленными "CHITUBOX + Chitu Manager".
192.168.2.0/24 - сеть к которой подключен принтер.
Подключаем ПК к сети 192.168.2.0/24 как к основной, или используем другое устройство подключенное к сети 192.168.2.0/24, на котором возможно выполнять скрипты на языке python.
Включаем принтер, даём ему полностью загрузится.
Запускаем скрипт на устройстве в сети 192.168.2.0/24: "python utils/chity-scan.py", получаем файл, например MARS5U.json, если у вас принтер ELEGOO MARS 5 ULTRA.
Возвращаем подключение ПК к основной сети 192.168.1.0/24, если вы его переключали.
Переносим на ПК полученный файл MARS5U.json, если это необходимо.
На ПК запускаем: "ssdp3a.exe -p с:/путь-куда-положили-json-файл".
Если не указывать ключ "-p", ssdp3a сам выберет оптимальное место, в зависимости от операционной системы и создаст директорию.
Созданная директория будет указана в окне при старте программы, в нее следует положить полученный json файл.
При отсутствии json файлов описания принтеров, программа предупреждает об этом и завершается.
В случае добавления, удаления или изменения json файлов, программа автоматически вносит изменения, перезапуск не требуется.
Далее запускаем "Chitu Manager", проверяем наличие и доступность принтера.
Пользуемся, проверяем, печатаем и т.д.
В данном примере мы рассмотрели запуск ssdp3a на ПК где установлен софт от Chitu System, но вы конечно можете разместить ssdp3a на любом устройстве подключённом к сети 192.168.1.0/24, есть готовые сборки под ARM64, ARM32, Windows 10/11 и Debian13/AMD64.
Еще больше интересных статей
Слайсер для новичка: с чего начинать, чтобы не крутить всё подряд
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Мне этот вопрос задают чуть ли не каждую неделю, поэтому решил собрать...
BMCU к принтеру на Klipper. Часть 1.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Постобработки пост. Делаем из ABS грунт-порозаполнитель.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Если эксперимент удался, значит что-то здесь не...


Комментарии и вопросы
Ваш скепсис описывает ровно то...
А зачем напрямую принтером све...
Благодарю за подробный ответ.....
Собираю Stealthmax V2 можно ск...
Прошу помочь разобраться. В 3д...
Мужики, быть может кто нибудь...
Купил Anycubic Mono 4. Пробую...