Zmod_ru - ghzserg/zmod GitHub Wiki

Zmod

Read in English

Макрос - это небольшая программа на языке Klipper/Gcode.

Он может вызываться:

  • Из файла GCODE
  • Из консоли Fluidd/Mainsail (нажать английскую букву C в fluidd)

Note

Значение указанное в скобках - это значение по умолчанию

@zmod_help_bot


🔷 Zmod 🔷

CAMERA_OFF CAMERA_ON CAMERA_RESTART ZFLASH
TAR_CONFIG RESTORE_TAR_CONFIG START_ZMOD STOP_ZMOD
ZSSH_OFF ZSSH_ON ZSSH_RELOAD ZSSH_RESTART
REMOVE_ZMOD SKIP_ZMOD ZRESTORE ZLINK

CAMERA_ON

Использовать альтернативную реализацию камеры

  • WIDTH - ширина изображения (640)
  • HEIGHT - высота изображения (480)
  • FPS - кадров в секунду (20)
  • VIDEO - устройство видео (video0)
  • FS - 1 включить ограничение размера кадря для кривых камер, 0 не включать (0)
  • STREAMER - какой стример исппользовать (auto, mjpg_streamer, ustreamer)
  • FORMAT - Формат изображения для ustreamer: YUYV, YVYU, UYVY, RGB565, RGB24, BGR24, MJPEG, JPEG; по умолчанию: MJPEG

Отключите камеру на экране принтера, и только потом вызывайте макрос

Чтобы включить камеру, нужно использовать CAMERA_ON VIDEO=video0 или CAMERA_ON VIDEO=video3 или CAMERA_ON VIDEO=video99

{D2A001DD-7C89-4AB9-9CB9-741B7007B0B4}

Если камера не работает, то смотрите логи mod_data/log/cam/

Потребление оперативной памяти на стоковой камере:

  • 640x480 - 2.9 MiB
  • 1280x720 - 7.8 MiB
  • 1920x1080 - 18.1 MiB

Многие камеры с Ali/Ozon/Wildberries всегда потребляют 18 MiB

Camera Off Waiting... - эта надпись выводится, если поток камеры еще недоступен. Камера запускается после запуска Klipper - во время вывода информации о глобальных параметрах

Настройка камеры

Основные параметры

Параметр Что делает Обычное значение
WIDTH Ширина картинки 640
HEIGHT Высота картинки 480
FPS Сколько кадров в секунду 20
VIDEO Номер камеры video0
FS Исправлять проблемные камеры (1 — да, 0 — нет) 0
STREAMER Программа для работы с камерой auto
FORMAT Формат картинки (только для ustreamer) MJPEG

Что такое стример?

Стример — это программа, которая берёт изображение с камеры и показывает его браузере.

Доступно два варианта:

  • mjpg_streamer — простая программа, работает только с MJPG-камерами
  • ustreamer — мощнее, но требует больше памяти, поддерживает разные камеры

Параметр STREAMER=auto сам выберет подходящий стример.

Форматы изображения (только для ustreamer)

Можно выбрать: YUYV, YVYU, UYVY, RGB565, RGB24, BGR24, MJPEG, JPEG.

По умолчанию используется MJPEG.

Примеры команд

Простой запуск камеры video0 через mjpg_streamer:

CAMERA_ON VIDEO=video0

Запуск камеры video0 через ustreamer с настройками:

CAMERA_ON VIDEO=video0 STREAMER=ustreamer FORMAT=YUYV WIDTH=640 HEIGHT=480

Где смотреть изображение?

Откройте в браузере: http://ip_адрес_принтера:8080

Там можно менять яркость, контрастность и другие настройки.

Если есть проблемы

Не видит камеру? Запустите:

CAMERA_ON VIDEO=video99

Программа покажет список доступных камер.

Логи (журналы ошибок) лежат в папке: log/cam/

Top


CAMERA_OFF

Отключить альтернативную реализацию камеры

Top


CAMERA_RESTART

Перезапустить альтернативную реализацию камеры

Top


REMOVE_ZMOD

Удалить zMod.

  • FULL: 0 - оставить папку /opt/config/mod_data, 1 - удалить папку /opt/config/mod_data (0)

Внимаение! Отключите сами все плагины и перейдите на родной Klipper.

В папке /opt/config/mod_data хранятся настройки zmod, fluidd, moonraker, mainsail.

Она не удаляется по умолчанию, т.к. часто люди по ошибке вызывают макрос REMOVE_ZMOD

Top


SKIP_ZMOD

Перезагрузка в оригинальную систему. Без запуска zMod.

Отключаются файлы конфигурации ZMOD, Moonraker, Fluidd.

Внимаение! Отключите сами все плагины и перейдите на родной Klipper

Остается работать:

  • Альтернативная камера
  • SSH

Top


TAR_CONFIG

Сохраняет файлы конфигурации в архив.

Скачать архив можно в 'Конфигурация' -> 'mod_data' -> config.tar.gz

Top


RESTORE_TAR_CONFIG

Восстанавливает файлы конфигурации из архива config.tar.gz

Загрузить архив нужно в 'Конфигурация' -> 'mod_data' -> config.tar.gz

Top


ZFLASH

Позволяет обновиться с флешки по сети.

Вставьте флешку в принтер, включите принтер.

Если вы работаете в режиме без родного экрана, то важно, чтобы флешка была вставлена в принтер в момент включения принтера.

Этот макрос посмотрит последний доступный релиз, скачает его на флешку, проверит MD5 сумму архива и после перезагрузки установит его.

Top


STOP_ZMOD

Выгрузить из памяти guppy, moonraker и fluidd/Mainsail. Телеграм бот тоже перестанет работать

