Klipper + DuetWebControl

shadrincev
Идет загрузка
Загрузка
13.12.2019
4336
27
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

8

Привет всем.

Многие пользуются Klipper в связке с Octoprint, но, оказывается, уже появился другой интерфейс – DuetWebControl. Мне он очень понравился, как по работе, так и по возможностям. Да, есть недостатки, ввиде отсутствия привычных плагинов, но мне они особо не нужны.

Заявлено, что его можно устанавливать совместно с Octoprint и использовать или Octoprint, или DuetWebControl. Я решил не совмещать, во избежание конфликта, кому надо оба варианта – разбирайтесь сами.

Если заинтересовались, то я опишу кратенько, как его поставить (в примере используется Orange Pi PC и armbian Stretch server ):

1. Устанавливаем armbian

2. Не люблю вводить пароль каждый раз при команде sudo. Если вы тоже, то делаем так:

Разрешаем sudo для добавленной команд без запроса пароля. Для этого вызываем редактор,

sudo visudo

и добавляем после строки %sudo ALL=(ALL:ALL) ALL строчку (здесь pi - имя пользователя которому разрешено работать без пароля): 

pi ALL=(ALL) NOPASSWD:ALL

Если вы за безопасность, то этот пункт пропускаем. 

3. Для работы Winscp по ssh выполнить:

sudo apt-get install openssh-client

4. Затем обноляемся 

sudo apt-get update

sudo apt-get upgrade

и перезагрузка  

sudo reboot

5. Входим под вашим пользователем и приступим к установке Klipper: 

5.1 Обновите репозиторий и устанавливаем некоторые утилиты, которые нам понадобятся в будущем.

sudo apt update
sudo apt install git wget gzip tar build-essential libjpeg8-dev imagemagick libv4l-dev cmake -y

5.2 Клонируем Klipper и запускаем сценарий установки. 

git clone https://github.com/KevinOConnor/klipper
./klipper/scripts/install-octopi.sh

5.3 Настраиваем микропрограмму для вашего контроллера 

cd ~/klipper
make menuconfig

Выберите соответствующий контроллер и просмотрите другие параметры, затем выполните компиляцию: 

make clean
make 

5.4 Определим имя порта USB 

