Moonraker-Telegram
Última actualización
Última actualización
Con este complemento es posible enviar mensajes sobre el estado de las impresiones 3D, incluidas fotos, a un bot de Telegram (obviamente, solo si se ha configurado una cámara en la Raspberry Pi) y todo ello sin necesidad de configuraciones poco seguras en nuestros routers o con complicadas instalaciones de VPN.
Este complemento nos ofrece las siguientes funcionalidades:
Notificaciones a intervalos con imágenes de nuestra cámara durante la impresión
Contol de luces para la toma de imágenes o videos
Timelapse, un ejemplo https://youtu.be/gzbzW7Vv2cs
Ejecución de macros/gcode desde Telegram
Control del apagado del sistema via Moonraker
Obtención de una captura de imágen cuando deseemos
Pausar, cancelar y retomar nuestra impresión
Parada de emergencia
Lista de comandos disponibles en el bot:
Nos conectaremos por SSH, usando Putty/Terminus u otro cliente SSH, a nuestra Raspberry Pi y lanzaremos Kiauh ya que nos facilitará enormemente el proceso, si no tienes Kiauh te aconsejamos instalarlo siguiendo estas instrucciones.
Dentro de Kiauh iremos a la opción Install (1)[Install]) y seleccionaremos Telegram Bot (9)[telegram Bot]) y Kiauh hará su magia para instalar el componente!!!
El proceso de instalación puede durar unos minutos dependiendo del modelo/potencia de tu Raspberry Pi... como se suele decir... la paciencia es la madre de la ciencia!!! :)
Una vez finalizado el proceso nos fijaremos en la parte final para verificar que todo fué correcto:
En el caso que no queramos utilizar Kiauh, de nuevo os recomendamos usarlo, podéis instalar el componente de forma manual realizando los siguientes pasos:
clonaremos el repositorio
a continuación lanzaremos el script de instalación que nos solicitará erectrio de nuestras configuraciones de Klipper
actualizaremos nuestro fichero de configuración de Moonraker para añadir el nuevo componente al update manager (para poder actualizar de forma sencilla más tarde desde nuestra UI de Klipper)
recuerda que después de cada cambio en la configuración del bot es necesario reiniciar el servicio lo cual puedes hacer desde Telegram con el comando /bot_restart o desde SSH usando sudo systemctl restart moonraker-telegram-bot
Busque el usuario @BotFather dentro de la aplicación Telegram
Haga clic en Iniciar para iniciar una conversación con @BotFather
Lanzaremos el comando /newbot para comenzar con el proceso
Nos indicará que le demos un nombre a nuestro bot, por ejemplo 3DWork Voron 0.1 Bot
Seguidamente nos solicitará un nombre de usuario sin espacios y que termine en "bot", por ejemplo tresdwork_voron0I_bot
Si todo ha ido de forma correcta nos dará un HTTP API Token el cual tendremos que guardar de forma segura ya que lo usaremos a posteriori!!!
Como recuperar un token HTTP API Como hemos visto durante el proceso @BotFather nos facilita el token para usar en nuestro componente de Moonraker. En el caso que lo perdamos podremos usar @BotFather para crear uno nuevo usando el comando /token
Dentro del mensaje también nos devuelve un link para comenzar a hablar con nuestro nuevo bot t.me/tresdworkvoron0Ibot
Los dos parámetros que necesitamos para configurar nuestro componente Telegram de Moonraker es el token HTTP API y el Chat ID, ya que en el punto anterior obtuvimos el token vamos a encontrar nuestro Chat ID.
Desde Telegram abrimos una conversación con nuestro BOT y este nos dará un mensaje incluyendo nuestro chat_id:
Añadiendo el bot a un grupo de Telegram para compartir acceso, en este caso seguiremos un proceso similar al utilizado para obtener el ID anteriores pero por simplicidad usaremos un bot
Una vez tengamos la información es aconsejable eliminar el bot del grupo!!!
Ya casi estamos!!!, ahora iremos a nuestra UI de Klipper, en nuestro caso y para este ejemplo Mainsail, y editaremos el fichero de configuración telegram.conf del módulo de Telegram Moonraker:
En el fichero de configuración básicamente pondremos en chat_id nuestro valor de Chat ID y en bot_token nuestro token
¡Reiniciaremos el servicio Moonraker-telegram-bot para que cargue los nuevos valores y si todo va bien ya tendremos nuestro bot hablándonos!!!
Podremos actualizar el complemento ya sea desde Kiauh o desde la UI de Klipper:
Actualizaremos nuestro fichero de configuración de Moonraker para añadir el nuevo componente al update manager (para poder actualizar de forma sencilla más tarde desde nuestra UI de Klipper)
Recuerda reiniciar el servicio Moonraker después del cambio.
Actualmente, la mayoría de funciones de notificación de eventos de Moonraker-Telegram emplean la funcionalidad RESPOND de Klipper. En el caso de no tenerla y para habilitarla es tan sencillo como añadir la siguiente sección en vuestro printer.cfg:
En el caso de que tengamos pensado utilizar el módulo de timelapses es aconsejable añadir una macro que almacenar los parámetros del mismo. Para hacerlo simplemente añadiremos esto a nuestra configuración de Klipper:
Podremos personalizar el icono de nuestro bot de una forma muy sencilla.
¡Volvemos a hablar con @BotFather y lanzamos el comando /setuuserpic y seleccionamos nuestro bot, y a continuación le enviaremos una imagen que deseemos como icono... listo!!!
Para otros usos avanzados os recomendamos ver la siguiente página de la documentación oficial.
En el caso de que usemos Input Shaper con acelerómetro, nos puede ser muy útil la posibilidad de lanzar y obtener las gráficas en nuestro Telegram.
Añadiremos las siguientes macros a nuestro printer.cfg o un include donde las carguéis:
Recuerda que para poder ejecutar shell macros antes se han de habilitar si no lo hicimos antes.
Revisar y ajustar las coordenadas por defecto para realizar el test Input Shaper:
Crearemos desde nuestro terminal SSH (PuttY, Terminus, etc...) un script shaper_calibrate.sh en nuestro directorio printer_data/config/... o aquel que uséis en vuestro Klipper para almacenar las configuraciones de vuestra máquina:
Copiaremos este script, recuerda CTR+X para salir y Y para guardar cambios:
Nos aseguraremos que sea ejecutable:
Con nuestra nueva macro tan solo tendremos que llamarla desde nuestro cliente Telegram y, si tenemos todo correcto y preparado en nuestra máquina, realizará el test y nos enviará el resultado gráfico de este que siempre es de gran ayuda:
En el caso que usemos el módulo de Telegram para controlar nuestras impresoras de forma remota podremos tener diferentes instancias de este para poder gestionarlas de forma individual.
No vamos a entrar en el proceso de instalación o configuración detallado, el cual podéis encontrar aquí.
Comenzaremos clonando el repositorio e instalando:
IMPORTANTE!!
en el comando git clone la parte final indica el directorio donde lo instalaremos. Os aconsejamos usar moonraker-telegram2, moonraker-telegram3,...
en el comando cd lo adaptaremos dependiendo a lo usado en el punto anterior
Durante la instalación nos solicitará el path de Moonraker y de Klipper de cada instancia, aseguraos de poner el correcto para cada instancia ya que ahí dejará el fichero de configuración necesario para su configuración.
Por último nos preguntará el identificador del servicio que es útil para poder evitar problemas de arranque, parada o reinicio del serivicio.
Por ejemplo si usamos 2 la instalación creará una instancia de servicio de arranque llamada moonraker-telegram2.service
Revisaremos en cada instancia nuestro telegram_config.sh ajustando el puerto de Moonraker para que coincida con el de cada instancia.
Además si contamos con varias cámaras nos aseguraremos que la URL en el valor webcam (sobretodo el puerto) es el correcto de nuestra instancia.
Añadiremos el bot @raw_data_bot a nuestro grupo que nos facilitará la información del ID del chat que buscamos: Anotaremos el ID facilitado para añadirlo en los siguientes puntos a la configuración de Moonraker-Telegram.