Реле отключение питание Принтера с Klipper для Armbian
Решил я на днях настроить управление питанием принтера через веб интерфейс. Бывает иногда, возникнет идея, которую срочно хочется воплотить, а оставлять принтер включенным круглые сутки - идея не из лучших. Статей на эту тему полно. Вроде, ничего сложного - подключаешь реле к выводу GPIO на одноплатнике, включаешь возможность управление GPIO в операционной системе, добавляешь пару строк в конфиг Moonraker, и вуаля, в веб интерфейсе должна появиться заветная кнопка отключения питания. Но на Armbian у меня возникли некоторые сложности с управлением GPIO, которые просто так не гуглились. В связи с этим, делюсь решением.
Описываю последовательность действий для связки Klipper и Moonraker, установленных на Armbian
Так понимаю что на OctoPi и других ОС для Raspberry Pi у народа проблем не возникает, потому и решения просто так не гуглятся. Но мне пришлось работать с тем что есть. В загажнике лежал Orange Pi Zero. Его для данных целей выше крыши. Судя по загрузке CPU во время печати и 70% свободной оперативки из 512 Мб, мощности еще и для подключения веб камеры хватит.
Подключение
Для управления питанием принтера не используйте самые дешевые китайские реле.
У меня после порядка десяти включений, у вот такого реле, начали залипать контакты.
Подключите реле к выходу GPIO вашего одноплатника. Проверьте, умеет ли конкретный GPIO на вашей работать на выход.
Настройка
Далее включите возможность управления GPIO в операционной системе:
sudo armbian-config
Настройка разрешений для управления GPIO пользователем без прав root
Вот на этом моменте у меня и случился затык. Управлять GPIO от пользователя через bash получалось, но Moonraker ругался на отсутствие прав. Так как в программировании я не силен, в частности Python знаю посредственно, а Moonraker написан на нем, осилить самому проблему у меня не вышло. Гугл тоже не говорил ничего внятного. Из решений находились только костыли по предоставлению прав root. Помогли ребята из группы Telegram Anycubic Mega Zero Rus. Решение здесь.
Таким образом, для управления GPIO от пользователя, создаем группу gpio:
sudo groupadd gpio
Добавляем нашего пользователя и(или) пользователя из под которого запускается Moonraker в группу gpio
useradd -G gpio USERNAME
Если вы хотите рулить gpio при помощи bash скриптов, создаем файл
/etc/udev/rules.d/99-gpio.rules
С содержанием:
SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c '\
chown -R root:gpio /sys/class/gpio && chmod -R 0770 /sys/class/gpio &&\
chown -R root:gpio /sys/devices/platform/soc && chmod -R 0770 /sys/devices/platform/soc'"
Для того, чтоб управлять gpio из Moonraker, файл:
vim /etc/udev/rules.d/60-gpiod.rules
С содержанием:
SUBSYSTEM=="gpio", KERNEL=="gpiochip[0-4]", GROUP="gpio", MODE="0660"
Чтоб все это заработало, необходимо перезагрузиться.
Конфигурация Moonraker
Далее правите moonraker.conf в соответствии с необходимым функционалом. Описано что и как в официальной документации.
Минимальна конфигурация:
[power printer]
type: gpio
pin: gpiochip0/gpio6
Остальное в конфиг добавляете для себя, при необходимости.
перезагружаете Moonraker
sudo systemctl restart moonraker
После этого в веб морде должен появиться пункт управления питанием.
Ну и управление питанием принтера из клиппера, как это описано в документации (гугл перевод):
Можно переключить питание устройства с хоста Klippy, это можно сделать с помощью gcode_macro, например:
# printer.cfg
[gcode_macro POWER_OFF_PRINTER]
gcode:
{action_call_remote_method("set_device_power",
device="printer",
state="off")}
POWER_OFF_PRINTER GCode можно запустить , чтобы отключить «принтер» устройство. Это можно использовать вместе с тайм-аутом простоя Klipper для выключения принтера в режиме ожидания с конфигурацией, аналогичной приведенной ниже:
# printer.cfg
[delayed_gcode delayed_printer_off]
initial_duration: 0.
gcode:
{% if printer.idle_timeout.state == "Idle" %}
POWER_OFF_PRINTER
{% endif %}
[idle_timeout]
gcode:
M84
TURN_OFF_HEATERS
UPDATE_DELAYED_GCODE ID=delayed_printer_off DURATION=60
Еще больше интересных статей
Подсветка для Ender 3 и Sprite Extruder с обдувом K3D
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Попросили меня подробнее написать про подсветку на моем Ender 3....
Антивоблинг на flyingbear ghost 5
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Blue Pill & SSD1306, ну очень маленькие.., но 32 бит!
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Решил я тут попробовать перейти с 8 бит на 32.
Готовы...
Комментарии и вопросы
Главное в этой войне сидеть ти...
На рекламных пользовательских....
Выйдет позже. Это пока обычная...
Нужна помощь. Не получается по...
Может есть у кого модель адапт...
Всем привет, может кто знает п...
Приветствую, начал знакомится...