Telegram_ru - ghzserg/zmod GitHub Wiki
Макрос - это небольшая программа на языке Klipper/Gcode.
Он может вызываться:
- Из файла GCODE
- Из консоли Fluidd/Mainsaill (нажать английскую букву
C
в fluidd)
Note
Значение указанное в скобках - это значение по умолчанию
🔷 Telegram Bot 🔷 |
|
---|---|
Описание | Регистрация бота |
Установка бота телеграмм одной командой на Debian | Установка бота телеграмм пошагово |
Добавление ключей ssh | Запуск ZSSH на принтере |
Для Armbian |
Суть: У нас очень медленное железо и очень мало памяти. Поэтому на железе запускать 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/
.
Как зарегистрировать свой бот
- Идете к @BotFather
/newbot
- Вводите любое имя, которое вам нравится
- Вводите имя бота ff5msuper_bot - обязательно _bot в конце.
- Получаете длинный ID - его нужно будет прописать в настройках бота в параметр bot_token
Установка телеграмм бота одной командой на 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
Этот скрипт:
- Установит docker
- Скачает docker-compose.yml и telegram.conf.
- Создаст пользователя tbot
- Напишет инструкцию по регистрации телеграмм бота и запросит
bot_token
- Напишет инструкцию по получению
chat_id
и запроситchat_id
- Установит ff5m.sh
Добавить ssh ключ нужно будет самостоятельно
Берете файл 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
-
Заходим под пользователем
tbot
su - tbot
-
Прописываем ssh ключи:
mkdir .ssh cat >.ssh/authorized_keys
Вводите открытый ключ из файла
mod_data/ssh.pub.txt
. ПотомCtrl + d
После этого запускаете на принтере ZSSH_ON c необходимыми параметрами.
После каждой перезагрузки ssh, будет запускаться автоматически через 3 минуты.
Скачиваем 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