Files
KX-Bridge-Release/README.es.md

13 KiB
Raw Blame History

KX-Bridge

KX-Bridge

Controla tu Anycubic Kobra X con OrcaSlicer — sin Klipper, sin Raspberry Pi.

Un puente compatible con Moonraker que se comunica directamente con la impresora.

🧪 Un usuario en Reddit ha reportado que el puente también funciona con la Kobra S1 y la Kobra S1 Max — los protocolos parecen compatibles, pero ninguna está oficialmente probada ni soportada. Se agradece el feedback.

🇬🇧 English version · 🇩🇪 Deutsche Version


Ko-fi   Releases   Downloads   Video

¿Te gusta KX-Bridge? Un café en Ko-fi mantiene el proyecto vivo.


Características

🖨️ Control de impresora — iniciar, pausar, reanudar, cancelar, temperaturas, velocidad de impresión
📊 Estado en tiempo real — temperatura, progreso, capas, tiempo restante, transmisión de cámara
🎨 AMS / multicolor — ranuras con selector de perfil por ranura (asigna tu propia marca de los perfiles de OrcaSlicer a cada ranura); el puente escribe material y color al display de la impresora
📦 Importa tus propios perfiles de OrcaSlicer — arrastra un ZIP de ~/.config/OrcaSlicer/user/<id>/filament/ al puente; aparecen en el desplegable de la ranura bajo ★ Perfiles propios
📷 Integración con Obico (experimental) — Time-Lapse y stream en vivo WebRTC contra un servidor Obico autoalojado vía moonraker-obico
📐 Stream H.264 directo + altura Z — ruta de cámara de bajo consumo de CPU para Obico, Z actual derivada de la altura de capa (widget de progreso)
🗂️ Explorador de GCode — archivos subidos con vistas previas, historial de impresión, búsqueda y filtros
🧩 Multi-impresora — múltiples impresoras en una instancia del puente, cambia mediante un menú desplegable
Añade una impresora con un clic — solo introduce la IP, las credenciales se importan automáticamente
🔁 Reconexión MQTT robusta — el puente sobrevive a reinicios nocturnos de la impresora sin reinicio manual
🌐 Interfaz multilingüe — DE / EN / ES / 中文, detecta automáticamente el idioma del navegador
🔄 Actualización automática — instala nuevas versiones directamente desde el navegador
🧠 OrcaSlicer — protocolo Moonraker completo (HTTP + WebSocket); usa el build OrcaSlicer-KX para emparejamiento correcto de vendor por ranura

🚀 Inicio rápido

1. Prepara la impresora

Activa el modo LAN en la Kobra X: Pantalla de la impresora → Ajustes → Activar modo LAN

2. Inicia el puente

Docker (recomendado):

docker compose up -d

Binario Linux (sin Docker):

chmod +x kx-bridge-linux-amd64 && ./kx-bridge-linux-amd64

EXE Windows (sin Docker):

kx-bridge.exe

⚠️ Certificados TLS necesarios para el binario standalone

El bridge habla con el MQTT de la impresora vía mTLS y necesita dos ficheros de certificado junto al binario:

  • anycubic_slicer.crt
  • anycubic_slicer.key

Ambos vienen en anycubic-certs.zip en la misma página de release. Descárgalo y extrae los dos ficheros en el mismo directorio que kx-bridge-linux-amd64 o kx-bridge.exe. Sin ellos verás Verbindung fehlgeschlagen: TLS-Zertifikate fehlen … (0.9.19.1+) o [Errno 2] No such file or directory (versiones anteriores).

Estructura correcta:

~/kx-bridge/
├── kx-bridge-linux-amd64   (o kx-bridge.exe)
├── anycubic_slicer.crt     ← de anycubic-certs.zip
├── anycubic_slicer.key     ← de anycubic-certs.zip
└── config/                 (se crea en el primer arranque)

Los usuarios de Docker no necesitan hacer esto — los certificados están incluidos en la imagen.

Con los binarios de Linux y Windows, config/ y data/ (configuración, SQLite, almacén de GCode) viven junto al programa. Copia toda la carpeta para mover la instalación.

Python directamente:

pip install -r bridge/requirements.txt
python bridge/kobrax_moonraker_bridge.py

3. Configura la impresora

Abre la interfaz web: http://IP-DEL-PUENTE:7125

En el primer inicio, la pestaña Impresoras muestra "+ Añadir impresora" — solo introduce la dirección IP de la impresora, el resto (usuario, contraseña, ID de dispositivo) se obtiene de la impresora y se desencripta automáticamente. Listo.

¿Más de una impresora? Simplemente haz clic en "+ Añadir impresora" de nuevo — cada una recibe su propio puerto (7125, 7126, …) y se puede seleccionar desde el menú desplegable del encabezado.

4. Conecta OrcaSlicer

Impresora → Tipo de conexión Moonraker → Host: http://IP-DEL-PUENTE:7125

⚠️ El tipo de conexión debe ser Moonraker (no "Bambu" ni "Klipper"). Introduce la URL completa incluyendo http:// y el puerto :7125 en el campo de host.


📺 Vídeo tutorial

Configuración y uso de KX-Bridge


🎨 Slicer recomendado

Para una sincronización de filamento AMS correcta ofrecemos una versión modificada de OrcaSlicer:

Lanzamientos de OrcaSlicer-KX (Linux AppImage + Windows ZIP)

