Помогите настроить прошивку Klipper

Собираем, настраиваем, печатаем, делимся опытом, помогаем новичкам

Модератор: Kaktus

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Stein » 22 ноя 2019, 13:30

Avtonomys, я так глубоко не вникал)

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 23 ноя 2019, 17:03

Чистая установка OctoPrint в Docer + Klipper на PC(Debian amd64).
Спойлер
1.PNG
1.PNG (70.14 КБ) 1406 просмотров
1. Устанавливаем дистрибутив Debian. Пароль суперпользователя не вводим. SSH-Сервер, GRUB.

2. Устанавливаем Docker Engine Community в Debian - https://docs.docker.com/install/linux/docker-ce/debian/

Код: Выделить всё

cd ~/
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker ИмяВашегоПользователя
3. Устанавливаем Docker Compose - https://github.com/docker/compose/releases

Код: Выделить всё

sudo curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
4. Устанавливаем образ OctoPrint в Docer:

Код: Выделить всё

nano docker-compose.yml
Копируем и вставляем. размер образа ~514мб https://hub.docker.com/u/nunofgs:

Код: Выделить всё

version: '3.7'
services:
  octoprint:
    container_name: octoprint
    image: nunofgs/octoprint:master-alpine
    restart: always
    ports:
      - 5000:5000
    volumes:
      - /var/lib/klipper/:/tmp
      - /dev/pts:/dev/pts
      - /home/ИмяВашегоПользователя/octoprint:/data
Запускаем, устанавливаем плагины, перезапускаем:

Код: Выделить всё

docker-compose up -d
docker-compose exec octoprint pip install https://github.com/mmone/OctoPrintKlipper/archive/master.zip
docker-compose restart
5. Установка Klippera: https://www.klipper3d.org/Installation.html

Краткая установка:

Код: Выделить всё

git clone https://github.com/KevinOConnor/klipper
./klipper/scripts/install-octopi.sh
sudo usermod -a -G dialout ИмяВашегоПользователя
sudo usermod -a -G tty ИмяВашегоПользователя
-Прошиваем плату...

-Создаем "printer.cfg"...
Пример. Базовые настройки arduino+ramps

Код: Выделить всё

cp ~/klipper/config/generic-ramps.cfg ~/printer.cfg
подключаемся или напрямую (/dev/pts/0 или /dev/pts/1)
или создаем новую ссылку - https://www.repetier-server.com/knowledgebase/klipper/

этот путь нужно сувать в плагин OctoKlipper > Serial port > save:
Спойлер
klipper.PNG
klipper.PNG (44.17 КБ) 1407 просмотров
рестарт

Код: Выделить всё

docker-compose restart
после просо жмем connect.


ЗС. без учета скачивания образа, зависимостей, установки debian.. занимает ~5 минут.
но я бы не рекомендовал так ставить для ПК, очень уж много костылей в таком варианте :lol:

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 24 ноя 2019, 10:30

Для сравнения, классическая установка OctoPrint :D

Код: Выделить всё

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

Код: Выделить всё

cd ~
mkdir OctoPrint && cd OctoPrint
virtualenv venv
source venv/bin/activate
pip install pip --upgrade
pip install https://get.octoprint.org/latest
sudo usermod -a -G tty pi
sudo usermod -a -G dialout pi
pip install https://github.com/mmone/OctoPrintKlipper/archive/master.zip
~/OctoPrint/venv/bin/octoprint serve
Проверяем:
# localhost:5000

Ctrl+C

Код: Выделить всё

wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.init && sudo mv octoprint.init /etc/init.d/octoprint
wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.default && sudo mv octoprint.default /etc/default/octoprint

sudo chmod +x /etc/init.d/octoprint
sudo nano /etc/default/octoprint
Должно быть:
DAEMON=/home/pi/OctoPrint/venv/bin/octoprint

Код: Выделить всё

sudo update-rc.d octoprint defaults 
sudo nano /etc/sudoers.d/octoprint-shutdown
Копируем:
pi ALL=NOPASSWD: /sbin/shutdown
Ну и Klipper:

Код: Выделить всё

