Я.Алиса и klipper

whoim
Идет загрузка
Загрузка
19.07.2022
1095
0
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

14

Привет! Замутил себе через алису розетки на esp8266 и, в очередную ночную печать задумался, как бы прикрутить принтер к Алисе. Хотелось переключать подсветку и выключать корректно хост, с ним по пину реле выключается и весь принтер. Попробовал - получилось. Рассказываю.

Клиппер ставил на распбиан через kiauh, как все нормальные люди. Он ставит moonraker, которым и управляет Алиса, и вот его апи.

Что нужно? Со стороны Алисы - подключить навык "Домовенок Кузя". С вашей стороны - белый IP адрес от провайдера (динамический или статический), если динамический - то настроить DynDNS (я настроил noip.com, в него умеет мой роутер), загнать в статический адрес вашего хоста принтера, чтобы он всегда был один.

Принцип простой - Алиса пинает через устройства навык Кузя в его виртуальный выключатель, выключатель правилом GET или POST пинает ваш роутер, тот через проброс порта пинает moonraker, принтер выполняет задачу.

Начнем с правила выключения хоста. Пробросьте какой нибудь порт, например 5009 на адрес хоста, на порт 80. Подключите к Алисе навык Кузя, перейдите на его сайт https://alexstar.ru/ и добавьте правило для выключения:

Я.Алиса и klipper

{     "jsonrpc": "2.0",     "method": "machine.shutdown",     "id": 4665 }

Далее создайте виртуальное устройство "выключатель" в разделе Виртуальные устройства

Я.Алиса и klipper

Откройте на смартфоне Яндекс, в устройствах найдите новый Выключатель и переименуйте в желаемую голосовую фразу для выключения принтера, например "миник выключить"

Я.Алиса и klipper

Осталось лишь разрешить серверу Кузи посылать команды вам в мунрейкер. Это делается так:

Я.Алиса и klipper

Адрес для копипасты: 217.25.90.132

ВНИМАНИЕ! Сейчас вопрос защиты ложится только на вебсервер хоста, и насколько он надежен - я не могу знать. Без этой строчки в конфиге я не смог засылать мунрейкеру команды, но вдруг это как то возможно. Если Ваш роутер поддерживает в настройке проброса порта указание ИСТОЧНИКА - укажите там этот же адрес. Возможно, стоит покопать в сторону дополнительной basic auth авторизации для внешних адресов на nginx, который обслуживает проброс потока до мунрейкера.

Если вы все сделали правильно - выключатель должен работать, тушить хост.

Также возможно исполнение GCODE и макросов, на примере макроса дневной подсветки. Делаем правило HTTP, привязываем к выключателю аналогично и находим, переименовываем его в Алисе.

Я.Алиса и klipperЯ.Алиса и klipper

Все работает, вы великолепны :)Если вы не выключаете хост вместе с принтером, то можете использовать gcode M80, M81 для управления включением и выключением. Но я предпочитаю обесточивать наглухо весь прибор, и вам советую.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

14
Комментарии к статье