← Blog

Gestiona archivos en varias máquinas Klipper

Gestionar archivos máquina por máquina aguanta hasta dos impresoras y es el cuello de botella. Una biblioteca con cola de flota cambia el flujo.

guíaklippermulti-impresoraflujo de trabajo

Con una o dos impresoras Klipper, el gestor de archivos que traen Mainsail o Fluidd es de verdad todo lo que necesitas. Laminas, subes, le das a imprimir y listo. A partir de tres máquinas, ese mismo bucle se convierte en el cuello de botella: el mismo G-code subido una vez por máquina, ningún registro en ninguna parte de qué revisión imprimió bien, y ninguna vista de qué hay encolado y dónde sin abrir cada interfaz web por turnos. La solución a esa escala no es un subidor por máquina mejor. Es una biblioteca central que guarda cada revisión unida a su modelo, más una cola que reparte el trabajo a las máquinas en lugar de que tú copies archivos hacia ellas. PrintStash hace esto a través de Moonraker, y esta página trata de cuándo compensa ese cambio y cuándo no.

Por qué gestionar los archivos máquina por máquina se rompe con tres impresoras

Cada máquina Klipper tiene su propio sistema de archivos, y el gestor de archivos de Moonraker es por máquina por diseño. El bucle habitual es: laminar, descargar, abrir la interfaz web de la impresora que toca, subir, buscar espacio libre, borrar archivos viejos para hacer sitio, repetir en la siguiente máquina y acordarse de dónde acabó la revisión arreglada.

Nada de eso está roto a pequeña escala, y los hilos de la comunidad están llenos de formas de estirarlo más: montajes SMB compartidos para que todas las impresoras vean la misma carpeta, scripts de rsync, convenciones de nombres tipo bracket_v3_FINAL_fixed. El montaje compartido resuelve el almacenamiento y nada más. Sigue sin tener historial de revisiones, sin resultado por archivo y sin cola; solo ha movido el montón a un único sitio.

Lo primero que se agota es la memoria, no el almacenamiento. Seis laminados de la misma pieza acaban en seis máquinas con nombres parecidos, y cuando alguien pregunta qué versión produjo la impresión buena del mes pasado, la respuesta vive en la cabeza de alguien, si vive en algún sitio.

El flujo con biblioteca y cola de flota

Con una biblioteca en el bucle, el flujo cambia de forma:

  1. Laminas una vez. El hook de OrcaSlicer empuja la exportación directamente a la biblioteca como una revisión nueva de su modelo, con la altura de capa, el material, la boquilla y el tiempo estimado leídos del archivo.
  2. Encolas una vez. Eliges la revisión, eliges el reparto manual, por impresora predeterminada o por la menos ocupada, y el planificador coloca el trabajo. La opción de menos ocupada lo manda a la máquina elegible que tenga menos trabajo por delante.
  3. Gestionas todo lo que espera desde una sola pantalla. Reordenas, rediriges, cancelas o reintentas sin abrir la interfaz de cada impresora por turnos.
  4. Cuando la impresión termina, la revisión registra el resultado. Las impresiones lanzadas desde la biblioteca se pueden marcar como verificadas automáticamente cuando ese ajuste está activo, y la duración y el filamento medidos vuelven desde Moonraker al historial del modelo.

La cola es parte de la aplicación y no un script pegado por encima: rutas /api/v1/fleet en el backend, respaldadas por la base de datos, sin Redis y sin un contenedor extra. La mecánica está en colas y planificación en una granja de impresión, incluidas las reglas de elegibilidad y el modo drenaje. Enviar G-code a varias impresoras cubre cómo se comporta el reparto cuando varias máquinas deben compartir un lote.

Dos detalles que conviene saber antes de comprometerse. Un trabajo encolado aterriza en exactamente una impresora, así que imprimir la misma pieza en seis máquinas significa encolar seis trabajos y dejar que la opción de menos ocupada los reparta según se liberen. Y el enrutador cuenta el trabajo que hay delante de cada máquina y nada más, así que no elige el destino por el filamento cargado ni por la boquilla; elegir destinos sensatos para un lote sigue siendo tu trabajo.

Qué se queda en Fluidd y Mainsail

