Включаем MQTT нотификацию в Klipper/Moonraker
MQTT протокол позволяет дистанционно мониторить и управлять различными устройствами. Возможно использовать это как альтернативу или дополнение к "облачным сервисам" от производителя. Все широко известные системы "умных домов" основаны на этом протоколе, например "Home Assistant".
Выбор хостингов MQTT брокеров огромен, большая часть из них имеют бесплатные тарифы. Это и не удивительно, так как вы "оплачивате" доступ к ним информацией с ваших подключенных к нему устройств.
Я как всегда предложу использовать собственный брокер, установленный у вас локально. Для любителей использовать отечественные сервисы, имеет смысл посмотреть на Yandex, при этом интеграция с "Алисой" будет из коробки:
- Пользователь: "Принтер, сколько ты уже напечатал?"
- Алиса: "Как вы ко мне обращаетесь!?!"
Поддержка MQTT в последних версиях moonraker присутствует "из коробки", необходимо включить её в конфигурационном файле.
Шаги по включению будем рассматривать на примере AD5X с установленным zmod'ом.
Данные настройки идентичны для всех принтеров с установленными klipper и moonraker. Для модификаций настроек необходимо иметь доступ к конфигурационным файлам.
Добавляем в файл "/mod_data/user.moonraker.conf" следующие строки:
[mqtt]
address: 192.168.0.1
port: 1883
enable_tls: False
username: ad5x
password: 12345
mqtt_protocol: v5
enable_moonraker_api: True
instance_name: sensor/ad5x
status_interval: 10
status_objects:
webhooks
print_stats
display_status
virtual_sdcard=progress
publish_split_status: True
Естественно предварительно редактируем учётные данные, такие как address/port сервера и username/password. Если вы будете использовать сторонний хостинг, необходимо включить SSL/TLS:
enable_tls: True
Также, если вы хотите использовать подключение к локальной службе MQTT с использованием SSL/TLS, котрая использует самоподписанный сертификат, то вам потребуется установить корневой сертификат самоподписанного CA на принтере, где размещён Moonraker.
Какие данные можно получить?
- "ваш-логин/klipper/state/virtual_sdcard/file_path": полный путь файла выведенного на печать.
- "ваш-логин/klipper/state/virtual_sdcard/file_size": размер файла выведенного на печать.
- "ваш-логин/klipper/state/virtual_sdcard/file_position": позиция файла выведенного на печать.
- "ваш-логин/klipper/state/virtual_sdcard/progress": прогресс текущей печати в процентах.
- "ваш-логин/klipper/state/virtual_sdcard/is_active": есть ли активные задачи которые выполняет принтер.
- "ваш-логин/klipper/state/print_stats/filename": имя файла выведенного на печать.
- "ваш-логин/klipper/state/print_stats/state": состояние принтера - "printing", "standby", "paused", "complete", "cancelled" или "error".
- "ваш-логин/moonraker/status": состояние принтера - "offline" или "online".
- "ваш-логин/klipper/state/idle_timeout/printing_time": время текущей печати.
- "ваш-логин/klipper/state/print_stats/print_duration": время текущей печати.
- "ваш-логин/klipper/state/print_stats/total_duration": ожидаемое время до окончания печати.
- "ваш-логин/klipper/state/idle_timeout/printing_time": время текущей печати.
Это только малая часть наиболее востребованных данных, полный список и описание настроек можно найти на:
https://moonraker.readthedocs.io/en/latest/configuration/#mqtt
Пример плиток принтера в MQTT Dash (Android):
Для визуализации результата работы, взял китайский LED-BAR, который по случаю валялся без дела.
В него "ушла" плата LOLIN (Wemos D1 mini), разъем питания, кнопка и диод.
Диод надо ставить от разъема питания к плате, чтобы в случае подключения к USB порту для прошивки, светодиоды не получали питание от компьютера.
На скорую руку набросал подставку, для размещения электроники и крепления LED-BAR'а.
Файлы для печати подставки разместил в разделе "3D модели", но там нет возможности разместить дополнительные файлы.
Скетч доступен на printables:
https://www.printables.com/model/1713160-visual-printer-operation-indicator-mqtt-protocol-k
В скетче так же необходимо править адрес, порт, логин и пароль для MQTT сервера. В коде есть комментарии.
Еще больше интересных статей
VK - бот для мониторинга 3D принтера под управлением Klipper
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Охлаждения сопла после печати. Klipper.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Охлаждалось сопло у меня после печати всегда по тайме...
GCODE: Основы
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
GCODE: Плюшки от ПавлушкиПосле написания предыдущей...






Комментарии и вопросы
Увы, нет по другой причине. Да...
Не модификации это все же друг...
Раньше да, когда ещё дельты са...
принтер qidi q2 press advance...
Всем привет! Столкнулся с непр...
Всем хай. С проблемой горизонт...
Сменил печатающую головку на к...