I. Разберем компиляцию и установку прошивки Klipper на 3d принтер Anycubic Kobra Neo (инструкция подходит и для Anycubic Kobra GO).
II. Установим основной набор компонентов для работы с принтером на базе Klipper двумя способами:
1. С помощью скрипта KIUAH (Klipper Installation And Update Helper)
2. В контейнерах docker
Схема работы с принтером на базе Klipper
- Moonraker - Python / tornado web-сервер который подключается к Klipper'у через Unix Domain Socket и предоставляет WEB API для клиентов.
- Клиенты, которые подключаются к Moonraker: Fluidd (управление через web-интерфейс, есть версии для ПК и мобильного), Mainsail (web-интерфейс), OctoPrint (web-интерфейс, поддерживает как Klipper так родную прошивку принтера) KlipperScreen (GUI для планшета, тач-дисплея raspberry и тп), Obico (облачная платформа для управления принтером с платной подпиской), интеграция для HomeAssistant, приложения для смартфонов и пр.
Подготовка
- Нужен компьютер, на который можно установить линукс и подключить наш принтер USB проводом.
- Устанавливаем raspberry OS на raspberry pi (3 и выше) или любой линукс на ПК (например, ubuntu 22.04).
I.1 Компиляция прошивки Klipper для Anycubic GO / NEO
1. Обновляем пакеты
sudo apt update
sudo apt upgrade
2. Устанавливаем git
sudo apt install git
3. Клонируем исходный код клиппера:
git clone https://github.com/Klipper3d/klipper
4. Запускаем скрипт для установки зависимостей, python окружения, сервиса автозапуска
./klipper/scripts/install-octopi.sh
ps см скрипты для других ОС в той же папке
5. Заходим в папку
cd ~/klipper/
6. Выбираем параметры для компиляции:
make menuconfig
Micro-controller Architecture - Huada Semiconductor HC32F460
Communication interface: Serial (PA3 & PA2)
7. Выходим (Q), сохраняемся (y) и запускаем компиляцию прошивки:
make
I.2 Установка прошивки Klipper для Anycubic GO / NEO
1. После компиляции в папке klipper/out/ должен появиться klipper.bin
Если удобнее делать следующие операции в Windows, воспользуйтесь WinSCP для копирования файлов.
2. Переименовываем klipper.bin в firmware.bin.
3. Записываем firmware.bin на SD карту.
4. Выключаем принтер, вставляем SD карту.
5. Ждем пока идет обновление. Сообщения об успешном завершении обновления не будет. Нужно подождать 3-4 минуты, достать sd-карту и перезагрузить принтер.
6. Экран останется выключенным. В текущей версии прошивки он не поддерживается.
I.3 Обновление прошивки Klipper для Anycubic GO / NEO
Если нужно обновить прошивку, заходим в папку с исходным кодом клиппера:
cd ~/klipper/
запускаем скачивание обновлений репозитория:
git pull
и запускаем компиляцию:
make
II.1 Устанавливаем klippy, moonraker и fluidd с помощью скрипта KIUAH (Klipper Installation And Update Helper)
1. Обновляем пакеты:
sudo apt update
sudo apt upgrade
2. Устанавливаем git, если не установили ранее:
sudo apt install git
3. Скачиваем скрипт:
git clone https://github.com/th33xitus/kiauh.git
4. Запускаем
./kiauh/kiauh.sh
5. Последовательно устанавливаем klipper, moonraker, fluidd.
6. Копируем конфиг для своего принтера (пример) в папку:
~/printer_data/config
Скрипт скачивает klipper используя команды, описанные в разделе I. Поэтому после выхода из скрипта можно выполнить компиляцию прошивки аналогичным способом:
Выбираем параметры для компиляции:
make menuconfig
Micro-controller Architecture - Huada Semiconductor HC32F460
Communication interface: Serial (PA3 & PA2)
Выходим (Q), сохраняемся (y) и запускаем компиляцию прошивки:
make
II.2 Устанавливаем klipper (klippy), moonraker и fluidd в докер-контейнерах
1. Устанавливаем докер и докер-композ:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/raspbian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2. переходим в домашнюю папку
cd ~
3. Создаем текстовый файл docker-compose.yaml
nano docker-compose.yaml
с таким содержимым (размер отступов важен):
services:
klippy:
image: mkuf/klipper:latest
restart: unless-stopped
privileged: true
volumes:
- /dev:/dev
- ./config:/opt/printer_data/config/
- run:/opt/printer_data/run
- gcodes:/opt/printer_data/gcodes
moonraker:
image: mkuf/moonraker:latest
restart: unless-stopped
ports:
- "7125:7125"
volumes:
- ./config:/opt/printer_data/config/
- run:/opt/printer_data/run
- gcodes:/opt/printer_data/gcodes
fluidd:
image: ghcr.io/fluidd-core/fluidd:latest
restart: unless-stopped
ports:
- "80:80"
volumes:
run:
driver_opts:
type: tmpfs
device: tmpfs
gcodes:
4. Создаем папку config и складываем туда файл(ы) конфигурации принтера
5. Запускаем скачивание образов и запуск контейнеров в фоне:
sudo docker compose up -d
6. Для обновления образов в будущем нужно выполнить:
sudo docker-compose pull
6. Пересоздать контейнеры и запустить в фоне:
sudo docker-compose up --build -d
Важно!
Конфиг printer.cfg для Anycubic Kobra Neo и Go тут.
Проверьте настройки перед печатью.
Заходите к нам в чатик в телеге.
Полезные ссылки
https://1coderookie.github.io/KobraGoNeoInsights/