Telegram_ru - ghzserg/zmod GitHub Wiki

Telegram Bot

Read in English

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

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

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

Note

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


🔷 Telegram Bot 🔷

Описание Регистрация бота
Установка бота телеграмм одной командой на Debian Установка бота телеграмм пошагово
Добавление ключей ssh Запуск ZSSH на принтере
Для Armbian

Telegram Bot

Описание

Суть: У нас очень медленное железо и очень мало памяти. Поэтому на железе запускать moonraker-telegram-bot нет смысла. Но мы его можем запустить на внешнем сервере. Для этого нужен любой сервер (реальный/виртуальный), до которого сможет достучаться принтер по SSH.

Новая версия автоматом создает SSH ключи (они используются для авторизации без паролей).

Ключи лежат тут:

  • ‎/mod_data/ssh.pub.txt - это открытый ключ. Текст из него необходимо поместить на сервере в файл ~/.ssh/authorized_keys
  • ‎/mod_data/ssh.key - закрытый ключ. Используется принтером для подключения к серверу.

Сами ключи вам по сути не нужны. Вам достаточно вызвать макрос ZSSH_ON передав следующие параметры:

  • SSH_SERVER - ip или имя вашего сервера
  • SSH_PORT - порт ssh на сервере - обычно 22
  • SSH_USER - имя пользователя на ssh сервере
  • VIDEO_PORT - порт который будет использоваться на сервере для приема видеоданных с камеры (8080)
  • MOON_PORT - порт который будет использоваться на сервере для приема данных от moonraker (7125).
  • REMOTE_RUN - команда, которую нужно вызывать на удаленном сервере

Запуск ssh съедает около 300 килобайт памяти.

Если принтер и сервер находятся в одной сети, то использовать SSH не обязательно. Читайте файл конфигурации telegram.conf Файл конфигурации можно скачать с принтера mod/telegram/.

Top


Регистрация бота

Как зарегистрировать свой бот

  1. Идете к @BotFather
  2. /newbot
  3. Вводите любое имя, которое вам нравится
  4. Вводите имя бота ff5msuper_bot - обязательно _bot в конце.
  5. Получаете длинный ID - его нужно будет прописать в настройках бота в параметр bot_token

Top


Развертывание сервера

Установка телеграмм бота одной командой на Debian

Установка телеграмм бота одной командой на Debian:

Выполнять под пользователем root

bash <(wget --cache=off -q -O - https://github.com/ghzserg/zmod_ff5m/raw/refs/heads/1.5/telegram/telegram.sh)

Если у вас нет wget

apt update && apt install wget -y

Этот скрипт:

  1. Установит docker
  2. Скачает docker-compose.yml и telegram.conf.
  3. Создаст пользователя tbot
  4. Напишет инструкцию по регистрации телеграмм бота и запросит bot_token
  5. Напишет инструкцию по получению chat_id и запросит chat_id
  6. Установит ff5m.sh

Добавить ssh ключ нужно будет самостоятельно

Top


Установка телеграмм бота по шагам

Берете файл docker-compose.yml из mod/telegram/ c принтера.

Устанавливаете docker, далее инструкция для Debian

apt update 
apt upgrade -y
apt install docker.io docker-compose docker apparmor -y

Создаете каталог для бота.

mkdir bot1
cd bot1

Помещаете туда docker-compose.yml

Создаете подкаталоги

mkdir config log timelapse_finished timelapse
chmod 777 config log timelapse_finished timelapse

В каталог config помещаете telegram.conf из mod/telegram/ и правите его под себя.

Больше информации о настройке бота можно почитать тут

Из каталога bot1 запускаете

docker-compose up -d

Добавляете пользователя и даем ему право самому запускать docker-compose

useradd tbot
usermod -a -G docker tbot

Top


Добавление ssh ключей

  1. Заходим под пользователем tbot

    su - tbot
  2. Прописываем ssh ключи:

    mkdir  .ssh
    cat >.ssh/authorized_keys

    Вводите открытый ключ из файла mod_data/ssh.pub.txt. Потом Ctrl + d

Top


Запуск ZSSH на принтере

После этого запускаете на принтере ZSSH_ON c необходимыми параметрами.

После каждой перезагрузки ssh, будет запускаться автоматически через 3 минуты.

Top

Установка и настройка для armbian (от noyhay)

Скачиваем Debian Minimal/IOT images with Armbian с сайта https://www.armbian.com/download/

Устанавливаем Armbian на sdcard с помощью balenaEtcher с сайта https://etcher.balena.io/

Запускаем систему, создаем пароль root и нового пользователя

В дальнейшем все делаем под пользователем root

su - root

Настраиваем wi-fi, если не настроили после создания нового пользователя

sudo armbian-config

Обновляем систему

sudo apt update && sudo apt upgrade -y

Устанавливаем apparmor модуль безопасности ядра Linux

sudo apt install -y apparmor apparmor-utils

Устанавливаем бот telegram

bash <(wget --cache=off -q -O - https://github.com/ghzserg/zmod_ff5m/raw/refs/heads/1.5/telegram/telegram.sh)

Добавление ssh ключей: Заходим из под пользователя root в пользователя tbot

su - tbot

Прописываем ssh ключи:

mkdir -p .ssh
cat >.ssh/authorized_keys

Вводите открытый ключ из файла в системе корневой системе mod_data/ssh.pub.txt. Потом CTRL+D

Перезагружаем систему sudo reboot


Back Top Forward

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