cd ~
git clone https://github.com/KevinOConnor/klipper
./klipper/scripts/install-octopi.sh
в octoprinte не забываем выбрать:
Cancel any ongoing prints but stay connected to the printer
Please note that if you choose this, OctoPrint will still disconnect from the printer in case of fatal errors reported by your firmware (e.g. kill() called, fatal:).
плагин "pip install https://github.com/mmone/OctoPrintKlipp ... master.zip" сам вписывает ссылку /tmp/printer куда нужно, просто нажимаем connect...

время установки абсолютно одинаковое - ~5минут, без учета загрузки зависимостей и ноль костылей...

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Stein » 25 ноя 2019, 08:35

Avtonomys писал(а):
23 ноя 2019, 17:03
Чистая установка OctoPrint в Docer
Большое спасибо! Жалко на этом форуме нет шапки. Такие посты нужно закреплять)
Avtonomys писал(а):
23 ноя 2019, 17:03
docker-compose exec octoprint
А установка из из веб интерфейса прокатит?

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 25 ноя 2019, 09:01

Stein писал(а):
25 ноя 2019, 08:35
А установка из из веб интерфейса прокатит?
без понятия )) наверное... да и по идее это не правильно, нужно из venv octoprint эту команду вводить...
это просто плагин klipper, его можно просто скачать через веб морду octoprint...


PC я забыл путь до конфига klippera вписать в docker-compose.yml))
Последний раз редактировалось Avtonomys 25 ноя 2019, 09:51, всего редактировалось 3 раза.

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 25 ноя 2019, 09:49

Stein писал(а):
25 ноя 2019, 08:35
Большое спасибо! Жалко на этом форуме нет шапки. Такие посты нужно закреплять)
я не думаю что кто то так ставить будет )))
"официальный" octoprint образ прекрасно запускается от пользователя и подключается к /tmp/printer. но ставится старой версии и весит больше гига...
для скачки оф. образа нужно заменить:

Код: Выделить всё

image: nunofgs/octoprint:master-alpine
на

Код: Выделить всё

image: octoprint/octoprint:1.3.9
и заменить пути....
все-таки данная сборка предпочтительнее - https://github.com/klipperondocker/docs но нужно обновлять ее.

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Stein » 25 ноя 2019, 11:38

Avtonomys писал(а):
25 ноя 2019, 09:49
мне этот образ не удалось от пользователя запустить
Можно добавить пользователя в группу докера. Например для пользователя pi:

Код: Выделить всё

sudo usermod -a -G docker pi && su pi
После чего добавить UID пользователя в docker-compose.yml к контейнеру:

Код: Выделить всё

user: '1000:1000'
Но у меня все равно получалось так, что пользователя в контейнере не было.
Чтобы проверить пользователя и узнать его UID на хосте:

Код: Выделить всё

cat /etc/passwd
Чтобы узнать список пользователей в контейнере, входим в контейнер

Код: Выделить всё

docker exec -it octoprint bash
и далее так же cat /etc/passwd
Мне приходилось монтировать поддельный /etc/passwd с пользователем.
Чтобы создать файл с пользователем:

Код: Выделить всё

getent passwd $USER > /ЖЕЛАЕМЫЙ ПУТЬ/mypasswd
далее смотировать этот файл в docker-compose.yml

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Stein » 25 ноя 2019, 11:43

Avtonomys писал(а):
25 ноя 2019, 09:49
и заменить пути...
Нужно заметить путь к конфигу принтера? Я предпочитаю только официальные образы)

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 25 ноя 2019, 11:49

Stein писал(а):
25 ноя 2019, 11:43
Нужно заметить путь к конфигу принтера? Я предпочитаю только официальные образы)
официальный образ octoprint не поддерживается, там образ годичный давности + в нем стоит cura 15 и весит он больше гига..
а этот обновляется регулярно, скачиваний у него больше чем у официального, сразу все стоит для камеры и нету cura 15...
Последний раз редактировалось Avtonomys 25 ноя 2019, 11:53, всего редактировалось 2 раза.

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 25 ноя 2019, 11:50

