Я.Алиса и klipper
Привет! Замутил себе через алису розетки на esp8266 и, в очередную ночную печать задумался, как бы прикрутить принтер к Алисе. Хотелось переключать подсветку и выключать корректно хост, с ним по пину реле выключается и весь принтер. Попробовал - получилось. Рассказываю.
Клиппер ставил на распбиан через kiauh, как все нормальные люди. Он ставит moonraker, которым и управляет Алиса, и вот его апи.
Что нужно? Со стороны Алисы - подключить навык "Домовенок Кузя". С вашей стороны - белый IP адрес от провайдера (динамический или статический), если динамический - то настроить DynDNS (я настроил noip.com, в него умеет мой роутер), загнать в статический адрес вашего хоста принтера, чтобы он всегда был один.
Принцип простой - Алиса пинает через устройства навык Кузя в его виртуальный выключатель, выключатель правилом GET или POST пинает ваш роутер, тот через проброс порта пинает moonraker, принтер выполняет задачу.
Начнем с правила выключения хоста. Пробросьте какой нибудь порт, например 5009 на адрес хоста, на порт 80. Подключите к Алисе навык Кузя, перейдите на его сайт https://alexstar.ru/ и добавьте правило для выключения:
{ "jsonrpc": "2.0", "method": "machine.shutdown", "id": 4665 }
Далее создайте виртуальное устройство "выключатель" в разделе Виртуальные устройства
Откройте на смартфоне Яндекс, в устройствах найдите новый Выключатель и переименуйте в желаемую голосовую фразу для выключения принтера, например "миник выключить"
Осталось лишь разрешить серверу Кузи посылать команды вам в мунрейкер. Это делается так:
Адрес для копипасты: 217.25.90.132
ВНИМАНИЕ! Сейчас вопрос защиты ложится только на вебсервер хоста, и насколько он надежен - я не могу знать. Без этой строчки в конфиге я не смог засылать мунрейкеру команды, но вдруг это как то возможно. Если Ваш роутер поддерживает в настройке проброса порта указание ИСТОЧНИКА - укажите там этот же адрес. Возможно, стоит покопать в сторону дополнительной basic auth авторизации для внешних адресов на nginx, который обслуживает проброс потока до мунрейкера.
Если вы все сделали правильно - выключатель должен работать, тушить хост.
Также возможно исполнение GCODE и макросов, на примере макроса дневной подсветки. Делаем правило HTTP, привязываем к выключателю аналогично и находим, переименовываем его в Алисе.
Все работает, вы великолепны :)Если вы не выключаете хост вместе с принтером, то можете использовать gcode M80, M81 для управления включением и выключением. Но я предпочитаю обесточивать наглухо весь прибор, и вам советую.
Еще больше интересных статей
Датчик движения (он же наличия) филамента на Ender 3 V3 SE
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Creality K1 SE - уменьшение шума от вентилятора блока питания.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
GCODE: Основы
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
GCODE: Плюшки от ПавлушкиПосле написания предыдущей...







Комментарии и вопросы
У меня нет цели стать гуру печ...
абсолютно согласен. значит не....
На сайте так и сказано, что це...
Здравствуйте. Нужна помощь в п...
Доброго времени суток.Подскажи...
При печать иногда часть модели...
При включении 3Д принтера АНЕТ...