Preámbulo
Segunda parte de la guía para usar Octoprint, esta vez será para poder controlarlo de forma remota y segura a través de la aplicación Telegram. Hay varias maneras de controlarlo, pero la más sencilla y segura de hacerlo es a través de la aplicación de mensajería Telegram mediante comandos.
Elementos a preparar
- Octoprint instalado y funcionando. Consultar aquí.
- Telegram instalado en tu móvil o en el ordenador.
- El complemento OctoPrint Telegram.
Preparación del bot en Telegram y Octoprint
Creación del bot
Será como una especie de conversación con nuestro bot que se va a crear. Para permitir que el complemento de Telegram pueda enviar mensajes hay que registrar el bot.
Para ello se inicia una conversación con @BotFather en la aplicación de Telegram. Inicias el bot con /start
y empiezas a conversar con él.
- Envía
/newbot
y pon un nombre a tu bot de Telegram, el mío se llamára Zepyrynter, y hay que asignarle un nombre de usuario, que debe de terminar en bot, será: @ZepyrnterBot. - El bot te dará un token, que es como un código único que autentifica la sesión. Es una especie de usuario y contraseña unificado en uno. Manténgalo en un sitio seguro.
Configuración del complemento en Octoprint
El bot que configuramos funciona gracias al complemento (llamado también plugin), hay que instalarlo y configurarlo. Empecemos:
- Instalar el complemento a través de la administración de complementos (Plugin Manager) o instalarlo manualmente usando la siguiente dirección:
https://github.com/fabianonline/OctoPrint-Telegram/archive/stable.zip
- Una vez instalado, reiniciar el servidor de Octoprint.
- Al recargar el servidor después de reiniciar, se nos abrirá automáticamente el asistente de configuración de Telegram.
- En caso de que no se nos aparezca el panel, lo podemos encontrar en configuración de Octoprint, en el panel derecho donde pone Telegram.
- Introducir el token que nos dio @BotFather al crear el bot. Probar el token, y si todo ha salido bien, dar al botón finalizar.
Configuración del usuario
En la aplicación Telegram, debemos de buscar nuestro bot, que hay varias maneras de buscarlos:
- Una de ellas es usar el buscador de usuarios y escribir el nombre de usuario, el que terminaba con bot.
- La otra manera es ir a la conversación con BotFather y pinchar en el enlace que nos dio en el último mensaje.
En mi caso sería: t.me/ZeprynterBot.
Empezar una conversación con el bot, lanzando el comando /start o bien, dándole a Iniciar. Nos saldría algo como esto:
Mientras que en Octoprint, hay que ir a configuración, panel izquierdo, abajo del todo en Telegram en el apartado Known Chats, dar al botón Reload y nos saldrá algo como esto:
Abajo del todo estará el botón de guardar, presionar y volver otra vez al panel de configuración de Telegram, en la sección de Known Chats. Veremos que está marcado en X los permisos de enviar comandos y notificaciones. Para habilitar, le damos al lápiz, permitimos ambas cosas que son:
- Allow to send commands.
- Send notifications.
Y en los botones azules que han salido después de permitir ambas cosas, le damos y marcamos todos los comandos y todas las notificaciones, cerramos el panel y volvemos a darle a guardar.
Si hay más de un usuario en el bot podemos conceder/denegar los permisos a los nuevos usuarios según nos parezca, e incluso los podemos sacar de la sala dándole a la papelera.
Notificaciones
Las notificaciones están en el apartado Messages at…, –que por cierto, podemos cambiar el intervalo de las notificaciones cada X milímetros de figura o cada Y tiempo– un poco más abajo y están escritas por defecto en inglés, podemos cambiarlo por el mensaje que queramos. Cojamos de ejemplo el PrintStarted.
El mensaje por defecto es: Started printing {file}.
, lo cambiamos a: Impresión iniciada. El archivo utilizado es {file}.
Además, también se nos enviará una imagen.
Guardamos en el botón que está abajo del todo y probamos. Le damos a imprimir cualquier archivo y en la aplicación de Telegram nos saldrá esto:
A partir de ahí, podemos cambiar en todos los mensajes de notificación o dejarlo como están. Podemos configurar también si queremos que se nos envíe una foto o no.
Comandos
Listado de comandos disponibles para interactuar con Octoprint, por ejemplo si ha empezado a imprimir, pedirle que se nos envíe una foto para ver cómo va o bien, si las cosas se ponen feas, parar la impresión.
/abort
– Detiene la impresión. Requiere confirmación./shutup
– Silencia el bot hasta que la impresión termine./dontshutup
– Vuelve a permitir al bot que te mande notificaciones./status
– Información del estado de la impresora./settings
– Configura el intervalo de las notificaciones, ajustable en cada altura o en cada tiempo. Por defecto 5 milímetros o cada 15 minutos./files
– Muestra un listado de ficheros en el que tienes guardado en la microSD de la Raspberry. También te permite subir nuevos archivo e incluso descargarlos. Si presionamos sobre un archivo GCode nos mostrará información sobre el tiempo de impresión, filamento que gastará y lo que ocupa./print
– Comienza una impresión. En ella seleccionamos el archivo a imprimir./togglepause
– Pausa o reanuda la impresión./con
– Conecta / desconecta la impresora./upload
– Sube un archivo a Octoprint./sys
– Ejecuta un comando de Octoprint que pueden ser reiniciar, apagar o reiniciar el servidor./ctrl
– Controla la impresora, como haríamos con G28, G0 Z10… Es un poco inútil y necesita ser configurado./tune
– Ajusta la temperatura del cabezal, cama, feedrate y flowrate. Con ella podemos precalentar la impresora./user
– Muestra la información del usuario, permisos que tienes y las notificaciones permitidas./help
– Muestra la lista de comandos.
Fuente
https://github.com/fabianonline/OctoPrint-Telegram
Bonus
Para poner una imagen a nuestro bot, tenemos que hablar con @BotFather y escribirle /setuserpic
, se nos pedirá a que bot, le damos al de la impresora y le enviamos una foto.
Para crear la lista de comandos mencionada arriba y que se nos autocomplete en el bot, le escribimos /setcommands
, se nos pedirá el bot, y pegamos el listado de abajo.
abort - Detiene la impresión. Requiere confirmación. shutup - Silencia el bot hasta que la impresión termine. dontshutup - Vuelve a permitir al bot que te mande notificaciones. status - Información del estado de la impresora. settings - Configura el intervalo de las notificaciones, ajustable en cada altura o en cada tiempo. Por defecto 5 milímetros o cada 15 minutos. files - Muestra un listado de ficheros en el que tienes guardado en la microSD de la Raspberry. También te permite subir nuevos archivo e incluso descargarlos. Si presionamos sobre un archivo GCode nos mostrará información sobre el tiempo de impresión, filamento que gastará y lo que ocupa. print - Comienza una impresión. En ella seleccionamos el archivo a imprimir. togglepause - Pausa o reanuda la impresión. con - Conecta / desconecta la impresora. upload - Sube un archivo a Octoprint. sys - Ejecuta un comando de Octoprint que pueden ser reiniciar, apagar o reiniciar el servidor. ctrl - Controla la impresora, como haríamos con G28, G0 Z10... Es un poco inútil y necesita ser configurado. tune - Ajusta la temperatura del cabezal, cama, feedrate y flowrate. Con ella podemos precalentar la impresora. user - Muestra la información del usuario, permisos que tienes y las notificaciones permitidas. help - Muestra la lista de comandos.
Con ello tenemos todo para empezar lo básico de Telegram y Octoprint, tampoco hay mucho más.
Para cualquier duda puedes contactar conmigo sin dudarlo (¡valga la redundancia!) a través de Telegram o bien a través del grupo Anycubic ES. Estamos encantados de ayudarte. Si tienes alguna petición por una guía o mejorar, házmelo saber.