Кремень КД Реклама
Кремень КМ Реклама

Klipper + DuetWebControl

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

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

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

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

10

Klipper + DuetWebControl

Привет всем.

Многие пользуются 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 и наслаждаемся.

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

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

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

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

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

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