Кремень FMZ Реклама
Kremen FMHM Реклама

OCTOBOT или Octoprint REST-api бот

strtoint
Идет загрузка
Загрузка
13.12.2020
1626
3
Личные дневники

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

3
Статья относится к принтерам:
Sapphire Pro

Закончились мои потуги в создании самопального бота для телеги, пока бот в состоянии бетки. Главное что работает информационная часть.

Оценить установить можно отсюда: https://github.com/StrToInt/octobot

Собственно зачем его писал: стоковый бот тормозит/стопорит печать при отправке большого каКчественного фото размерами от 2мб и выше, снимаю на телефон с приложением ip webcam pro. Ну и хотел добавить по старинке просмотр печати с трех камер, обзорная, с видом на стол на уровень сопла, и третья POV от сопла (третья в процессе).

Возможности на данный момент:

  • Использует одну команду /start
  • Отправка фото по запросу/ по изменению слоя
  • Отправка фотографий с N камер

Немного картинок:

OCTOBOT или Octoprint REST-api бот

Вся информация берется с октопринта, а тот ее берет со слайсера, иной раз вылазит расчетное время печати, расход пластика итп:

OCTOBOT или Octoprint REST-api бот

OCTOBOT или Octoprint REST-api бот

OCTOBOT или Octoprint REST-api бот

Небольшой копипаст туториала установки:

Установка

На данном этапе вам нужно иметь рабочий октопринт, и/или микрокомпьютер с linux на борту, второго бота телеграма с одной только стартовой командой. Для начала установим питон 3 если его нет

sudo apt-get install python3-dev python3-pip python3 -y

Скачиваем архив, заходим в папку, открываем конфиг:

git clone https://github.com/StrToInt/octobot.git

cd octobot

nano config.ini

Настройка

Редактируем необходимые настройки:

[main]

token = тут_вписываем_токен_вашего_второго_бота

admin = вписываем ваш ID телеграма, его можно получить вписав тут любое число и написав что нибудь боту, он ответит вашим ID

octoprint = http://127.0.0.1:5000 - меняем это на адрес вашего октопринта, или оставляем атк, если бот будет на той же машине что и октопринт

key = 6512288B58004C8784A55FFBE508FDAE - вставляем ключ октопринта скопировав его из Настройки-API-Global key

filesdir = /home/pi/.octoprint/uploads/ - путь до файлов загружаемых в октопринт

[printer]

extruders = 1 - количество экструдеров оставляем 1, т.к. еще не добавил поддержку многоэкструдерных

cam_count = 2 - количество камер ставим 0 - если нет камер, 1, 2 итп если есть

max_z_finish = 230 - финишная высота парковки по окончанию печати, или максимальная у принтера, либо же ставьте -1

ниже идут настройки оповещений сообщения для телеги которые можно сменить из настроек бота

[misc]

silent = False

silent_z_change = True

silent_photos = False

Сохраняем файл Ctrl+O, Y, Ctrl+zX

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

Камеры настраиваются отдельно с файла photo.sh. Открываем файл:

nano photo.sh

Файлы фоторафий сохраняются вручную скриптом. если у вас одна камера, сохраняйте в файл photo.jpg, без нумераций, если же 2 и больше то в файлы photoN.jpg, где N - номер

Пример файла для получения двух фото, одно через телефон на андройде - как вебкамеру, с программой IP Webcam, вторая фото - утилитой fswebcam с USB веб камеры

#!/bin/bash
rm photo.jpg
wget -O photo1.jpg http://192.168.1.75:8080/photoaf.jpg
fswebcam -d v4l2:/dev/video2 -r 640x480 --jpeg 90 -D 0 --rotate 180 --no-banner photo2.jpg

Корректную работу скрипта можно проверить запустив его командой

bash photo.sh

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

Запуск

Запуск можно произвести командой

python3 octobot.py

Или в режиме демона утилитой screen через скрипт start.sh и stop-sh - соответственно для остановки.

Для добавления в автозапуск при старте нужно прописать:

crontab -e

В самом низу добавить:

@reboot sleep 30 && bash /home/pi/octobot/start.sh

не забыв оставить последнюю строку пустой (с Enter-ом)

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

3
Комментарии к статье