← Blog

Envía G-code a varias impresoras desde una app

Una cola de flota reparte G-code entre varias impresoras: qué es un trabajo en cola, cómo elige por menos ocupada y qué proveedores pueden recibir archivos.

guíamulti-impresoragranja de impresión

Una sola aplicación autoalojada puede mover todas las impresoras de tu red. PrintStash lo hace con una biblioteca de archivos que alimenta una cola de flota: eliges una revisión de G-code de la bóveda y luego la envías directa a una máquina o la pones en cola y dejas que la coloque el enrutado manual, por impresora predeterminada o por menos ocupada. El detalle que conviene saber de entrada es que un trabajo en cola cae en exactamente una impresora. No hay ningún botón que reparta un solo archivo a toda la flota, así que sacar la misma pieza en seis máquinas significa encolar seis trabajos y dejar que el enrutador los distribuya.

Esto funciona hoy con Moonraker/Klipper, el proveedor estable. OctoPrint, PrusaLink, Bambu en LAN y Elegoo Centauri están en beta, y no todos pueden recibir archivos; más abajo hay más sobre eso.

Dos trabajos escondidos en una sola pregunta

“Enviar a varias impresoras” cubre dos trabajos distintos, y la cola los maneja de forma diferente.

El primero es el envío por lotes: una pieza tiene que salir en varias máquinas ahora. En PrintStash eso son varios trabajos en cola de la misma revisión. El enrutado por menos ocupada asigna cada uno a la impresora que tiene menos trabajo por delante, así que las copias se reparten entre las máquinas libres sin que elijas cada destino.

El segundo es el reparto de carga continuo: sigues alimentando una granja y quieres que cada trabajo nuevo caiga en algún sitio sensato. Eso pide lógica de enrutado en lugar de una acción de copia, y es la misma cola haciendo el trabajo. Tú decides qué imprimir; el enrutador decide qué máquina lo saca, y lo que siga en cola se puede reordenar o reenrutar.

En cualquier caso el archivo sigue atado a su historial. Cada laminado de la bóveda es una revisión de su modelo de origen con los metadatos del slicer ya analizados y un resultado, así que lo que encolas es la revisión marcada como verificada, no un nombre de archivo que esperas que sea el correcto. Llevar la cuenta de las revisiones de G-code verificadas cubre ese lado.

En una flota Klipper

Conecta cada impresora por su endpoint de Moonraker, normalmente en el puerto 7125. Conectar PrintStash a varias impresoras Klipper repasa cómo añadir y probar máquinas de una en una. Moonraker recibe el conjunto completo de capacidades: estado en vivo, subida, arranque, inventario remoto de archivos, pausa, reanudar, cancelar y consumo de filamento medido para un coste real por impresión. Encola un trabajo y el despachador transfiere el archivo, lo arranca, sigue el resultado y lo registra en el historial de impresiones del modelo.

El acceso se concede por impresora desde la v0.11.1: un usuario puede tener ver, imprimir, controlar o administrar en cada máquina de forma independiente, y las API de cola y enrutado hacen cumplir ese rol efectivo. Se le puede permitir a un operario arrancar trabajos en algunas máquinas y solo mirar otras, y para imprimir también hace falta acceso de edición a la colección del modelo.

Cuando una máquina necesita un cambio de boquilla, el modo de vaciado suave o una ventana puntual de mantenimiento la sacan del enrutado sin cancelar lo que ya está en marcha, y el planificador despacha alrededor de ella hasta que la ventana se cierra. Colas y planificación en una granja de impresión tiene las reglas de elegibilidad completas, junto con los endpoints /api/v1/fleet si quieres mover la cola desde un script.

Qué pueden recibir las impresoras que no son Klipper

Los proveedores en beta conocen sus capacidades: la aplicación desactiva las acciones que una impresora no puede hacer en lugar de fallar en el momento del envío. OctoPrint y PrusaLink aceptan subidas y exponen un inventario remoto de archivos. Las impresoras Bambu Lab en modo LAN aceptan subidas en texto plano y arranque que hay que activar, pero no exponen inventario de archivos. La Elegoo Centauri acepta subidas por trozos y controles de impresión, pero la subida sigue en beta y el inventario de archivos está desactivado. La matriz de compatibilidad es la lista por proveedor y cambia con cada versión.

Límites

El enrutado por menos ocupada cuenta el trabajo que hay por delante de cada máquina y nada más, así que no elige destino por el filamento cargado ni por la boquilla. Desde la v0.12.0 hay una comprobación previa que sí compara los metadatos de material y boquilla del archivo con lo que informa la impresora antes de un envío directo, y señala una discrepancia que puedes ignorar dejando registrada la excepción, así que la máquina ya no acepta un laminado de ABS sobre una bobina de PLA sin decir nada. Elegir el destino correcto para un lote en cola sigue siendo tarea del operario. Tampoco hay muro de cámaras ni detección de fallos, así que PrintStash depende de que la impresora informe de un resultado en lugar de darse cuenta él mismo del espagueti. Si el problema real es la monitorización, la comparativa de software de granja cubre las herramientas que se ocupan de eso.

Preguntas frecuentes

¿Todas las impresoras tienen que estar en la misma red que PrintStash?

El servidor tiene que poder llegar a la dirección de cada impresora, y PrintStash en sí es local-first. Para el acceso desde fuera de la LAN, ponlo detrás de una VPN o de un proxy inverso endurecido; PrintStash detrás de un proxy inverso con TLS cubre ese montaje.

¿Sobreviven los trabajos en cola a un reinicio del servidor?

Sí. El despacho de flota se guarda en base de datos y el trabajo en segundo plano interrumpido se reanuda o se marca como reintentable tras un reinicio. La única excepción es un despacho interrumpido entre la subida al proveedor y la escritura final en base de datos, que se registra con un resultado desconocido y no se reintenta automáticamente, así que un reinicio no puede arrancar dos veces la misma impresión.

¿Puedo arrancar el mismo archivo en seis impresoras con un clic?

No. Encolas seis trabajos de la misma revisión. El enrutado por menos ocupada los reparte entre las máquinas libres a medida que se liberan, y lo que siga esperando se puede reenrutar o reordenar desde la vista de cola.

Fuentes