Апельсиновый осьминог: начало.
Вводная
Итак. В далекой-далекой галактике. 3D-принтер нужно кормить не только физической пищей (филаментом), но и духовной. В качестве последней используются команды G-Code, основная масса которых - подвинуть туда, выдавить столько-то. В простейшем случае принтер подключен к компьютеру и по цепочке 'управляющая программа - USB - мост USB UART - UART микроконтроллера' получает команды. В качестве управляющей программы обычно используется Repetier-Host или Pronterface, также средства управления можно встретить в неожиданных местах, вроде слайсера Cura. Да, я говорю сейчас о RepRap-совместимой технике, а не о наглухо закрытых проприетарных продуктах.
Второй вариант - это печать с карточки. Подготовленный G-код записывается на SD, карточка вставляется в принтер, и дальше он оттуда забирает команды средствами прошивки. Удобно тем, что не нужно держать включенным компьютер, неудобно отсутствием возможности управления иначе как очно. Ну и плюс, карточку туда-сюда дергать постоянно.
А вот OctoPrint (а также Repetier-Server) - это третий вариант, хотя, строго говоря, не принципиально отличающийся от первого. По сути, OctoPrint - это тоже управляющая программа, как Repetier-Host или Pronterface. Ее задача - кормить принтер G-кодом через последовательный порт. Но есть два ключевых момента.
Первый - это ориентация на удаленное управление по локальной сети или через интернет. То есть, вместо локального пользовательского интерфейса, у нас веб-сервер, который рисует органы управления в браузере. Второй - это 'заточенность' под работу на мини-ПК типа Raspberry Pi. На самом деле, OctoPrint можно развернуть и на роутере с достаточно мощным 'железом', и на полноценном ПК.
Про роутеры и прочие утюги здесь не будет. Сосредоточусь на маленьких, но удаленьких, компьютерах. C Raspberry Pi все максимально просто - есть проект OctoPi, который представляет собой Linux-дистрибутив с уже встроенным OctoPrint. На кривых китайских поделках вроде Orange Pi сложнее - кое-что приходится делать руками. По сути, плюс у 'китайства' один - это очень низкая цена. И оно в рамках нашей задачи работает. В общем случае, чтобы устроить себе и принтеру осьминога, потребуется установить на мини-ПК Linux (обычно установка заключается в скачивании подходящего образа и разворачивании его на карточку), а затем - установить и настроить OctoPrint. Можно воспользоваться готовыми образами, я недавно делал такой для Orange Pi One (здесь, ближе к концу).
Функционал
Не рассматривая вопрос установки (см. в одной из предыдущих серий), перейду сразу к тому, что с помощью OctoPrint можно делать. Как минимум, загрузить по сети на карточку мини-ПК G-код и отправить его на печать. Уже неплохо и, да, это основная задача OctoPrint. А вот дальше - уже дополнительные функции, без которых это было бы совсем спартанским решением.
Интерфейс
Основной интерфейс OctoPrint состоит из двух колонок. В левой - блоки, ответственные за подключение, непосредственнно процесс печати (прогресс, пауза, остановка), простой файловый менеджер (создание и удаление папок, загрузка и удаление файлов). В правой - несколько вкладок.Temperature - показывает график температур нагревателей, ниже - поля для ручной установки температуры, например, чтобы запустить прогрев, пока готовится код для печати.Control - здесь 'шевелить ушами' - двигать и парковать головку и/или стол, смотря что у вас за кинематика; вручную запускать экструзию или ретракт. Здесь же ползунки, ответственные за относительную (в процентах) коррекцию скорости перемещения (Feed Rate) и количества подаваемого филамента (Flow Rate). В этой же вкладке отображается картинка с веб-камеры, если она у вас подключена и настроена.GCode Viewer визуализирует подаваемые принтеру команды - где сейчас находится голова, что она печатает. Отмечу, что если G-код достаточно тяжелый, OctoPrint при попытке открытия этой вкладки будет предупреждать, мол, это приведет к серьезной нагрузке на мини-ПК и может сказаться на стабильности печати.Terminal показывает буквами, что OctoPrint 'говорит' принтеру (G-код) в настоящий момент, и что принтер на это отвечает. Можно применять фильтры (например, не показывать команды контроля температуры), можно вмешаться в процесс и отправить свой G-код. Timelapse - при наличии веб-камеры, можно снимать видеоролики с процессом печати. По сути, OctoPrint делает снимки с заданной периодичностью, а потом собирает их в видео.
Также установленные плагины могут добавлять вкладки в интерфейс OctoPrint. Например, плагин Print History позволяет собиратьс статистику - что печаталось, в течение какого времени, завершилась ли печать или была остановлена и т.д.Наконец, в верхней части основного окна расположена полоска меню - переход в настройки, системные команды, вход-выход пользователем, сюда же некоторые плагины добавляют свои значки, например, TouchUI (интерфейсный плагин для маленьких экранов).
Настройки
В целом, на более-менее обычных принтерах, OctoPrint может работать вообще без настроек. Но, по-хорошему, надо бы создать профиль принтера (указать размер печатной области, форму стола и подобные параметры). Но серьезного влияния на процесс печати уже загруженного G-кода они не оказывают, ведь G-код уже сформирован с учетом профиля принтера в слайсере. Тем не менее, указанные в профиле OctoPrint параметры будут влиять на ручное управление, визуализацию и некоторые другие вещи.
Кроме того, здесь куча разделов с настройками соединения (есть смысл лезть, если что-то работает не так), вебкамеры, плагинов. Здесь останавливаться на этом вопросе не буду, ибо практически все нужное рассмотрено в более узких материалах, ссылки - в конце.
Слайсинг
Да, в OctoPrint можно загружать не только готовый G-код, но и stl-модели. То есть, если вы засунете мини-ПК в принтер (как это сделал я), то после этого можете с гордостью утверждать - ваш принтер печатает STL. Но есть, опять же, нюансы. Во-первых, к OctoPrint можно прикрутить только Slic3r или Cura. Во-вторых, что очень важно, вы не получите всех удобств полноценного слайсера - OctoPrint при 'нарезке' оперирует готовыми профилями слайсинга (выгруженными со 'старшего брата';), поэтому что-то внезапно подкрутить в настройках не получится. Далее, полноценно изучить, что же слайсер наворотил, средствами OctoPrint сложно. Для простых моделей не критично, а вот что-то навороченное желательно тщательно контролировать. Наконец, вычислительной мощности у мини-ПК немного, поэтому нарезается модель долго. Резюмирую - слайсинг средствами OctoPrint возможен, но не очень удобен.
Сборная солянка
То, что этот материал подготовлен позже, чем более узкие, очень неплохо. Дело в том, что я могу спокойно накидать здесь ссылки на ту информацию, что уже представлена на портале.
Пошаговый гайд по установке на Orange Pi PC. Не советую использовать как прямое руководство к действию, т.к. основан на сборке linux, которую я больше не рекомендую и не использую.
Работа со штатной камерой Orange Pi. TLDR - работает, но камера - кусок коричневого пластилина.
Работа с вебкамерой.
Настройка Wi-Fi.
Установка Armbian на Orange Pi One. Вот это достаточно актуально, т.к. Armbian - хороший.
Работа с клавиатурой-мышью-монитором (как с полноценным ПК), плюс немного про слайсинг.
Timelapse.
Обновление OctoPrint.
Плагины.
Чуток об управлении несколькими принтерами.
Изменение интерфейса управления а-ля Pronterface.
Управление через Telegram-бота.
Защита удаленного подключения.
Использование старого смартфона в качестве камеры.
Выключение Orange Pi кнопкой Power.
Запись Timelapse с управлением подсветкой.
Управление питанием принтера.
Прямая выгрузка G-кода из Slic3r в OctoPrint.
Подключение через аппаратный UART. Также про ручное расширение раздела на карточке.
Еще один вариант управления питанием принтера.Да пребудет с вами осьминог, как бы говорит вам Gina Häußge, ведущий разработчик OctoPrint.
Еще больше интересных статей
Klipper - восстановление прерванной печати
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Внезапно выяснилось что у стокового клиппера есть странная особенно...
Как определить высоту слоя прерванной печати
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сопла и сопли
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сколько раз этот вопрос поднимался. Сколько тем...
Комментарии и вопросы
И непонятно, зачем при поле 10...
расскажите гаишнику на трассе....
ты типа думаешь умный ? тогда...
Имеется следующее: Принтер сам...
Обнаружил хруст при движении с...
Привет.Принтер долго стоял, се...
При автовыравнивании после 12...