Nada de esto sustituye a la consola de la máquina. La webcam, las macros, el ajuste de temperaturas, el G-code en bruto para mantenimiento y las paradas de emergencia se quedan donde están. PrintStash se conecta al mismo Moonraker con el que ya habla cada frontend, así que las impresoras siguen con Klipper y Moonraker exactamente igual que antes y tú conservas la interfaz que prefieras para el trabajo manual. El reparto va por pregunta: Fluidd y Mainsail responden qué está haciendo esta máquina ahora mismo, y la biblioteca responde qué hemos impreso, qué funcionó y qué debería salir a continuación. Conectar PrintStash a varias impresoras Klipper explica cómo añadir máquinas de una en una; la conexión de cada máquina en sí es la misma que conectar una a través de Moonraker.

Límites honestos

Moonraker/Klipper es la integración estable y se lleva el conjunto completo: subida, arranque, inventario remoto de archivos, controles de trabajo y filamento medido de vuelta al terminar. OctoPrint, PrusaLink, Bambu LAN y Elegoo Centauri funcionan en beta, cada uno con sus huecos. El consumo medido de filamento viene solo de Moonraker, Bambu LAN no expone inventario de archivos, y la vía de subida de la Centauri tiene poca evidencia de hardware real detrás. Consulta la matriz de compatibilidad antes de montar un flujo de trabajo alrededor de una acción en beta.

El reparto por impresora predeterminada y por la menos ocupada está reservado a administradores. Los usuarios normales encolan a mano contra una impresora a la que tienen acceso, lo que evita que en una instancia compartida cualquiera pueda dirigir toda la granja. PrintStash también espera una red de confianza: ponlo detrás de una VPN o de un proxy inverso endurecido en lugar de exponerlo directamente.

Preguntas que surgen

¿Cuántas impresoras hacen falta para que gestionar máquina por máquina deje de ser suficiente?

No hay un corte exacto, pero dos máquinas suelen ir bien y a partir de tres empieza a doler, porque el coste crece con máquinas por impresiones. El primer síntoma casi nunca es el desorden; es olvidar qué revisión imprimió bien, así que cada reimpresión empieza con dudas. Ese es el punto en el que una biblioteca con seguimiento de revisiones se paga sola, antes incluso de que entre en juego la cola.

¿Puede un gestor de archivos enviar G-code a una impresora Klipper?

Sí. PrintStash se conecta a través de Moonraker y puede subir una revisión sin arrancarla, subirla y arrancarla en una sola acción, o arrancar un archivo que ya esté en la máquina. A través de la cola de flota, ese mismo envío se convierte en una decisión de reparto: elección manual, impresora predeterminada o la menos ocupada entre las máquinas elegibles. En cualquier caso, el trabajo terminado queda registrado en el historial del modelo.

¿Qué versión del G-code imprimió bien?

Las revisiones de la biblioteca llevan estados: pendiente de prueba, verificada, fallida y archivada, y una revisión por modelo puede llevar además la recomendación. Una impresión correcta lanzada desde la biblioteca marca su revisión como verificada automáticamente cuando ese ajuste está activo, y nunca sobrescribe un veredicto que haya puesto una persona a mano. Filtrar la lista de modelos por verificadas convierte “el archivo que funcionó” en una consulta en lugar de un ejercicio de memoria.

¿Tengo que mover todo a la biblioteca de golpe?

No, y no deberías. Deja fuera los archivos de calibración y mantenimiento de un solo uso; mandarlos directamente desde el slicer es más corto que catalogarlos. Lo que merece la pena centralizar son las piezas que imprimes repetidamente o que pasas de una máquina a otra. Sincronizar la lista de archivos de cada impresora con la biblioteca muestra exactamente qué archivos de cada máquina están ya cubiertos y cuáles son huérfanos, que es lo que hace realista una pasada de limpieza de una tarde.

Fuentes

  • Capacidades de PrintStash y la matriz de compatibilidad para los límites por proveedor en la versión publicada.
  • Comportamiento de la cola de flota verificado contra el repositorio del producto en el tag v0.12.1 (backend/app/api/v1/fleet.py). Comprobado el 22 de agosto de 2026.