Делаем OctoPrint более хардварным или управляем кнопками
Давно пользуюсь OctoPrint'ом на малинке (Raspberry Pi), которым приходится управлять с компьютера/телефона. Но проблема в том, что иногда лень их искать/включать или нужно срочно остановить печать. С этой целью было придумано использование кнопок, которые подключены к GPIO-выходам малинки. Так как в интерфейсе OctoPrint в основном представлены 3 кнопки типа: начать/продолжить, пауза, стоп, решено исполнить с помощью трёх кнопок соотв. цветов: красный. жёлтый и зелёный. Заказывал здесь (https://www.chipdip.ru/product/pbs14b-green), надеюсь за рекламу не сочтётся. Под них и был начерчен корпус:Сразу была предусмотрена крышка, которая не даёт случайно нажать на кнопки:После печати и подключения кнопки получаем вот такого маленького монстра:Переходим к обработке нажатий на эти самые кнопки. Для этого можно использовать python потому как за основу использовал вот эту статью (http://tnorbert.com/blog/2016/10/24/simple-stopstart-button-for-octopioctoprint/). Немного расширив предложенный вариант кода в статье, получилось следующее (к сожалению вставить сюда сам исходник не получилось)
Скачиваем исходник, в нём нам нужно указать API-ключ OctoPrint в 7 строчке. Думаю, сейчас стоит рассказать об алгоритме работы кнопок в различных состояниях принтера:
Режим ожидания
зелёная: запуск последней печати(с момента включения OctoPrint)
жёлтая: переключение температуры экструдера между 0, 210 и 235 С
красная: температуры столика между 0,80 и 95 С
Печать приостановлена:
зелёная: возобновление печати
жёлтая: 1 нажатие - отпуск двигателей и подъём на 10 мм. 2 - перезапуск печати
красная: отмена печати
При печати:
зелёная: пауза
жёлтая: пауза
красная: отмена печати
В режиме ожидания можно быстро включить/выключить экструдер и столик. Задать стандартные температуры можно в 8 строчке (экструдер) и 9 строчке (столик). Температура будет переключатся по кругу (0->210->235->0).
А загружаем скрипт на малинку. Для этого нам нужен SSH-клиент и FTP-клиент. Покажу на примере Bitvise SSH Client, в нём оба этих клиента уже встроены. При запуске у нас сразу появляется окошко авторизации:Вводим IP адрес малинки в поле Host, порт по-умолчанию 22. Справа username (стандартный pi) и password (стандартный raspberry) и внизу нажимаем Login. Если всё прошло удачно, то должно появится окошко с консолью и окошко FTP-клиента:В окне FTP копируем наш скрипт на флешку Raspberry Pi. Я положил в папку /home/pi/scripts. Переключаемся в окно команд. Сначала проверим, что у нас стоит python (по-умолчанию должен быть, но вдруг):
python -VДолжно быть что-то вроде
Python 2.7.9Если python не установлен, то можно использовать команды:
sudo apt-get updateЗатем запускаем наш скрипт
sudo apt-get install python-pip
cd /home/pi/scriptsДолжна появиться надпись started. Остаётся только подключить кнопки:(Отметил цветами какую кнопку в какой выход подключать, чёрный - питание кнопок).
python but_3_control.py
На этом всё, можно попробовать работу кнопок в деле. Остаётся маленький штрих - добавить запуск нашего скрипта в автозапуск. Останавливаем наш скрипт CTRL+C и вызываем команду:
crontab -eВ открывшемся файле в конец добавляем
@reboot python but_3_control.py
Еще больше интересных статей
Система автоматической смены столов Chitu Systems PlateCycler C1M для Bambu Lab A1 mini
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Снятие экструдера на Qidi Plus 4 и небольшой, но полезный нюанс от Qidi
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.









Комментарии и вопросы
Спасибо за уточнение.Слышали.....
Про генератор периметров arach...
Так совет то универсальный, ч...
Есть два рабочих варианта реал...
Доброго дня! Имеется 3D принте...
Почему на моторе nema 17 ставя...
Доброго вечера ребят.Наставте...