ls /dev/serial/by-id/*

5.5 И запустим прошивку контролера 

sudo service klipper stop
make flash FLASH_DEVICE= 

 (после равно указать имя полученное от команды выше)  

sudo service klipper start

Для плат skr немного другой порядок: нам нужно скопировать файл klipper.bin с Orange на карту microSD платы skr. Это можно сделать, войдя на сервер через SSH с помощью WinSCP и перейдя в папку /home/user/klipper/out. Отсюда вы можете скопировать klipper.bin, переименовать в firmware.bin и положить его в корень карты microSD. После установки карты в плату и включения питания, плата прошьётся. 

6. Теперь приступим к установке DuetWebControl для работы с клиппер

6.1 Подготовка

sudo systemctl stop klipper
cd ~ 
PYTHONDIR="${HOME}/klippy-env" 
virtualenv ${PYTHONDIR} 
${PYTHONDIR}/bin/pip install tornado==5.1.1 

6.2 Клонируем нужное для klipper. 

git clone https://github.com/Stephan3/dwc2-for-klipper.git
ln -s ~/dwc2-for-klipper/web_dwc2.py ~/klipper/klippy/extras/web_dwc2.py 

6.3 Делаем небольшие изменения в Klipper с помощью этих строк, для работы с DWC. Их нужно вносить каждый раз, если обновили Klipper. Автор говорит, что в будущем избавиться от этой необходимости 

gcode=$(sed 's/self.bytes_read = 0/self.bytes_read = 0\n self.respond_callbacks = []/g' klipper/klippy/gcode.py)
gcode=$(echo "$gcode" | sed 's/# Response handling/def register_respond_callback(self, callback):\n self.respond_callbacks.append(callback)/') 
gcode=$(echo "$gcode" | sed 's/os.write(self.fd, msg+"\\n")/os.write(self.fd, msg+"\\n")\n for callback in self.respond_callbacks:\n callback(msg+"\\n")/') 
echo "$gcode" > klipper/klippy/gcode.py 

6.4 Настроем виртуальную SD-карту для использования klipper. 

mkdir -p ~/sdcard/dwc2/web
cd ~/sdcard/dwc2/web 

6.5 Загрузим и установим пользовательский интерфейс Duet, на данный момент это версия 2.0.4, с поддержкой русского языка.  

wget https://github.com/chrishamm/DuetWebControl/releases/download/2.0.4/DuetWebControl-SD.zip
unzip *.zip && for f_ in $(find . | grep '.gz');do gunzip ${f_};done 
sudo systemctl start klipper 

7. Теперь создадим printer.cfg – файл настроек клиппера и добавим в него пару строк, для работы с DuetWebControl 

cp ~/klipper/config/example.cfg ~/printer.cfg

7.1 Редактируем его 

nano ~/printer.cfg

7.2 Вносим вашу конфигурация, или настраиваем заново, удаляя не нужное. Или оставляем, как есть, добавив строки ниже. Настройки можно изменить в самом интерфейсе DWC, во вкладке система, два раза щелкнув на printer.cfg 

[virtual_sdcard]

path: /home/pi/sdcard

[web_dwc2] 

printer_name: Reiner Calmund

listen_adress: 0.0.0.0

listen_port: 4750

web_path: dwc2/web

В место Reiner Calmund пишем имя вашего принтера по английски. 

В место listen_port: 4750 можно указать любой другой порт выше 1024. Я указал как в октопринт: 5000

8. При желании установите потоковое видео воспользовавшись инструкцией.

На этом все, запускам браузер, вводим ip адрес Orange и добавляем порт указанный выше в виде: 192.168.1.100:4750 и наслаждаемся.

Инструкция адаптированная от сюда.

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

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

8
Комментарии к статье

Комментарии

13.12.2019 в 10:28
0

Напишите подробнее в чем плюсы ?

13.12.2019 в 16:01
0

Добрыйдень. Я не знаю, что вы ищете, но перечислю, что смогу.

Реализация функции babystepping.

Макросы Klipper импортируются как виртуальные файлы, запускаются простым нажатием, например g29 (выравнивание стола).

Визуальное отображение кривого стола.

Более функциональное изменение скоростей и количест вашагов моторов, экструдера, вентиляторов.

Более подробнее тут.

13.12.2019 в 10:56
2

Странный, конечно, путь что бы получить DWC. 

Связка СКР + Малина стоит как дует 2 маестро. Зато никакого гемора во втором случае 

13.12.2019 в 11:18
0

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

13.12.2019 в 16:02
0

Что поделать... кто как хочет, так и поступает.

13.12.2019 в 12:09
0

А как дела с производительностью? Тупит так же как и октопринт? Приходится печатать в обход окты. Через gcode M23, M24. Или с дисплея(один фуллграфик второй олед 1306.)

13.12.2019 в 16:04
0

У меня окта тупила, если только во время печати заливать файлы, а так нет. Поэтому не смогу корректно ответить на вопрос. У меня не тупит.

13.12.2019 в 21:27
0

Отлично, слава пионерам! =)


очень интересуюсь - стало ли возможно менять "поток", а именно коэфициент подаваемого пластика? Спасибо

14.12.2019 в 14:48
0

Это, скорее, относится к самой прошивке klipper,  чем к интерфейсу. У меня такой фукции, определния диаметра по датчикам, нет. Но, думаю, если поискать в разделах, то что-то будет.

16.12.2019 в 13:59
0

имею в виду, хотя бы руками ползунок менять во время печати (перед)

Окту клиппер в этом не слушает у меня

16.12.2019 в 15:17
1

Добрый день, специально поставил кубик, чтобы проверить. Все отлично регулируется. На фото низ, как при воблинге, регулировка контроля подачи от 50 до 250.

16.12.2019 в 23:54
0

отлично, спасибо большое

14.12.2019 в 02:15
0

Подскажите - можно ли поставить Клиппер и использовать без всяких Октопринтов на SKR 1.3 и SKR PRO ??  

Печать с компа по USB. 

Нужно как можно меньше танцев с бубнами.  

14.12.2019 в 09:44
0

Нужно как можно меньше танцев с бубнами.  

Не ставте клиппер

14.12.2019 в 10:12
0

Нет без малины апельсины и октопринта печать на клипере не возможна 

14.12.2019 в 14:50
0

Ваш выбор - марлин или смузи, или купить duet 2/3, по другому ни как.

23.01.2020 в 18:08
0

Что мешает поставить хоть окто, хоть дуэтовскую морду вместе с клиппером на комп? Особенно если человек с компа печатает.

Комментарий удалён

29.12.2019 в 15:27
1

Поставил эксперимента ради. Доволен как слон! Загрузка от включения малины до рабочего состояния секунд 30 против 7-8 минут!!! Октапринта. Только вот psu control очень сильно не хватает. Пока ищу способ научить DWC дёргать gpio малины. 

05.03.2020 в 20:02
0

а у меня ещё вопрос, есть ли "плагины" как в окте, типа например температура и загрузка малинки, расход в деньгах филамента (+ электричество), таймлапсы запись?

А то вроде и работает, быстрее окты но таймлапсы как записать не нашёл (просто камеру подключил, как стрим идёт), также в плюсах контроль вентилятора (почему-то на окте без плагинов такого не было), карта неровностей стола уже есть - на окте это опять же отдельный плагин .

05.03.2020 в 20:49
0

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

05.03.2020 в 22:59
0

спасибо за ответ, немного разбираюсь, вот нашёл плагин для таймлапсов кстати - https://github.com/kriechi/DuetRRF-timelapse  но надо вносить изменения в гкод (что в принципе не сложно)

29.04.2020 в 16:02
0

добрый день! в линуксах слабоват подскажите кто может. после перезагрузки перестал запускаться DWC2 в логе пишет что пропал webif, как восстановить? преустанавливать пробовал результата 0. Октопринт при этом работает(ну если запустить конечно).

[virtual_sdcard]

path = /home/pi/sdcard

[web_dwc2]

printer_name = Reiner Calmund

listen_adress = 0.0.0.0

listen_port = 4750

web_path = dwc2/web

=======================

DWC2 failed to start, no webif found in /home/pi/sdcard/dwc2/web

Extruder max_extrude_ratio=0.266081

Starting serial connect

got {'#receive_time': 21393.3384946, u'next_clock': 604537344, u'oid': 8, u'value': 32740, '#name': u'analog_in_state', '#sent_time': 21393.285494006}

got {'#receive_time': 21393.428468542, u'next_clock': 611017344, u'oid': 17, u'value': 32748, '#name': u'analog_in_state', '#sent_time': 21393.391318706}

Loaded MCU 'mcu' 77 commands (v0.8.0-433-g9730be8e-dirty-20200428_213816-debianPC / gcc: (15:7-2018-q2-6) 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907] binutils: (2.31.1-12+11) 2.31.1)

MCU 'mcu' config: BUS_PINS_i2c1=PB6,PB7 BUS_PINS_i2c2=PB10,PB11 STEP_DELAY=2 INITIAL_PINS=!PC13 ADC_MAX=4095 BUS_PINS_spi3=PB4,PB5,PB3 CLOCK_FREQ=72000000 BUS_PINS_spi1=PA6,PA7,PA5 RESERVE_PINS_USB=PA11,PA12 MCU=stm32f103xe STATS$

Configured MCU 'mcu' (1024 moves)

Starting heater checks for heater_bed

Starting heater checks for extruder

01.05.2020 в 18:29
0

попробуй через скрипт удалить и заново поставить .  (https://3dtoday.ru/blogs/shadrincev/klipper-duetwebcontrol#comment-690371 )   Я пару раз также попадал, переставало работать. Установка через этот скрипт помогала

01.05.2020 в 18:26
1

Подскажу, есть крипт который сам всё делает - устанавливает/обновляет клиппер, dwc .

Ввести в консоли :

cd ~

git clone https://github.com/manu7irl/klipper-DWC2-installer

cd klipper-DWC2-installer

./klipper-dwc2-install.sh   

и готово)

29.08.2020 в 00:11
0

скрипт у меня спотыкается

пока не смог поставить DWC

29.08.2020 в 12:30
0

Смог заставить работать

С помощью и какой-то матерью.

path: /home/pi/sdcard  - обратите внимание на конкретно Ваш путь
и может быть это вас спасёт


Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Вазы + органайзер

Creality CR-6 SE. Точно ли это Китай?

По мотивам "Черной жемчужины"-2. Штурвал.

Припуски при печати

удобный расчёт стоимости 3D печати

Zortrax M200 Plus или как не стоит делать.