Делаем 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
Еще больше интересных статей
Подсветка для Ender 3 и Sprite Extruder с обдувом K3D
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Попросили меня подробнее написать про подсветку на моем Ender 3....
Температура стола и пирометр.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Как в пародии на известную рек...
А гадить - делать угодное, люб...
В овощесушилке сушу часа 4 на....
Посоветуйте хотенд с гладким т...
Здравствуйте, столкнулся с про...
Всем привет! Прошу, не кидайте...
Собственно и вопрос: Как в Ком...