Параметры:

  • GUPPY (0 - не выгружать, 1 - выгружать)
  • MOONRAKER (0 - не выгружать, 1 - выгружать)
  • HTTP (0 - не выгружать, 1 - выгружать)

Пример:

STOP_ZMOD GUPPY=1 MOONRAKER=0 HTTP=0

Если эту строку прописать в стартовый код, то после начала печати GUPPY будет выгружен из памяти

Top


START_ZMOD

Включить обратно guppy, moonraker и fluidd/Mainsail после STOP_ZMOD.

Параметры:

  • GUPPY (0 - не загружать, 1 - выгружать)
  • MOONRAKER (0 - не загружать, 1 - выгружать)
  • HTTP (0 - не загружать, 1 - выгружать)

Пример:

START_ZMOD GUPPY=1 MOONRAKER=0 HTTP=0

Если эту строку прописать в конечный код, то после окончания печати GUPPY будет запущен

Top


ZSSH_ON

Включить перенаправление SSH

  • SSH_SERVER - IP удаленного SSH сервера
  • SSH_PORT - порт удаленного SSH сервера
  • SSH_USER - имя пользователя на удаленном сервере
  • VIDEO_PORT - порт на удаленном сервере. который будет использоваться для видео (8080)
  • MOON_PORT - порт на удаленном сервере. который будет использоваться для moonraker (7125)
  • REMOTE_RUN - команда, которую нужно вызывать на удаленном сервере ("NONE"), для перезапуска телеграмм бота. Можно использовать скрипт ff5m.sh(лежит на принтере в папке mod/telegram/), записав его вот в таком виде ./ff5m.sh bot1, где bot1 - каталог в котором установлен бот. Скрипт можно установить следующим образом (если вы не устанавливали бот одной командной)
su - tbot # сменить пользователя на пользователя под которым запускается сервис бота
wget --cache=off -q -O ff5m.sh https://raw.githubusercontent.com/ghzserg/zmod_ff5m/refs/heads/main/telegram/ff5m.sh
chmod +x ff5m.sh

Пример установки, вводить в консоли fluidd/mainsail:

ZSSH_ON SSH_SERVER=remote.server.ru SSH_PORT=22 SSH_USER=tbot VIDEO_PORT=8080 MOON_PORT=7125 REMOTE_RUN="./ff5m.sh bot1"

Подробнее про работу телеграмм бота

SSH запускается через 3 минуты после старта klipper.

Также SSH автоматически перезапускается(если умер) в начале печати в макросе START_PRINT.

Top


ZSSH_OFF

Выключить SSH клиента

Top


ZSSH_RESTART

Перезапуск SSH клиента

Top


ZSSH_RELOAD

Перезапуск SSH клиента, если он не запущен.

Этот макрос вызывается в начале печати в макросе START_PRINT.

Top


ZRESTORE

Восстановить печать после сбоя электричества или ошибки принтера.

Восстановление печати активно, если родной экран отключен, т.к. на родном экране есть встроенная функция восстановления печати.

Чтобы работала функция восстановления название файла для печати не должно начинаться с цифры.


Back Top Forward


ZLINK

Подключить к облаку zmod.link

  • Облако позволяет управлять принтером через Fluidd или Mainsail из любой точки.
  • Потребление памяти на принтере возрастает на 1 мб.
  • Данные передаются в облако с принтера с использованием шифрования.
  • Доступ к облаку из любого места тоже использует шифрование.
  • Пользователь видит только свои принтеры и не может подключиться к другим.
  • Доступ к принтерам пользователя защищен логином и паролем

Как получить логин и пароль:

  1. Подключиться к боту @zmod_help_bot
  2. Ввести команду cloud - если вы ранее регистрировались, то он сообщит вам ваш логин
  3. Чтобы зарегистрировать пользователя с именем test введите: cloud register test
  4. Чтобы сбросить пароль введите: cloud reset_password

Как подключиться к облаку zmod.link:

  1. Зайти на сайт zmod.link и ввести логин и пароль

    {264D6782-600F-4700-B9D2-0582F7427FD2}
  2. Нажмите кнопку "Добавить принтер"

    image
  3. Открыть в соседней вкладке принтер и в консоль на принтере введите команду ZLINK

    {90DC4366-D258-4912-8028-22C589DF4E91}
  4. Скопируйте ключ в буфер обмена - он выделен на скриншоте

  5. Введите имя принтера и ключ, который скопировали на предыдущем шаге

    Пример:

    • testprinter
    • ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDxX5XzNDXg+sbTArdiOzFpMtHXzgAhfC2N2ogS4TUsQYV4AD6HfSFL3J4ISNZ2DgesZf35rfH1I/qI2ckQVGlE=
    {E4FC2206-84BC-4134-92C2-B4253D8F23E5}

    Нажмите кнопку "Добавить принтер"

  6. Скопируйте команду, которую выдал сайт и вставьте ее в консоль принтера

    {CDC8146F-B9DF-44A1-9C0B-3E6828CD540E}

    В примере zlink p=testprinter u=test m=10006 c=30006

    Нажмите кнопку Я уже вставил строку в принтер

    После этого принтер сможет подключаться к облаку.

    Чтобы запретить подключение, введите ZLINK_OFF

  7. Теперь у вас есть возможность подключаться к Fluidd или Mainsail через интернет

    {CA6FC599-6060-4E3B-B525-EBB76D8780A1}

    Достаточно выбрать нужную кнопку.

PS: Камера может прогрузиться позже, чем интерфейс - это нормально

PPS: Если что-то работает не так, то обновите страницу Ctrl + F5 и зайдите на zmod.link

{30D01CA4-3E9E-40EC-BCD1-9A8597DCCFDE} {D03D643F-907C-4A6D-A48E-D881AAC33268}

Back Top Forward

⚠️ **GitHub.com Fallback** ⚠️