Как установить octoprint на windows

Обновлено: 03.07.2024

Что такое OctoPrint? Чтобы ответить на этот вопрос, вот список возможностей OctoPrint:

  • Беспроводная загрузка файлов G-кода с компьютера на 3D принтер
  • Управление 3D принтером вручную (перемещение осей X, Y и Z, а также принудительное выдавливание пластика)
  • Контроль температуры печати и изменение настроек печати
  • Настройте веб-камеру для просмотра в браузере
  • Слайсинг модели с помощью CuraEngine
  • Настройка работы с помощью множества плагинов (вы даже можете написать их самостоятельно!)

На многие 3D принтеры файлы загружаются либо через SD слот, либо через порт USB. Это означает, что вам нужно, например, вставить SD карту в свой компьютер, загрузить на нее G-код и вставлять ее в 3D принтер каждый раз, когда вы хотите что-то напечатать. А для принтера без слота для SD-карты компьютер должен быть подключен на протяжении всей 3D печати.

С OctoPrint таких неудобств нет. Он работает практически со всеми 3D принтерами, чтобы сделать управление вашим 3D принтером гораздо проще благодаря беспроводным возможностям. Это не обязательно, но тысячи любителей используют OctoPrint, чтобы облегчить себе жизнь.

Различные доступные подключаемые модули, предоставляют дополнительные функции, включая создание настраиваемых интервальных съемок, внешний мониторинг/управление через смартфон и даже интеграцию Telegram для удаленного мониторинга.

Что вам понадобится?


Для начала работы с OctoPrint, вам понадобится следующее:

  • Raspberry Pi: хотя официальная рекомендация для OctoPrint - это Raspberry Pi 3 Model B, можно использовать последнюю версию Raspberry Pi 4, хотя рекомендуется добавить охлаждающий вентилятор, поскольку эта модель может сильно нагреваться. Raspberry Pi версий 1 и 2 также могут работать, однако для них потребуется USB-адаптер Wi-Fi, поскольку в них нет этой встроенной функции. К сожалению, более дешевый Raspberry Pi Zero не совсем подходит для этой задачи.
  • Адаптер питания для RPi: этот элемент обычно упускается из виду, но на самом деле он очень важен для обеспечения достаточного количества электроэнергии, подаваемой на плату. Согласно веб-сайту OctoPrint, Raspberry Pi 3 питается от источника питания micro-USB на 5,1 В, а источник питания на 2,5 А должен обеспечивать достаточно энергии для работы OctoPrint. Пониженное напряжение может вызвать проблемы с производительностью, поэтому его следует избегать.
  • Микро- или полноразмерная SD-карта: приобретите все, что подходит для вашего Pi, вместе с SD-адаптером, чтобы подключить его к компьютеру. Если вы не планируете ставить в очередь большое количество 3D моделей с помощью OctoPrint, достаточно карты на 8 ГБ. Для пользователей, планирующих печатать в больших объемах, стоит присмотреться к картам на 16 или 32 ГБ.
  • Кабель USB: предназначен для подключения Raspberry Pi к 3D принтеру. Обратите внимание, какой выход на вашем 3D принтере - USB типа A, типа B, mini или micro. На Pi - это USB-A.

Естественно, вам также понадобится 3D-принтер, работающий с OctoPrint.

Загрузка образа OctoPi


Самый простой способ запустить OctoPrint - загрузить Raspberry Pi с образом OctoPi. Для этого вам понадобится инструмент для прошивки SD-карты. И для этого мы рекомендуем Etcher, который бесплатен для Windows и MacOS.

  • Загрузите последнюю версию OctoPi (в настоящее время 0.18 или новее).
  • Разархивируйте загруженный образ, дважды щелкнув по нему. У вас должен быть файл изображения с расширением ".img".
  • Вставьте SD-карту в компьютер (или подключите с помощью адаптера). Обратите внимание, что при использовании Etcher нет необходимости предварительно форматировать SD-карту. Фактически, OctoPrint специально рекомендует "не форматировать SD из вашей операционной системы, даже если это будет предложено".
  • Откройте Etcher, выберите свою SD-карту, выберите изображение OctoPi и нажмите "Flash". Как только это будет сделано, можно начинать!

Настройка WiFi