Stein писал(а):
25 ноя 2019, 11:38
Можно добавить пользователя в группу докера. Например для пользователя pi:
у меня он не работает от юзера, при запуске вылетает ошибка о том что он не может получить доступ...
оф релиз без проблем запускается от пользователя...

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 25 ноя 2019, 13:15

Докерская идеология таково - каждое приложения должно быть в отдельном образе (Dockerfile), все изменяемые файлы (настройки, логи) должны быть на хосте, в docker-compose мы все эти образы собираем в единый контейнер и запускаем.
В идеале Вы должны сделать свой образ Octoprint, свой образ klippera + утилиты которые позволят им взаимодействовать друг с другом. официальной образ klippera вряд ли появится когда либо, темпы развития у него слишком быстрые...
и по сути все обрзы которые имеют такую запись "octoprint/octoprint" являются не официальными, а официальные должны быть просто "octoprint"... по другому у вас не получится официально все сделать.
но опять же... я в этом смыла вообще не вижу, установка оригинального Octoprinta + klippera занимает тоже время, что и установить это же в Docker.
Home assistant вообще плевать где стоит octoprint, он подключается по ip:5000 к API самого OctoPrint, если я не ошибаюсь.

Это все имеет смысла если делать полную сборку, со всеми возможными вариантами. а на это нужно просто пипец сколько времени. А все это нужно для удобной
установки другим людям (кому то нужна старая Cura, кому то нужна камера, кому то нужен совсем другой набор плагинов)
Мне лично быстрее втупую скопировать строчки в Bash из уже сохраненного фай чем все это собирать, следить что бы пути были нужные. а еще проще просто сделать резервную копию на 3,6 гб (примерно столько занимает места Debian10 + klipper + octoprint + зависимости)...

Это все удобно если кто то уже это сделал... многие вообще на orange pi 256/512 ставят, а при таком расходе оперативки Linux будет использовать файл подкачки, что еще быстрее убъет сдкарту... у меня на PC(Debian10 AMD64) расход оперативки ~220мб... в докере за 350 улетает....

в идеале нужно добиться такой установки :

Код: Выделить всё

# И таких сборок сделать несколько
git clone https://octoprint+klipper_c_cura15_c_камерой....
docker-compose up -d
Klipper + octoprint запущен и все сразу работает, принтер сразу подключается, камеры сразу работает и тд.. но это столько гемора...
притом что такое уже есть но они не официальные...

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 29 ноя 2019, 18:14

кто нибудь пробовал использовать Sonoff качестве отключения питания принтера? плагин для октопринта https://plugins.octoprint.org/plugins/tasmota/. не хочу в удлинитель умную розетку сувать.
ЗС. питания у ардуины с usb порта у меня вырублено...

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Stein » 29 ноя 2019, 18:50

Avtonomys писал(а):
29 ноя 2019, 18:14
кто нибудь пробовал использовать Sonoff
Вам придется прошивать реле, я делал это через ардуно. Я что-то сходу не понял как реализуется защита в этом плагине.
Я бы рекомендовал прошить ESPHome и использовать в связке с HomeAssistant. Так надежнее и больше возможностей, но и трудозатрат больше. Хотя можно НА установить в докер.
По поводу тасмоты сказать ничего не могу, но вот подобная прошивка ESPEasy работала у меня крайне нестабильно.

Stein
Сообщения: 522
Зарегистрирован: 27 фев 2018, 10:22
Имя: Дмитрий
Откуда: Нижний Новгород
Благодарил (а): 123 раза
Поблагодарили: 15 раз

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Stein » 29 ноя 2019, 20:17

Avtonomys,
Если все же решите использовать НА, могу скинуть все конфиги и рассказать что да как.

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: Помогите настроить прошивку Klipper

Непрочитанное сообщение Avtonomys » 29 ноя 2019, 21:27

Stein писал(а):
29 ноя 2019, 20:17
Если все же решите использовать НА, могу скинуть все конфиги и рассказать что да как.
не, спасибо. сервер умного дома это как то перебор для включения/выключения 1 принтера )) + у меня PC принтера включается через "Wake-on-Lan". это мне нужно умный дом ставить на роутер, что бы это все разом запускать...

Ответить

Вернуться в «3D принтеры и 3D печать»

Яндекс.Метрика