PRs upstream incluidos en el build KX:

  • PR #13372 — Corrección de sincronización Moonraker / Happy-Hare AMS (las posiciones de las ranuras se mantienen correctas incluso con ranuras vacías)
  • PR #13719 — Coincidencia de Vendor + Nombre para Moonraker (lee name + vendor_name por ranura y los empareja con los presets de filamento del usuario), por @LordGuenni
  • PR #13315filament_id único para presets de usuario (los perfiles nuevos reciben un ID nuevo en vez de heredar OGFL99 del padre genérico), por @mrnoisytiger

Más cuatro mejoras específicas de KX encima:

  • Respetar el hint de filamento del puente (tray_info_idx + vendor)
  • Coincidencia por vendor incluso cuando el preset base no es is_compatible con la impresora activa (así un perfil copiado de otra máquina sigue coincidiendo por vendor)
  • Coincidencia por vendor cuando tray_info_idx está definido pero su preset es incompatible
  • Búsqueda de dos pasadas: primero presets compatibles, luego todos los visibles

Por qué importa: sin #13719 todas las ranuras AMS caen en Generic PLA / Generic PETG aunque el puente ya envíe la marca concreta (name + vendor_name + gate_filament_name). Con el build KX, OrcaSlicer coincide con tus presets de usuario reales — incluyendo los perfiles que importaste al puente vía Importa tus propios perfiles de OrcaSlicer.

OrcaSlicer upstream también funciona para rebanar e imprimir — solo pierdes la coincidencia de vendor por ranura en la sincronización AMS. El material y color por ranura se pueden empujar puente → impresora con cualquier slicer (eso va por MQTT, no por el slicer).

OrcaSlicer-KX es un build de OrcaSlicer (AGPL-3.0); el código fuente de cada PR upstream está en GitHub, los parches específicos de KX en el repo OrcaSlicer-KX.


🏠 Comunidad e integraciones

  • Integración con Home Assistant por @gangoke — expone sensores, controles de impresión, luz, cámara y la vista previa del GCode como entidades nativas de Home Assistant.
  • Obico (autoalojado) — el puente expone una API compatible con Moonraker que moonraker-obico acepta, así obtienes Time-Lapse y streaming en vivo WebRTC contra tu propio servidor Obico. La detección de fallos por IA es experimental en la Kobra X (el ángulo cenital de la cámara difiere del que el modelo fue entrenado).

Estos son proyectos de la comunidad, no mantenidos ni soportados por KX-Bridge. Para preguntas o problemas, utiliza el repositorio enlazado.


🔧 Obtener credenciales manualmente

Normalmente no es necesario — "+ Añadir impresora" lo hace automáticamente. Si lo necesitas:

fetch_credentials --ip 192.168.x.x --write-config

Obtiene las credenciales directamente de la impresora vía HTTP y las escribe en config/config.ini. Solo se requiere la IP de la impresora, no hace falta un slicer.

Alternativamente (si se desconoce la IP): abre AnycubicSlicerNext, conecta la impresora, luego ejecuta extract_credentials → muestra usuario, contraseña, ID de dispositivo y la IP de la impresora.

Descargas: Lanzamientosfetch_credentials / extract_credentials (Linux y Windows)


⚙️ Comandos útiles

docker compose logs -f                 # mostrar registros
docker compose down                    # detener el puente
docker compose pull && docker compose up -d   # actualizar a la imagen publicada más reciente
docker compose up -d --build           # recompilar localmente (en lugar de descargar)

🩹 Solución de problemas

"Credenciales MQTT incorrectas" al iniciar
  • Vuelve a añadir la impresora mediante "+ Añadir impresora", o ejecuta fetch_credentials --ip <ip> --write-config y reinicia el puente
  • Introduce solo la dirección IP, sin puerto (✗ 192.168.1.102:9883 → ✓ 192.168.1.102)
Impresora no encontrada / modo LAN no activado
  • En la pantalla de la impresora: Ajustes → Activar modo LAN
  • La impresora y el puente deben estar en la misma red
Docker: Permiso denegado
sudo usermod -aG docker $USER   # luego cierra la sesión y vuelve a iniciarla
Actualizar desde 0.9.1 o anterior

A partir de 0.9.2, KX-Bridge almacena la configuración en config/config.ini en lugar de .env. La migración se ejecuta automáticamente en el primer inicio después de la actualización — no requiere acción.


🔒 Seguridad

  • El puente es accesible en la red local en http://<IP-del-host>:7125no lo expongas a internet
  • config/config.ini contiene las credenciales de la impresora — no las compartas públicamente
  • Las credenciales no otorgan acceso a los servicios en la nube de Anycubic

📄 Licencia

License: GPL v3

KX-Bridge se publica bajo la GNU General Public License v3.0. Consulta LICENSE para el texto completo. Las bifurcaciones y modificaciones deben permanecer bajo GPLv3 si se redistribuyen.

La implementación del protocolo MQTT es el resultado de una ingeniería inversa independiente con fines de interoperabilidad (§69e UrhG / Directiva de Software de la UE Art. 6). El material de terceros en el repositorio (certificados TLS de Anycubic) no está cubierto por GPLv3 y se incluye únicamente para permitir la autenticación contra impresoras que el usuario final ya posee. Consulta NOTICE.md para más detalles y el aviso legal.

Este proyecto es independiente y no está afiliado con Anycubic.


Si KX-Bridge te ayuda, el proyecto agradece tu apoyo:

Ko-fi