Теперь, когда образ OctoPi установлен на вашу SD-карту, вам нужно будет ввести имя и пароль вашей сети Wi-Fi, чтобы ваш Pi действительно мог подключиться к Интернету.

  • Если Etcher извлек вашу SD-карту, когда она закончила мигать, обязательно снова вставьте ее в свой компьютер.
  • Откройте вашу SD-карты (каталог обычно называется "boot"). Он должен располагаться там, где обычно появляются внешние диски.
  • Здесь целая мешанина файлов, но не пугайтесь. Нам нужен "octopi-wpa-supplicant.txt".
  • Для пользователей Windows: откройте файл в Notepad. Для пользователей MacOS откройте файл в TextEdit. (В разделе " Preferences " выберите "Plain Text Format" и снимите флажок "Smart Quotes"). Вы можете открыть файл и в других текстовых редакторах, таких как Atom или VSCode.

Вот как надо изменить данные о Wi-Fi и код страны:

Если у вас возникнут какие-либо проблемы, обязательно ознакомьтесь с официальными часто задаваемыми вопросами по настройке OctoPrint WiFi, которые включают советы по устранению многих потенциальных неполадок.

Обеспечение безопасности связи


Каждая плата Raspberry Pi поставляется с именем пользователя и паролем по умолчанию для доступа по SSH. Поэтому настоятельно рекомендуется изменить пароль, чтобы другие пользователи не подключались к вашему OctoPrint и не контролировали ваш 3D принтер.

  • Сначала загрузим Pi и подключимся к нему через SSH.
  • Вставьте SD-карту в слот Pi. Если требуется адаптер Wi-Fi, убедитесь, что он подключен к USB-порту Pi.
  • Включите Pi, подключив кабель питания к разъему micro USB. Другой конец подключите к адаптеру питания.
  • Откройте CMD (Windows) или Терминал (macOS) и запустите ssh pi@octopi.local (или замените octopi.local IP-адресом, назначенным вашим маршрутизатором Raspberry Pi).
  • Если он возвращает "Are you sure you want to continue connecting (yes/no)?" введите "yes" и нажмите Enter.
  • Введите пароль по умолчанию для Pi: raspberry. Нажмите Enter.

На этом этапе вы должны были попасть в систему Pi. Чтобы изменить пароль по умолчанию, сделайте следующее:

  • Запустите sudo raspi-config. Он должен запросить пароль по умолчанию еще раз.
  • Первый вариант должен быть "Change User Password". Нажмите Enter.
  • Дважды введите новый пароль.

Все. Теперь ваш экземпляр OctoPrint защищен. Используйте этот новый пароль каждый раз, когда хотите получить доступ к Pi через SSH.

Подключение Pi к 3D принтеру


Пришло время собрать все воедино. На этом этапе мы подключим Raspberry Pi к вашему 3D принтеру:

Отключите Pi от питания, отсоединив кабель питания от микро-USB.

Подключите кабель к 3D принтеру, а конец USB - к Pi.

Включите Pi и ваш 3D принтер.

Настройка интерфейса OctoPrint


После загрузки Pi вы сможете получить доступ к OctoPrint через локальную сеть.

Поздравляю! Вы успешно настроили OctoPrint. Чтобы начать вашу первую 3D печать через OctoPrint, нажмите кнопку "Upload" в левом нижнем углу и выберите файл G-кода. После импорта все файлы будут представлены в списке на панели "Files". Чтобы начать печать, щелкните маленький значок принтера.

Не так уж и сложно, правда? Теперь вы можете свободно изучать все функции и плагины OctoPrint!

Установка Octoprint на Orange Pi PC. Настройка управления питанием принтера, установка камеры. Настройка Telegram Notifications (1.5.0) для Octoprint и VPN для Orange Pi PC с использованием OPENVPN. Это не инструкция, а скорее мой блокнот дабы ничего не забыть.

Подготовка флешки с системой и установка ARMBIAN

Я купил на Ali вот такую Orange Pi PC H3 ССЫЛКА НА АЛИ


Для начала создадим пользователя octoprint
useradd -m octoprint
создадим пользователю пароль
passwd octoprint
добавим пользователя в группу sudo
adduser octoprint sudo
Теперь выходим из рутовой сессии и заходим через Putty новым пользователем octoprint
После чего выполняем
cd


sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential virtualenv

Установка Octoprint

/.octoprint
Для того чтоб пользователь octoprint имел доступ к серийным портам добавим его в группы tty и dialout
sudo usermod -a -G tty octoprint
sudo usermod -a -G dialout octoprint
После этого можно попробовать запустить octoprint

/OctoPrint/venv/bin/octoprint
После проверки закрываем octoprint Ctrl+C

Добаваляем Octoprint в автозагрузку

Из папки готовых скриптов OctoPrint-а копируем нужные скрипты в нужные места.
sudo cp

/OctoPrint/scripts/octoprint.init /etc/init.d/octoprint
sudo chmod +x /etc/init.d/octoprint
sudo cp

Обновление Octoprint в ручном режиме

Заходим на микрокомпьютер терминалом под пользователем octoprint
cd

/OctoPrint/
git pull
./venv/bin/python setup.py clean
./venv/bin/python setup.py install
Можно перезагрузить только сервис OctoPrint
sudo service octoprint restart
Или перезагрузить весь микрокомпьютер
sudo restart

Перезагрузка Octoprint/Orange pi из меню Octoprinta.

sudo nano /etc/sudoers.d/octoprint-shutdown
пишем в файл
octoprint ALL=NOPASSWD: /sbin/shutdown
Ctrl+X, нажимаем Y и Enter

sudo nano /etc/sudoers.d/octoprint-restart
octoprint ALL=NOPASSWD: /bin/systemctl restart octoprint
Ctrl+X, нажимаем Y и Enter

И добавляем команды в разделе Server:

sudo shutdown -r now

sudo shutdown -h now


Для управления питанием принтера и камерой потребуется установка System Command Editor или редактирование файла config.yaml в ручную

Управление питанием принтера

Для этого нам понадобится модуль реле с Алика ССЫЛКА на АЛИ



Для подключния реле нам нужны контакты GND, +3.3B и контакт GPIO.25.


Реле включаем в разрыв провода питания 220В блока питания 3D принтера.


Скрипт отключения питания. Использует 25 ногу. Если используете реле как у меня на фото в начале статьи (инверсный вход) , они включаются при подтяжке управляющей ноги к земле и отключаются при появлении напряжения на ноге. Нужно вставить в скрипты poweroff.sh gpio write 25 1 и в poweron.sh gpio write 25 0

Скрипт отключени питания:
nano poweroff.sh

Ctrl+X, нажимаем Y и Enter
Ставим необходимые права:
chmod 755 poweroff.sh
chmod +x poweroff.sh

Скрипт включения питания:
nano poweron.sh

Ctrl+X, нажимаем Y и Enter
Ставим необходимые права:
chmod 755 poweron.sh
chmod +x poweron.sh

Запуск скрипта включения всего питания:
/home/octoprint/poweron.sh
Запуск скрипта отключения всего питания:
/home/octoprint/poweroff.sh

Или редактирование config.yaml:

cd .octoprint
nano config.yaml

Если раздел system: actions: уже есть, то добавить только пункты меню.

Ctrl+X, нажимаем Y и Enter. Соблюдая все отступы и знаки в точности.

Настройка автоматического отключения 3d принтера после завершения печати

Для включения этой функции нам потребуется отредактировать файл config.yaml

cd .octoprint
nano config.yaml

Ctrl+X, нажимаем Y и Enter. Соблюдая все отступы и знаки в точности.

Перезапускаем octoprint sudo service octoprint restart
Теперь будут корректно работать команды M81 (отключить питание) и M80(включить питание). Эти команды можно добавить или в слайсере или в самом Octoprint как GCODE выполняющйся после завершения работы:


Настройка WEB камеры в Octoprint

Выполним следующие действия
cd

Выводим список доступных устройств
ls /dev/video*


