При наличии работающего и правильно настроенного Wi-Fi модуля на esp32, который разработал автор прошивки, существует возможность отправлять в мессенджер Telegram сообщения о работе принтера и процессе печати, а так же управлять принтером посылая ему команды g-code. Еще одним приятным бонусом станет возможность скачивать прямо в принтер файлы gcode, которые размещены в вашем телеграмм-канале (а-ля Telegram Disk).

Как это работает

Для тех, кому интересно, как это работает вкратце расскажу механику: автор создал телеграм-бота посредника для общения с принтером, который умеет отправлять сообщения в канал телеграмма, принимать команды оттуда и отсылать их принтеру. В прошивке WiFi-модуля автор разместил код для общения с этим ботом. Чатбот в изначально обезличенный, т.е. он не привязан ни к чему и просто так не работает. Соответственно, для его работы необходимо будет создать собственного чат-бота, получить его индивидуальный токен и внести в настройки. О том, как это сделать - написано далее.

Прошивка

Прежде всего необходимо прошить и принтер и WiFi-модуль последними версиями прошивок (test-only, о других не говорим). Это критически важно для успеха всех дальнейших действий.

Создаем канал в Telegram

После установки модуля, его прошивки и подключению к вашей Wi-Fi-сети, приступаем к подключению к телеграмму. Переходим в Телеграмм (удобнее всего это делать в компьютерной версии телеграм, с телефона не удобно) и создаем там _КАНАЛ_ (именно КАНАЛ, а не группу, это важно:

Затем присваиваете каналу имя. Можете обозвать его как вам угодно.

Канал лучше сделать частным:

Следующим шагом после создания канала будет добавление в него участников. На этом этапе следует в строке поиска указать бота @shui_wifi_bot (он же Shubot) - это специальный чатбот, который разработал автор прошивки и который поддерживает всё это волшебство. Жмем "добавить".

Соглашаемся и делаем бота админом:

Права по умолчанию:

Создание собственного бота

Собственный бот необходим для того, чтобы можно было управлять принтером через ваш телеграмм-канал. Если вам не нужно управлять принтером, а нужно только получать от него сообщения, можете сразу перейти в раздел "Получение ID-канала".

Теперь, необходимо создать свою собственную нежить, чтобы оплодотворить ею бота сидящего в WiFi-модуле. Для этого ищем в телеграмме отца ботов, он так и называется: BotFather:

Чтобы не напороться на поддельного бота, настоящий имеет рядом синий значок с галочкой, остальные - фейки. Теперь начинаем с ним чат. Сначала он нам сообщает, что он прародитель всех нежитей телеграмма:

В ответ нужно дать ему команду "Запустить" (нажать кнопку Запустить), появится команда:

/start

Бот ответит большой подсказкой, где расписаны команды. Снимок приводить не буду, это не принципиально. Далее командуем еще одну команду:

/newbot

Бот ответит, что мол ага, создаем нового бота, Теперь нужно указать, как будут звать нового бота. Просто напишем ему имя вашей будущей нежити. Желательно не использовать в имени SHUI, чтобы его нельзя было просто найти поиском, будьте креативны.

Теперь он хочет, чтобы вы придумали боту имя пользователя. Имя пользователя должно содержать только латинские буквы и может содержать символ подчеркивания. Обязательное условие: имя пользователя должно оканчиваться буквами "bot". Здесь тоже проявляем креатив и не упоминаем SHUI. Вводим имя пользователя бота и всё, наш бот готов:

Папа-бот сообщил, что ваш бот готов, а так же дал его токен, чтобы использовать его в дальнейшем. Токен на снимке подчеркнут красной линией. Необходимо скопировать этот набот букв и цифр, он нам скоро понадобится. На этом общение с папой ботов закончено. Возвращаемся в свой канал.

Добавление своего бота в канал

Добавление своего бота в канал ничем не отличается от того, как до этого добавлялся @shui_wifi_bot бот. Найдите в свойстах канала кнопку "добавить участника", в качестве имени участника укажите имя пользователя бота которое вы ему придумали. Когда он найдется, выберите его и нажмите "Добавить". Скриншот приводить не буду, поскольку процесс не отличается от описанного выше.

Ваш бот тоже будет админом канала с правами как было показано выше.

Получение ID-канала

Еще один идентификатор, который нужно знать принтеру - это идентификатор вашего канала. Поскольку бот @shui_wifi_bot уже добавлен в канал, он запросто может дать этот идентификатор по команде:

/chat_id@shui_wifi_bot

В ответ вы увидите нечто подобное:

Копируем Chat Id (это цифра вместе с минусом), далее он нам тоже понадобится. Если вам не нужно управление принтером, а вы хотите только получать от него сообщения, то можете просто ввести полученный Chat Id прямо в принтере в разделе настроек "Telegram". Если же вы хотите обладать полной функциональностью, тогда читайте дальше.

Результат манипуляций с телеграммом

В результате вышеуказанных действий в вашем канале должно быть либо 2 (если вы не создавали своего бота для управления), либо 3 участника (для полного феншуя): Вы, @shui_wifi_bot и ваш бот, если вы его создавали - причем все боты - админы канала.

Кроме того, у нас есть ID канала и токен доступа для нашего (своего собственного!) ботика. Переходим к настройке железки.

Настраиваем принтер

Для того, чтобы всё заработало, нужно сделать настройки WiFi-модуля принтера. Для этого нужно скормить принтеру файл конфигурации. Вы можете создать этот файл самостоятельно, а можете воспользоваться конфигуратором, выдающим готовый файл.

Если хотите приготовить суп самостоятельно, нужно создать g-code файл следующего содержания:

M2009.3 C:-XXXXXXXXX K:YYYYYYY:YYYYYYYYYYYYYYYYYYYYYYY
M117 Configured
M500
M2009 M1
;
  • Если вы читаете эту страницу со смартфона, обратите внимание: каждая строка начинается с команды Mxxx и идет сплошной строкой. Перенос части команды на другую строку недопустим.
  • После последней команды обязательно должна быть пустая строка, иначе предыдущая команда может не отработать! Для этого я на всякий случай поставил в конце точку с запятой.

Где M2009.3 добавляет идентификаторы и токены, параметр С: - это идентификатор вашего канала, chat_id то есть. А параметр K: - это тот самый токен, который вы получили от папы ботов при создании своей нежити, если вы её создавали. Иначе параметр "K:" писать не нужно.

M117 сообщает об успешном конфигурировании, а M500 - сохраняет настройки в энергонезависимую память. M2009 M1 - стоит на всякий случай. Эта команда отключает режим "Точка доступа" у WiFi модуля.

То есть для меня, учитывая снимки экранов выше, этот файлик будет с таким содержимым:

M2009.3 C:-679467685 K:5308194817:AAGSGBBm_vffS4TnKHVsYZs6d1M79PIy7Xw
M117 Configured
M500
M2009 M1
;

Внимание, содержимое выше - ЭТО ПРИМЕР! Вы должны указать в файле именно свои ID и токен бота.

Короче, создаете в блокноте файлик, где есть все эти команды и сохраняете его на флешку принтера с именем @mybot.gcode

Файл начинающийся с символа @ сразу применяется без лишних вопросов со стороны печатающего устройства под управлением SHUI. Поэтому втыкаете флешку с этим файлом, включаете принтер, и запускаете его на печать. Надпись "Configured" внизу экрана подтвердит, что процесс оживления Франкенштейна прошел успешно.

После этого в созданный вами канал даже сразу может упасть сообщение от принтера, что принтер подключился к сети и сконфигурирован. Но это еще не так, внутренний бот оживет потом, после перезагрузки.

Наслаждаемся

Теперь перезагружаем принтер и смотрим в канал дальше:

"Looking for a listening bot for a party ;)." - это стандартное сообщение принтера, а вот дальше - идет лог сообщений от принтера.

С этой минуты вы можете управлять принтером просто - введите команду /snippets и увидите меню:

Таким образом, мы получаем возможность управления принтером из любой точки где есть телеграм и интернет. Спасибо Вячеслав, этого многие ждали!

Telegram-диск

Кроме получения сообщений и управления принтером, вы так же можете использовать файлы, загруженные в канал для закачки на принтер. Это так называемый Telegram Disk. Для этого особо ничего делать не нужно - так как принтер ведь уже подключен к каналу. Достаточно просто вывести виджет "TG Disk" на экран. Делается это через долгое нажатие.

Теперь кидаете файл gcode прямо в канал, заходите на принтере в виджет TG Disk - и получаете фозможность скачать этот файл на принтер.

Управление файлами в канале

Для управления файлами в канале есть несколько команд для бота:

/list - показать список файлов

/del a,b,c,d... - удалить файл(ы) номер a,b,c,d.... Например /del 1 - удалить файл номер 1, del 1,3 - удалить файлы 1 и 3

/clear - удалить все файлы (на текущий момент не работает)


Несколько нюансов от автора:

1. Для ботов телеграмм есть ограничения. Телеграмм бот может получить доступ к файлам, размер которых менее 20М. В дальнейшем можно будет добавить архивы ZIP.

2. Следует понимать, что так как @shui_wifi_bot должен иметь доступ на чтение поступающих в канал сообщений, все каналы, куда он будет добавлен будут доступны серверному программноу обеспечению обслуживающему бота с правами, которыми наделен бот. Если Вы не доверяете данной разработке или данные, которые будут публиковаться в телеграмм канале имеют особый статус секретности не пользуйтесь телеграмм диском. Это не относится к сообщениям отправляемым ботом во время работы принтера, так как для данного режима не требуется чтения сообщений канала.

3. Серверное программное обеспечение, которое ведет базу данных загруженных файлов в стадии разработки, поэтому и базы данных и стабильность ответов телеграмм бота не является 100%. Используйте возможности телеграмм диска как перевалочный механизм для передачи файлов на принтеры.


Подключение принтера к Яндекс Диску >>

Последняя правка: 24.08.2024

Copyright © 2024 SHUI - прошивка для 3D-принтеров. All rights reserved.
Обратите внимание: последнее обновление страницы: 24.08.2024
Мы используем куки (cookie) для наилучшего представления нашего сайта. Если вы продолжите использовать сайт, мы будем считать что вас это устраивает. Вы можете просматривать сайт без использования куки (cookie) с частичной потерей функциональности в приватном режиме вашего браузера. Если вы полностью отказываетесь использовать куки (cookie), вы обязаны покинуть сайт.  Принять  Больше информации