Я.Алиса и 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 для управления включением и выключением. Но я предпочитаю обесточивать наглухо весь прибор, и вам советую.
Еще больше интересных статей
Creality K2 plus - лечим температурные пробки после печати.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
ACE2 Pro и башня очистки: история одной несостоявшейся драмы
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
G-CODE по-русски для 3D печати (Мини-справочник)
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.







Комментарии и вопросы
Смотрел - не мог понять, что т...
Спасибо. В детстве играл в эту...
Не удивляйся потом при получен...
последнее время появилась проб...
Вопрос.Стоит ли переходить на...
Привет всем, недавно, я сменил...
Здравствуйте!Купил ПЛА от Стар...