Zmod_ru - ghzserg/zmod GitHub Wiki
Макрос - это небольшая программа на языке Klipper/Gcode.
Он может вызываться:
- Из файла GCODE
- Из консоли Fluidd/Mainsail (нажать английскую букву
Cв fluidd)
Note
Значение указанное в скобках - это значение по умолчанию
🔷 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 |
Использовать альтернативную реализацию камеры
- 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
Если камера не работает, то смотрите логи mod_data/log/cam/
Потребление оперативной памяти на стоковой камере:
- 640x480 - 2.9 MiB
- 1280x720 - 7.8 MiB
- 1920x1080 - 18.1 MiB
Многие камеры с Ali/Ozon/Wildberries всегда потребляют 18 MiB
- Что такое альтернативная камера?
- Я установил принтер, а ZMOD спрятал мою камеру! В Orca-FF я ее видел, а теперь она пропала!
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/
Отключить альтернативную реализацию камеры
Перезапустить альтернативную реализацию камеры
Удалить zMod.
- FULL: 0 - оставить папку
/opt/config/mod_data, 1 - удалить папку/opt/config/mod_data(0)
Внимаение! Отключите сами все плагины и перейдите на родной Klipper.
В папке /opt/config/mod_data хранятся настройки zmod, fluidd, moonraker, mainsail.
Она не удаляется по умолчанию, т.к. часто люди по ошибке вызывают макрос REMOVE_ZMOD
Перезагрузка в оригинальную систему. Без запуска zMod.
Отключаются файлы конфигурации ZMOD, Moonraker, Fluidd.
Внимаение! Отключите сами все плагины и перейдите на родной Klipper
Остается работать:
- Альтернативная камера
- SSH
Сохраняет файлы конфигурации в архив.
Скачать архив можно в 'Конфигурация' -> 'mod_data' -> config.tar.gz
Восстанавливает файлы конфигурации из архива config.tar.gz
Загрузить архив нужно в 'Конфигурация' -> 'mod_data' -> config.tar.gz
Позволяет обновиться с флешки по сети.
Вставьте флешку в принтер, включите принтер.
Если вы работаете в режиме без родного экрана, то важно, чтобы флешка была вставлена в принтер в момент включения принтера.
Этот макрос посмотрит последний доступный релиз, скачает его на флешку, проверит MD5 сумму архива и после перезагрузки установит его.
Выгрузить из памяти guppy, moonraker и fluidd/Mainsail. Телеграм бот тоже перестанет работать
Параметры:
- GUPPY (0 - не выгружать, 1 - выгружать)
- MOONRAKER (0 - не выгружать, 1 - выгружать)
- HTTP (0 - не выгружать, 1 - выгружать)
Пример:
STOP_ZMOD GUPPY=1 MOONRAKER=0 HTTP=0
Если эту строку прописать в стартовый код, то после начала печати GUPPY будет выгружен из памяти
Включить обратно guppy, moonraker и fluidd/Mainsail после STOP_ZMOD.
Параметры:
- GUPPY (0 - не загружать, 1 - выгружать)
- MOONRAKER (0 - не загружать, 1 - выгружать)
- HTTP (0 - не загружать, 1 - выгружать)
Пример:
START_ZMOD GUPPY=1 MOONRAKER=0 HTTP=0
Если эту строку прописать в конечный код, то после окончания печати GUPPY будет запущен
Включить перенаправление 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.
Выключить SSH клиента
Перезапуск SSH клиента
Перезапуск SSH клиента, если он не запущен.
Этот макрос вызывается в начале печати в макросе START_PRINT.
Восстановить печать после сбоя электричества или ошибки принтера.
Восстановление печати активно, если родной экран отключен, т.к. на родном экране есть встроенная функция восстановления печати.
Чтобы работала функция восстановления название файла для печати не должно начинаться с цифры.
Подключить к облаку zmod.link
- Облако позволяет управлять принтером через Fluidd или Mainsail из любой точки.
- Потребление памяти на принтере возрастает на 1 мб.
- Данные передаются в облако с принтера с использованием шифрования.
- Доступ к облаку из любого места тоже использует шифрование.
- Пользователь видит только свои принтеры и не может подключиться к другим.
- Доступ к принтерам пользователя защищен логином и паролем
Как получить логин и пароль:
- Подключиться к боту @zmod_help_bot
- Ввести команду
cloud- если вы ранее регистрировались, то он сообщит вам ваш логин - Чтобы зарегистрировать пользователя с именем
testвведите:cloud register test - Чтобы сбросить пароль введите:
cloud reset_password
Как подключиться к облаку zmod.link:
-
Зайти на сайт zmod.link и ввести логин и пароль
-
Нажмите кнопку "Добавить принтер"
-
Открыть в соседней вкладке принтер и в консоль на принтере введите команду
ZLINK
-
Скопируйте ключ в буфер обмена - он выделен на скриншоте
-
Введите имя принтера и ключ, который скопировали на предыдущем шаге
Пример:
testprinterecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDxX5XzNDXg+sbTArdiOzFpMtHXzgAhfC2N2ogS4TUsQYV4AD6HfSFL3J4ISNZ2DgesZf35rfH1I/qI2ckQVGlE=
Нажмите кнопку "Добавить принтер"
-
Скопируйте команду, которую выдал сайт и вставьте ее в консоль принтера
В примере
zlink p=testprinter u=test m=10006 c=30006Нажмите кнопку
Я уже вставил строку в принтерПосле этого принтер сможет подключаться к облаку.
Чтобы запретить подключение, введите
ZLINK_OFF -
Теперь у вас есть возможность подключаться к Fluidd или Mainsail через интернет
Достаточно выбрать нужную кнопку.
PS: Камера может прогрузиться позже, чем интерфейс - это нормально
PPS: Если что-то работает не так, то обновите страницу Ctrl + F5 и зайдите на zmod.link