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

Автоматический перезапуск клипера при включении принтера.

males
Идет загрузка
Загрузка
26.12.2022
1310
6
Личные дневники

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

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

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

2

У клиппера есть особенность: он не видит принтер, если принтер был включен после малинки. А так как малинка питается от своего блока питания, не шумит и жрет мало, она практически не выключается. Приходилось лезть на веб морду(fluidd), тыкать  кнопку перегрузить Klipper.

Однажды мне это надоело и решено было все это дело автоматизировать.

Находим принтер в консоле:

ls /dev/serial/by-id/*

Автоматический перезапуск клипера при включении принтера.

Это имя принтера. Его еще можно посмотреть в printer.cfg

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

udevadm info --attribute-walk --name=/dev/serial/by-id/usb-Klipper_stm32f407xx_5400310009504D5946303220-if00 |grep -e idProd -e idVen -e prod -e serial

Автоматический перезапуск клипера при включении принтера.

Нам необходимо первые 4 атрибута

ATTRS{idProduct}=="614e"ATTRS{idVendor}=="1d50"ATTRS{product}=="stm32f407xx"ATTRS{serial}=="5400310009504D5946303220"

Создадим правила:

sudo nano /etc/udev/rules.d/98-klipper.rules

Вставляем следующий текст:

SUBSYSTEM=="usb", ATTRS{idProduct}=="614e", ATTRS{idVendor}=="1d50", ATTRS{product}=="stm32f407xx", ATTRS{serial}=="5400310009504D5946303220", ACTION=="add", RUN+="/bin/sh -c '/usr/bin/systemctl restart klipper.service'"

Заменяя значения на свои. Для каждого принтера свои атрибуты idProduct, idVendor, product, serial. Одна строка 1 принтер

Запомнить-сохранить (ctrl-x, Y)

Для двух принтеров у меня получился вот такой файл:

SUBSYSTEM=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="614e", ATTRS{product}=="stm32h743xx", ACTION=="add", RUN+="/bin/sh -c '/usr/bin/systemctl restart klipper-Anycubic.service'"SUBSYSTEM=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="614e", ATTRS{product}=="stm32f407xx", ATTRS{serial}=="5400310009504D5946303220", ACTION=="add", RUN+="/bin/sh -c '/usr/bin/systemctl restart klipper-Elf.service'"

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

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

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

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

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