/
cd mjpg-streamer/mjpg-streamer-experimental
sudo make install
После установки можно его удалить из домашней папки (cd

Создаем скрипт запуска
cd
nano webcam-streamer

Делаем файл исполняемым :
chmod +x webcam-streamer
Перемещаем файл куда нужно :
sudo mv webcam-streamer /usr/local/bin/

Для запуска /usr/local/bin/webcam-streamer start

для остановки /usr/local/bin/webcam-streamer stop

Или редактирование config.yaml:

cd .octoprint
nano config.yaml

Если раздел system: actions: уже есть, то добавить только пункты меню.

Ctrl+X, нажимаем Y и Enter. Соблюдая все отступы и знаки в точности.

Telegram

При первой установке он мне выдавал ошибку Pillow. Поэтому перед установкой плагина выполним нехитрые действия:

sudo apt-get install libjpeg62-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install liblcms1-dev
pip install pillow
sudo apt-get update
sudo apt-get install python-pil

А дальше просто ставим плагин и настраиваем по инструкции

*Далее для 2020 не актуально, тетеграм разблокировали в РФ*

Но после установки он отказался работать без VPN, спасибо Роскомнадзору.


создаем папку home\octoprint\VPN
туда кидаем ваши сертификаты и ключи, у меня такие:
ca.crt
client.crt
client.key (в нем не забываем прописать пути до остальных сертификатов и ключей)
client.ovpn
ta.key

Устанавливаем клиент openvpn:
sudo apt-get install openvpn


Проверяем, если Telegram работает, закрываем в консоли соедениеие VPN Ctrl+C и настраиваем автозагрузку.

Создадим папку для скрипта:
cd


mkdir ./bin
cd ./bin
Создадим скрипт автозагрузки:
sudo nano script_auto_run
В файл впишем

Ctrl+X, нажимаем Y и Enter

Сделаем файл исполняемым:
sudo chmod 755 script_auto_run
Проверим как он запускается, выполнив
/home/octoprint/bin/script_auto_run
Если все хорошо, закрываем Ctrl+C
Теперь пропишем это в rc.local. Выполним команду
sudo nano /etc/rc.local



Там может быть много всего, или не быть ничего (если файл создан только что). Это не важно. Если там пусто, то просто допишите в конце exit 0, а перед ним
/home/octoprint/bin/script_auto_run
Ctrl+X, нажимаем Y и Enter
Перезагружаемся:
sudo reboot

В материале частично использованы наработки Sergey Irbis

Установка Octoprint на Orange Pi PC : 2 комментария

Підбір якраз те що треба, хочу реалізувати таке на orange pi zerp ltsc, обновіть будь ласка інструкції
для 3 версії пітона.



Модуль дисплея состоит из собственно экрана 3.5″ на встроенном контроллере ILI9486 с параллельным 60-пиновым гибким интерфейсом. На основной плате стоят сдвиговые регистры 74-й серии, превращающие параллельный интерфейс в SPI

Там же на плате находится контроллер сенсорного экрана XPT2046 и 3.3В стабилизатор AMS1117
Ну и двухрядный разъем PBD-26 для подключение к 26 и 40-пиновому GPIO Rapberry PI.

Комплектность, внешний вид, подключение

Доехал дисплей до Перми всего за 15 дней. Оказывается, случаются и добрые чудеса у Почты России. Упаковка — двойная картонная коробочка


В комплект поставки входит сам дисплей,CD-диск (о где же взять читалку?) с драйверами для Raspberry PI и стилус для резистивного сенсорного экрана.



Размеры дисплея соответствуют габаритам плат микрокомпьютеров — Raspberry PI, Asus Tinker Board, Orange PI (PC)

Разъем позволяет подключить к любому одноплатнику, совместимому с Raspberry PI 40 пин или 26 пин. Orange PI PC встает идеально прямо над платой



У Orange PI ZERO разъем повернут на 180 и экран превращает его в этакого монстр


Винить инженеров OPI ZERO не нужно.Такое размещение гребенки GPIO на микро ПК сделано для того, чтобы экран (и другие подобные платы) можно было использовать совместно с платой расширения, добавляющей к микрокомпьютеру два USB, микрофон, звуковой выход и ИК порт.

Купленный дисплейный модуль «заточен» под Raspberry PI и работает с этими компьютерами «практически из коробки». На диске имеются «драйвера» — файлы для UBOOT, ядро с модулями и конфигурационные файлы, которые нужно просто переписать поверх чистого Raspbian.

Для Orange PI такой поддержки нету и приходится уповать на сторонних разработчиков LINUX (ту же команду Armbian), которые осуществляют поддержку этих дешевых, но очень непростых микро ПК.

В интернете есть разные описания подключения 3.5" сенсорного экрана к Orange PI род управлением той или иной версии LINUX. Поэтому в настройках, как говорится, имеются нюансы, о которых я постараюсь написать далее.


Первым делом качаем и устанавливаем последнюю версию Armbian для нашей версии Orange PI PC с официального сайта. Я остановился на дистрибутиве Armbian Stretch 5.69 на базе ядра 4.19.13.

Сразу ставим пакет для сборки ядра 4.19.13

apt-get upgrate делать не рекомендую, так как в последних обновлениях есть проблемы со скриптами для сборки модулей ядра
Модуль экрана fb_ili9486 уже давно есть в Armbian (в других дистрибутивах не смотрел). Нужно только правильно указать, как подключен экран.

Включаем SPI шину. Для этого в файле /boot/armbianEnv.txt добавляем следующие строки:

RESET на OPI PC подключен к GPIO2, а DC к 71. Остальные GPIO — SPI интерфейс. Старт модуля ядра выглядит следующим образом

Параметр rotate=90 говорит о повороте изображения на экране на 90 градусов. Можно заменить его на 180 и 270.

И файл с параметрами модуля fbtft_device /etc/modprobe.d/fbtft.conf

Теперь на нашем экранчике мы видим текстовую консоль загрузки системы Armbian а в журнале загрузки ядра по команде dmesg видим что наш экран система опознала


Поддержка графического режима на TFT экране производится установкой пакета

и создания файла /usr/share/X11/xorg.conf.d/99-fbdev.conf

С сенсорным экраном все немного сложнее — готовых модулей-драйверов нету, придется их собирать из исходников. Для этого мы и устанавливали пакет для сборки модулей ядра

Качаем драйвер тачскрина ADS7846, совместимого с микросхемой XPT2046 на нашем модуле

Создаем файл Makefile с следующим содержимым:

После этого запускаем сборку и установку модуля



Похожим образом скачиваем, собираем и устанавливаем модуль ads7846_device:



Теперь можно загрузить модуль вручную и посмотреть dmesg



Проверить работу сенсорного экрана можно командой с выбором нашего устройства (в моем случае /dev/input/event2)


Теперь если мы прикоснемся к экрану — на экран выведутся координаты точки и другие параметры

Осталось добавить поддержку сенсорного экрана при загрузке системы. Для этого создаем файл загрузки модулей /etc/modules-load.d/99-ads7846.conf

И файл параметров модуля ads7846_device /etc/modprobe.d/ads7846_device.conf

Теперь начинаются те самые нюансы, с которыми пришлось поразбираться:

В графическом режиме у меня модуль не виделся утилитами xinput и xinput_calibrate. Иногда в системе устанавливался с каким то пакетом файл /usr/share/X11/xorg.conf.d/40-libinput.conf и сенсорный экран виделся системой, но ни в какую не хотел настраиваться

Создание файла /usr/share/X11/xorg.conf.d/99-calibrate.conf ничего не давало. Вернее, строка

в этом файле позволяла привести соответствие тачкрина с ориентацией экрана, а вот точная настройка положения указателя игнорировалась. xinput_calibrator давал при этом совершенно «левые» значения, которые находились далеко за пределом экрана.

Все оказалось просто — тачкрин работал через «мышиный» драйвер libinput вместо evdev, который должен работать по событиям нажатия на экран. Для его включения создаем файл /usr/share/X11/xorg.conf.d/45-evdev.conf со следующим содержимым

После перезагрузки драйвер заработал как нужно и стал брать все параметры калибровки из файла /usr/share/X11/xorg.conf.d/99-calibrate.conf как нужно

Если ваш экран не точно откалиброван, то просто запустите с консоли

и ткнув стилусом в четыре предложенные на экране точки получаете новые значения «Calibration». Чтобы каждый раз не перезапускать при калибровке XWindow можно устанавливать новые значение командой xinput

Пока разбирался со всеми этими настройками, нашел альтернативный способ калибровки тача. Все параметры можно указать при загрузке модуля ядра и не возиться с фалами /usr/share/X11/xorg.conf.d/

может кому пригодиться

Orange PI ZERO имеет SPI1 вместо SPI0 на GPIO экрана и сами GPIO имеют другие номера

В файле /boot/armbianEnv.txt прописываем SPI1

Строка запуска модуля будет выглядеть следующим образом

Параметр rotate=270 делает правильное положение картинки на экране при условии если контроллер снизу экрана

Обновление системы до нужной версии и сборка драйвера сенсорного экрана полностью идентична OPI PC. В строке запуска модуля добавляется только номер шины SPI


Все остальные настройки экрана и программ не зависят от аппаратного обеспечения и полностью идентичны с Orange PI PC

При таком неудачном размещении экрана и контроллера общие габариты получаются даже больше, чем у Orange PI PC и поэтому особого смысла использования платы ZERO я не вижу, так как ее единственное преимущество — габариты, здесь не используются

В интернете пишут, что установка Octoprint на Orange PI ничем не отличается от установки на Raspberry PI, которая везде детально расписана, причем прямо для нашего дисплейчика. Но, как оказалось, все же есть отличие дистрибутивов Armbian и Raspbian, те самые «нюансы», которые здесь упомяну

1. Команда питона virtualenv в Armbian заработала только после следующего действия:

2. Браузера chromius при помощи которого выводится консоль Octoprint на экранчик в репозитарии Armbian нету. Можно установить chromius из другого репозитария

3. После установки Octoprint не захотели устанавливаться плагины, в частности TouthUI с интерфейсом для нашего дисплея. Помогла установка прав на каталоги Octoprint





Делаем корпус

Чем отличается обычный радиолюбитель, от радиолюбителя с 3D-принтером? Правильно. Последний изводит килограммы пластика, чтобы поместить в него свои изделия. Освоив пакеты для проектирования печатных плат и моделирования схем, приходится осваивать и 3D-моделирование для создания корпусов (не побираться же всю жизнь на готовых моделях!)

Проектирую простые модели для принтера я в TINKERCAD






Модель корпуса положил туда

Разрабатывая открытый проект 4-х экструдерного принтера Z-Bolt, мы столкнулись с проблемой выбора экрана для управления принтером. Из имеющихся экранов лишь решение от Duet Wifi умеет управлять более чем 2-мя экструдерами. Решение, мягко говоря, не бюджетное, да и интерфейс на любителя. Так что мы решили поискать альтернативный вариант с преферансом и куртизанками. Эта история о нем…

image

На просторах интернета существует масса информации о применении Octoprint. Чуть больше чем пол года назад и мы стали пользователями данного решения, сразу оценив его преимущества. Возможность управления принтером через веб-лицо, действительно трудно переоценить. У Octoprint множество плагинов, а главное для нас — Octoprint отлично управляется с количеством экструдеров, большим чем 2. Но оставалось решить еще один вопрос.

Многие любители Octoprint уверенно утверждают, что экран им больше не нужен от слова “совсем”, что это абсолютно лишняя часть принтера, которая им только мешает.

Однако я убежден, что есть и другая часть пользователей OctoPrint. У всех свои привычки и требования к повседневному использованию 3D принтера, и есть операции выполнять которые удобнее, имея экран:

  • Замена филамента
  • Калибровка уровня стола
  • Запуск печати файла, который уже печатался раньше
  • Включение преднагрева принтера
  • Возможность увидеть статус печати

Передо мной обозначилась цель найти/сделать/настроить экран для Octoprint, способный управлять более чем 2-мя экструдерами.

Погуглив немного я наткнулся на плагин TouchUI.


Первое впечатление было: вот оно — решение.

Я сразу установил плагин и открыл Octoprint c телефона. Интерфейс TouchUI тупил :/. Иногда кнопки нажимались нормально, иногда тормозили, а порой и вовсе не нажимались с первого раза. С подключенного экране TouchUI вел себя также плохо как и с телефона.

Параллельно было найдено другое решение.


Описание обнадеживало, в отличии от TouchUI, это самостоятельное приложение, запускающееся без браузера, а значит требовавшее значительно меньше вычислительных ресурсов.

Установка и настройка проблем не вызвали. Интерфейс действительно работал намного предсказуемее и отзывчивее.


Но и тут не всё оказалось гладко. Приложение регулярно зависало при начале печати. На github’е нашелся issue по этой ошибке, созданный почти год назад и активно обсуждаемый, но не закрытый.

Основная проблема оказалось в том, что автор приложения, судя по всему, утратил к нему интерес и на данный момент больше не развивает.

Поскольку, на мой взгляд, приложение написано достаточно хорошо и имеет потенциал, было решено сделать “hard-fork” и взяться за проект основательно.

Вот что у нас получилось:

  • Подобраны оптимальные экраны для проекта
  • Сделан “hard-fork” от Octoprint-TFT
  • Пересмотрен взгляд на программно-аппаратную архитектуру принтера
  • Создана своя тема для интерфейса Octoprint

Выборы экранов

Мы начала с экрана TFT 3.5, который, мягко говоря, не выдержал никакой критики. Углы обзора никакие, картинка блеклая. Поэтому было решено подобрать более качественное решение.

Главными критериями были:

  • IPS матрица
  • размер 4 — 5 дюйма
  • емкостной экран (желательно)
  • приемлемая цена



2. Вариант побогаче. 4.3’’ IPS емкостной Touchscreen

Оба экрана имеют разрешение 800х400. У обоих великолепная картинка, цветопередача и угол обзора. Главное их отличие — это емкостной touchscreen. К нему (как и ко всему хорошему) очень быстро привыкаешь и пользоваться им намного приятнее, чем резистивным. Тем не менее, экран с резистивным touchscreen’ом также вполне жизнеспособен.

Это Hard-Fork, детка!


Приложение было серьезно доработано. И почти перестало напоминать своего родителя. Поэтому (а также потому, что создатель Octoprint-TFT официально заморозил развитие своего детища) было принято решение сделать hard-fork и назвать новый проект Octoscreen.

  • В первую очередь была полностью устранена проблема зависания экрана, которой страдал Octoprint-TFT.
  • — Заметно изменился дизайн и компоновка:

Также есть подробная инструкция под экран 3.5, за что отдельное спасибо нашему соратнику Денису (@negativ72rus).

Пересмотр взглядов на программно-аппаратную архитектуру принтера или переобувание на ходу


Изначально мы планировали использовать Marlin в нашем многоэкструдерном принтере, однако в итоге выбор пал на Klipper. Причин несколько:

1. Одна из главных для нас, как разработчиков, причина — это его гибкость. Marlin и его “макаронный” код делают настоящим вызовом процесс внесения в него доработок, а тем более их дальнейшую поддержку.

Klipper в этом плане полная противоположность Marlin. Во-первых все конфигурирование Klipper вынесено из программного кода. Сам код хорошо структурирован. Но что самое важное, Klipper предусматривает модульность. Можно добавлять свою логику в прошивку, не внося изменение в ее ядро, и тем самым колоссально упрощать дальнейшую поддержку своего кода.

2. Всю настройку прошивки можно осуществляется прямо через web интерфейс OctoPrint. И при этом возможности настройки на много мощнее чем у Marlin или Smootheiware.

3. Как же тут не сказать о битах, за которыми в последнее время все гонятся )). Сама архитектура Klipper предполагает, что вычислительная нагрузка ложится на Raspberry PI. Функция платы управления MKS Gen L (в случае с принтерами Z-Bolt) остается в передаче сигналов к/от периферии (двигателям, сенсорам, нагревателям, элементам управления).

А ведь Raspberry Pi 3 Model B+ оснащен 64-х битным, 4-х ядерным чипом Broadcom BCM2837B0 A53 1.4GHz.

По сути Octoprint + Klipper, запущенные на Raspberry Pi + тот же MKS Gen L —
на порядок более функциональное и прогрессивное решение, чем Marlin, запущенный на каком-нибудь 32-х битном чипе.

Конфигурационные файлы для Klipper’а под принтеры Z-Bolt также можно найти тут.

Небольшой бонус напоследок!

Так же мы сделали свою тему для интерфейса Octoprint:


Шапку можно настроить нативным пунктом выбора цвета в разделе Appearance:


Инструкция как установить тему вы можете найти у нас на GitHub.

Пишите в комментариях, какие функции экрана вы считаете наиболее полезными и необходимыми к добавлению.

Читайте также: