CÓMO INSTALAR OCTOPRINT/KLIPPER EN UN SBC: TUTORIAL.

IDEA 1.61.

Cuando se piensa en las actualizaciones de las impresoras 3D, una de las primeras cosas que vienen a la mente es el control remoto a través de OctoPrint o Klipper. La posibilidad de vigilar la impresora mientras estás fuera de casa abre un nuevo abanico de posibilidades (y te da cierta tranquilidad). 

Tanto OctoPrint como Klipper requieren un ordenador externo para funcionar y comunicarse con la impresora. La mayoría de los usuarios los instalan en una Raspberry Pi, que es un ordenador de placa única (SBC, por sus siglas en inglés). Es pequeño, barato, eficiente y fácil de programar. Por desgracia, no es ningún secreto que las Raspberry Pis son casi imposibles de conseguir hoy en día, principalmente debido a la continua escasez de chips. Por suerte para nosotros, hay un montón de alternativas baratas (incluyendo sustitutos) que son perfectas para nuestros propósitos.

A veces es difícil encontrar un tutorial de instalación para un modelo específico. Este artículo es una guía paso a paso (más o menos) universal sobre cómo ejecutar Klipper y OctoPrint en cualquier SBC de su elección. Siga leyendo para saber cómo hacerlo usted mismo.

Antecedentes:

Vea su impresora 3D en acción (Fuente: OctoPrint).

Entonces, ¿qué hacen realmente OctoPrint y Klipper? OctoPrint es una interfaz de control web que se ejecuta en un ordenador independiente. Interactúa con un firmware de máquina preexistente, como el siempre popular Marlin. Le permite dar órdenes a distancia a su impresora, así como supervisar el estado de un trabajo, incluso a través del flujo de vídeo de una cámara web. Puedes acceder a él desde cualquier navegador de un PC conectado a tu red doméstica.

Klipper, por su parte, es un firmware independiente que se ejecuta en la placa base de la impresora y en un módulo informático independiente. También se controla y programa a través de una interfaz web y ofrece un conjunto de funcionalidades destinadas a mejorar la velocidad de impresión y reducir las vibraciones.

Aunque ambos son autosuficientes e independientes entre sí, se puede configurar la interfaz de OctoPrint para controlar Klipper. Esto es especialmente útil para aquellos que ya tienen OctoPrint instalado o pretenden tener todo en la misma página. Cubriremos el procedimiento en el resto de este artículo, así que quédese para saber más sobre el proceso.

Resumen.

Comienza con el SBC de tu elección, como este encantador Orange Pi (Fuente: Orange Pi).

Aunque pueda parecer mucho, esta guía no requiere ninguna habilidad o conocimiento adicional. Además, utilizaremos herramientas conocidas y bien documentadas con un procedimiento estandarizado. Si quieres profundizar en algún paso, puedes encontrar fácilmente la respuesta a tus preguntas en varias fuentes:

En este artículo, repasaremos lo siguiente:

  • Selección del hardware y el software adecuados: Klipper y OctoPrint requieren ciertas capacidades de hardware y software para ser instalados y funcionar correctamente. Principalmente, un ordenador monoplaca (SBC) en el que funcionar, y otro PC con software específico para ayudar en el procedimiento de instalación. En este artículo, recomendamos un conjunto de herramientas y accesorios en la sección de Requisitos.
  • Instalación de un SO en el SBC: Antes de que Klipper u OctoPrint puedan ser instalados o ejecutados, un sistema operativo tiene que ser configurado como la capa base sobre la que construir. Utilizaremos el sistema operativo libre y de código abierto Linux, ya que es el más extendido entre los fabricantes de SBC.
  • Conexión remota al SBC: Para controlar la placa a través de la red, usaremos PuTTY y su interfaz de comandos. Esto es necesario para aquellos que no tienen un monitor y un teclado para conectar o quieren controlarlo desde otro ordenador.
  • Instalación de Klipper y OctoPrint: Para esta parte, la herramienta de nuestra elección es KIAUH, que agiliza el proceso de instalación reduciendo las entradas del usuario al mínimo y añadiendo una interfaz gráfica. También ayuda a gestionar las actualizaciones y la eliminación de cada componente. Cubriremos cómo instalar KIAUH desde la línea de comandos y todos los demás componentes.
  • Flashear el firmware de Klipper en la placa base de su impresora: Klipper requiere que una parte del código se ejecute en la placa base de la impresora para poder comunicarse con ella. La utilidad de flasheo de KIAUH le guiará a través del proceso.
  • Configuración de OctoPrint para comunicarse con Klipper: Para aquellos que buscan controlar todo desde una sola interfaz, es sólo cuestión de instalar un plug-in de la biblioteca oficial. Este es un paso adicional, no un requisito.

Empecemos por lo básico y repasemos lo que vamos a utilizar en este tutorial.

Requerimientos:

La Orange Pi 3 LTS tiene un montón de E/S para nuestro caso de uso (Fuente: Amazon).

Aunque es posible instalar OctoPrint o Klipper en cualquier ordenador con Linux, es necesario cumplir algunos requisitos. Esto es para asegurar una experiencia fluida sin ningún tipo de hipo o degradación del rendimiento. Puede obtener más información en la documentación oficial de Klipper.

Requisitos de hardware.

Su ordenador necesitará los siguientes componentes de hardware para ejecutar OctoPrint o Klipper:

  • Una placa base compatible: Debe ser capaz de flashear el nuevo firmware en la placa de control de su impresora, por lo que cualquier obstáculo (como la falta de conexión USB, la ausencia de bootloader preinstalado o una MCU no compatible) le impedirá instalar Klipper. Resuelve estos problemas antes de continuar con el tutorial.
  • Memoria: Un SBC con al menos 512 MB de RAM, siendo 1 GB la cantidad sugerida. Se recomienda una CPU ARM64. Para este ejemplo, usaremos la Orange Pi 3 LTS ya que es fácil de encontrar a un precio bajo. En caso de que el SBC utilice una ranura para tarjetas SD como disco del sistema, la propia tarjeta tiene que ser una unidad fiable, preferiblemente con velocidades de clase U1. Se recomiendan al menos 8 GB de almacenamiento.
  • Fuente de alimentación: La fuente de alimentación del SBC debe cumplir con las especificaciones del fabricante de la placa, para evitar reinicios involuntarios por picos de tensión.
  • Conexión a la red: El SBC tiene que conectarse a la red local de alguna manera, ya sea por LAN o por Wi-Fi. En términos prácticos, tiene que tener un módulo Wi-Fi instalado y/o un puerto LAN.
  • Conexión USB a la impresora: Al menos uno , aunque es deseable tener al menos dos puertos USB para conectar el ratón y el teclado para una eventual sesión de depuración. En nuestro caso, la Orange Pi tiene tres puertos USB-A, además de un conector USB-C de sólo alimentación.
  • Cable de datos USB a la placa de la impresora: Uno de confianza para conectarlos.

Requisitos del software.

También necesitará las siguientes características de software:

  • Un sistema operativo Linux que esté basado en Debian. Puede ser Armbian, Ubuntu, la propia Debian, DietPi o cualquier otra distribución que cumpla los requisitos. Esto es necesario para ejecutar KIAUH, que utiliza el comando sudo para ejecutar la utilidad de instalación. Utilizaremos la imagen oficial de Debian para nuestra Orange Pi 3 LTS, ya que es ligera y cuenta con algunas herramientas que facilitan la experiencia del usuario. Puedes consultar la lista de SOs disponibles para tu placa en la página de producto del fabricante.
  • Un ordenador con conexión a Internet y un conjunto de programas instalados:

Ahora, ¡vamos a sumergirnos en la guía propiamente dicha!.

SBC: Configuración e instalación del sistema operativo.

BalenaEtcher sigue una configuración de 3 pasos para flashear la tarjeta SD (Fuente: Matteo Parenti vía All3DP).

Una vez que hayas recuperado y desempaquetado el archivo de imagen para el sistema operativo de tu elección, puedes utilizar BalenaEtcher para flashearlo en tu SD. Con la tarjeta conectada al PC, siga las instrucciones en pantalla para seleccionar el archivo de imagen, la tarjeta SD de destino y el flash.

Configurar el Wi-Fi.

Una vez terminado, se requiere un paso adicional para decirle al SBC que se conecte a la Wi-Fi al iniciar. Puedes omitir este paso si planeas conectarte a través de una LAN (recomendado) o utilizar un monitor directamente.

Para ello, abre la carpeta de la tarjeta SD y actualiza los archivos con el editor de texto que prefieras. En el caso de DietPi:

  • Abra el archivo llamado dietpi.txt. Busque AUTO_SETUP_NET_WIFI_ENABLED y ponga el valor 1.
  • Abra el archivo dietpi-wifi.txt y establezca aWIFI_SSID[0] con el nombre de su red Wi-Fi.
  • En el mismo archivo dietpi-wifi.txt, establezca aWIFI_KEY[0] como la contraseña de su red Wi-Fi.
  • Guarde y cierre los archivos.

Este procedimiento y los archivos de destino varían de un sistema operativo a otro, pero siempre se describen en las guías y manuales de los primeros pasos. No tengas miedo de consultar las instrucciones específicas de cada sistema operativo.

Instalación del sistema operativo.

Ahora estamos listos para insertar la tarjeta en nuestro SBC y encenderlo. El primer arranque puede tardar un poco. En caso de que estés usando un monitor, probablemente verás un montón de comandos desplazándose. Deja que termine y no lo apagues.

PuTTY mostrará una ventana de terminal que le permitirá controlar el SBC (Fuente: Matteo Parenti vía All3DP).

Configurar el acceso remoto.

Si vas a acceder remotamente a la placa desde otro PC vía LAN o Wi-Fi, vas a necesitar su dirección IP.

Después de que la secuencia de arranque haya terminado (normalmente señalada por un LED parpadeante), ejecuta el escáner de IP de tu elección desde tu PC y comienza a escanear (necesitas estar conectado a la misma red que la placa).

  • Busca un dispositivo con un nombre que se parezca a tu sistema operativo o a la placa de tu elección.
  • Copia la dirección IP, puntos incluidos.
  • Abre PuTTY, y pega la IP en la barra de direcciones.
  • Deja el “Puerto” en el valor por defecto, y selecciona “SSH” para el tipo de conexión.
  • Haz clic en “Abrir”.

Ahora debería estar conectado remotamente a su SBC. La ventana que ves ahora es un terminal completo que puedes operar remotamente. Puedes copiar texto simplemente resaltándolo, pegarlo con un clic derecho, y enviar un comando presionando enter. Recuerda que si cierras PuTTY, también cierras la sesión de terminal y los procesos en curso con ella. Tendrás que volver a empezar con todo lo que interrumpiste en una nueva sesión.

Podemos iniciar la sesión con el nombre de usuario y la contraseña de root (en este caso nombre de usuario: root, contraseña: dietpi). Estas credenciales se mencionan en la documentación del sistema operativo. A continuación, puedes seguir las instrucciones en pantalla para configurar un nuevo nombre de usuario y contraseña.

Actualizar el sistema operativo.

Una vez que estés preparado, puedes actualizar tu sistema operativo y los paquetes a la última versión con el comando sudo apt-get dist-upgrade -y. Sigue las instrucciones en pantalla para proceder a la actualización. Una vez que haya terminado (se reiniciará por sí mismo), puedes continuar con la instalación de Klipper.

SBC: Instalación de Klipper y OctoPrint a través de KIAUH.

La interfaz de KIAUH en la primera puesta en marcha (Fuente: Matteo Parenti vía All3DP).

Para agilizar el proceso de instalación, reducir los comandos y ahorrar tiempo, vamos a utilizar KIAUH, el Klipper Installation And Update Helper. Esta herramienta es simple pero extremadamente efectiva. Incorpora scripts para automatizar la instalación de cada componente. A partir de una sola entrada del usuario, puede instalar todo lo que necesite. Vamos a seguir un sencillo proceso de 3 pasos para instalar todos los paquetes y herramientas necesarios, directamente desde la línea de comandos. Recuerda que los pasos son procedimentales. No te saltes nada ni los ejecutes en un orden diferente.

Instalar el paquete de GitHub.

Para empezar, necesitamos instalar el paquete Git. Esto nos permitirá copiar los repositorios de GitHub que necesitamos sin necesidad de abrir un navegador. Ejecuta el comando sudo apt-get install git -y y autorízate con la contraseña del sistema.

Clonar KIAUH.

Ahora que tenemos instalado Git, podemos copiar el repositorio de GitHub donde se almacena KIAUH:

  • Elegimos el directorio de destino con el comando cd ~.
  • Clonamos el repositorio con git clone https://github.com/th33xitus/kiauh.git.
  • Ejecutamos el script con ./kiauh/kiauh.sh.
Una instalación satisfactoria debería ofrecerle esta imagen (Fuente: Matteo Parenti vía All3DP).

Instalar Klipper y otros componentes.

Ahora aparecerá un nuevo menú. Puede navegar por él introduciendo el número correspondiente al submenú o función que desee ejecutar.

  • Introduzca 1 para el submenú [Instalar].
  • Seleccione 1 de nuevo para instalar [Klipper] con Python 2.7.
  • Cuando se le pida, especifique cuántas instancias desea instalar (una por cada impresora que desee conectar). En este caso, sólo ejecutaremos una instancia.
  • También puede dejar que KIAUH cree la carpeta por defecto para guardar sus archivos .gcode (tarjeta SD virtual) y añadir algunas macros útiles y universales.
  • Una vez completada la configuración, puede seguir la misma interfaz para instalar Moonraker y Mainsail o Fluidd, y si lo desea, OctoPrint.

Desde KIAUH también puede actualizar, eliminar, cambiar de versión e instalar todos los paquetes, incluyendo KlipperScreen, Obico para Klipper (antes Spaghetti Detective), el Telegram Bot y el MJPG-Streamer para la transmisión de la cámara web.

Si está interesado en utilizar sólo OctoPrint sin Klipper, puede saltarse los pasos 2-4 y consultar nuestra guía sobre cómo instalar OctoPrint.

Placa de la impresora: Preparando y Flasheando el Firmware.

El menú del flash se puede navegar con las teclas de flecha (Fuente: Matteo Parenti vía All3DP).

Después de instalar todas las dependencias necesarias (Moonraker y una interfaz web de tu elección), procede a flashear la placa base de la impresora 3D. No necesitarás compilar nada, ya que KIAUH lo hará todo por ti. Sólo tienes que seleccionar la configuración correcta para tu placa. Puedes encontrar una lista de configuraciones de ejemplo (con los ajustes de flasheo recomendados en la parte superior) en el repositorio de Klipper. Esto también será útil más adelante.

Usaremos la BTT SKR Mini E3 V3 como ejemplo. Los archivos de configuración recomiendan compilar para el STM32G0B1 con un “bootloader de 8KiB” y comunicación USB.

Preparación.

En KIAUH:

  • Abra el menú 4 [Advanced] y seleccione “Build+Flash” para construir y flashear el nuevo firmware. En este punto, la impresora debe estar encendida y conectada al SBC.
  • Si se le pide que añada el usuario actual al grupo de marcación, acepte y continúe.
  • Habilite las “opciones de configuración extra de bajo nivel”.
  • En “Arquitectura del microcontrolador”, desplácese hasta encontrar “STMicroelectronics STM32”.
  • En “Modelo de procesador”, seleccione el “STM32G0B1”.
  • En “Bootloader offset”, seleccione “8KiB Bootloader”.
  • En “Interfaz de comunicación” seleccione “(USB (en PA11/PA12))”. Si desea conectarse a la impresora a través del bus CAN o UART, puede seleccionar una opción diferente.
  • Guardamos con ‘Q’ y confirmamos con ‘Y’.
WinSCP es genial para transferir y hacer copias de seguridad (Fuente: Matteo Parenti vía All3DP).

Flasheando.

Ahora nuestro firmware está listo para ser flasheado. Podemos hacerlo de dos maneras, dependiendo de lo que sugieran los archivos de configuración:

  • A través de la conexión USB.
  • Guardándolo en una tarjeta SD y conectándola a la impresora.

En nuestro caso, tendremos que optar por la segunda opción. Pero antes, tenemos que recuperar el archivo binario del firmware que hemos compilado y llamado klipper.bin. Para ello, necesitaremos conectarnos remotamente a nuestro SBC a través de WinSCP:

  • En su ordenador, abra la aplicación WinSCP e inicie un “Nuevo Sitio”.
  • Introduzca la dirección IP de su SBC para el “Nombre de host” y cambie el “Protocolo de archivo” a “SFTP”.
  • Introduzca el nombre de usuario y la contraseña, y haga clic en “Login”.
  • Abra la carpeta “klipper” y luego la carpeta “out”. Localice el archivo de firmware etiquetado como klipper.bin.
    Inserte la tarjeta MicroSD de la placa base de la impresora en su dispositivo y formatéela.
  • Copie y pegue (o arrastre y suelte) el archivo klipper.bin en su tarjeta MicroSD insertada, y cambie el nombre si es necesario. En nuestro caso, debemos cambiarlo por firmware.bin, según las instrucciones de configuración.
  • Apague la impresora, inserte la tarjeta MicroSD en su máquina y vuelva a encenderla.
  • Espera unos minutos para asegurarte de que el firmware se ha actualizado, y luego conecta tu SBC a la impresora recién flasheada.

Klipper está ahora en funcionamiento, pero no estamos listos para imprimir todavía. Todavía tenemos que recuperar el ID de nuestra MCU y crear el archivo de configuración.

¡Vamos a ver cómo configurarlo!.

Conectando el SBC y la impresora.

El ID de la MCU es la cadena de texto resaltada en azul (Fuente: Matteo Parenti vía All3DP).

El MCU ID es una ruta que identifica un microcontrolador con Klipper activado. La aplicación del lado del host lo utilizará como referencia para saber a dónde enviar las instrucciones cuando se conecten varios dispositivos al SBC. Es necesario incluirlo en los archivos de configuración.

Recuperación del ID.

Para recuperar el ID específico de su impresora:

  • En KIAUH, navegue hasta “[Avanzado] > [Obtener el ID de la MCU]”.
  • Conecte la impresora y elija el método de conexión que esté utilizando.
  • Copia la dirección completa en el resultado (por ejemplo, “/dev/serial/by-id/usb-Klipper_stm32g0b1xx_36003F000450415339373620-if00”) y guárdala para más adelante.

Como se ha comentado anteriormente, cada impresora requiere un archivo de configuración que incluye definiciones de pines, configuraciones y las macros Klipper. Una vez que hayas encontrado uno que se adapte a tus necesidades, puedes copiarlo por completo.

Mainsail utiliza el resaltado de texto para ayudarle a editar el código (Fuente: Matteo Parenti vía All3DP).

Añadir la impresora al SBC
Puede abrir la interfaz web escribiendo la dirección IP de su SBC en la barra de búsqueda del navegador. En la interfaz de control que aparece:

  • Añade una nueva impresora con la dirección IP del SBC y el puerto por defecto 7125.
  • Navega hasta el menú Máquina y abre el archivo printer.conf.
  • Pegue el código aquí.
  • Bajo “[mcu]”, en la línea “serial:”, pega el ID de la MCU (elimina cualquier ruta anterior).

Ahora estás listo para reiniciar el firmware y conectarte a tu impresora. Recuerda que si hiciste alguna modificación, actualización o intercambio de pines, necesitas cambiar el printer.conf original para reflejar esos cambios. Consulte la Referencia de Configuración de Klipper para una explicación más detallada.

Instalación de OctoKlipper.

OctoKlipper’s interface will feel familiar to those already used to OctoPrint (Source: thelastWallE via GitHub).

Si le gusta la interfaz, los plug-ins, o simplemente la sensación, puede controlar Klipper a través de OctoPrint con una extensión de plug-in. No necesitará Mainsail ni Fluidd, pero sí Moonraker.

  • En el menú de configuración de OctoPrint, navegue hasta el gestor de plugins.
  • Busque el plug-in OctoKlipper e instálelo.
  • Reinicie OctoPrint.

Ahora puede controlar todos los aspectos de Klipper desde la interfaz de OctoPrint. Disfrute. 

Artículo original disponible en: 3ALLDP.