Klipper + DuetWebControl
Привет всем.
Многие пользуются Klipper в связке с Octoprint, но, оказывается, уже появился другой интерфейс – DuetWebControl. Мне он очень понравился, как по работе, так и по возможностям. Да, есть недостатки, ввиде отсутствия привычных плагинов, но мне они особо не нужны.
Заявлено, что его можно устанавливать совместно с Octoprint и использовать или Octoprint, или DuetWebControl. Я решил не совмещать, во избежание конфликта, кому надо оба варианта – разбирайтесь сами.
Если заинтересовались, то я опишу кратенько, как его поставить (в примере используется Orange Pi PC и armbian Stretch server ):
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 и наслаждаемся.
Инструкция адаптированная от сюда.
Пожелания, замечания приветствуются. Но помним, я не автор данной разработки, а только пользователь.
Еще больше интересных статей
Snapmaker U1 - подключаем Anycubic ACE Pro в качестве системы хранения, подачи и сушки.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Сегодня мы будем дооснащать замечательный принтер Snapmaker U1 очень у...
Создание и считывание своих меток NFC для базы данных катушек SPOOLMAN
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Данный проект реализует считывание NFC меток типа NTAG2xx установле...
G-CODE по-русски для 3D печати (Мини-справочник)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.


Комментарии и вопросы
самый лучший способ (правда сл...
Пока решил сделать универсальн...
да ну кто нервничает, но ты сч...
Здравствуйте коллеги! Подскажи...
Катушка бамбулаб открылась во...
Здравствуйте!!! Прикупил по сл...
Ну или скажем, с какой ложной...