Instalando Klipper en mi impresora 3D, Artillery Genius Pro

Como ya comenté en el post anterior, por fallo de mi pantalla LCD de la impresora 3D Artillery Genius Pro, decidí instalar Klipper en vez de Marlín en vez de gastarme el dinero en comprar un repuesto del TFT. Si quieres saber los motivos puedes leer el post anterior.
Voy a hacer un resumen de los pasos seguidos para poner Klipper, ya que no fue tan sencillo ni directo como a priori parecía. Para la instalación de Klipper hice uso de una pequeña SBC Orange Pi Zero 2 ,que tenía en casa en desuso, por cambiar mis pequeñas placas SBC (Raspberry Pi, Orange Pi,...) por un servidor más potente y con más posibilidades con procesador N100, pero eso igual, ya os lo contaré más adelante.
Para la instalación de Klipper y los programas necesarios en la Orange Pi Zero 2 seguí el tutorial de este Link:

Preparación de la Orange Pi Zero para instalar Klipper

Por resumir un poco el proceso, los pasos son los siguientes:
    Grabar la imagen del sistema operativo en la SD con BalenaEtcher.
    Encender Orange Pi conectado al router con cable y acceder por SSH para configurar.
      ssh root@192.168.xx.xx 
        Puedes consultar la IP de tu OrangePi de varias formas. En mi caso usé el interfaz web del router de mi ISP.
      Password: orangepi
    Cambiar el password de super usuario root con el comando: passwd
    Actualizar sistema
      apt update && apt upgrade -y
    Como el script de instalación está basado en raspberry pi y el usuario que hace este por defecto es PI, vamos a crearlo para evitar problemas.
      adduser pi
        Puedes dejar vacío todos los campos y poner un password (se recomienda que sea fuerte)
      Agregamos el usuario nuevo al grupo de sudo.
        adduser pi sudo
      Borramos el usuario orangepi por seguridad
        userdel -r orangepi
    Nos logamos como usuario pi
      su -l pi
    Si vamos a hacer uso de wifi, porque la impresora no tiene cerca una toma de cable ethernet, podemos configurarlo con el comando nmtui-connect
nmtui para la configuración del wifi

Instalación de Klipper en la Orange Pi Zero 2

    Instalamos el software necesario que será:
      Klipper
      Moonranker
      Mainsail (interfaz web). De estas hay varias y puedes experimentar con varias si tu quieres
    Para la instalación de estas herramientas vamos a hacer uso de un script que lo facilita todo muchísimo. Es el script Kiauh
      # Actualizar e instalar git
      sudo apt-get update && sudo apt-get install git -y
      # Descargar el git en la carpeta del usuario PI
      cd ~ && git clone https://github.com/dw-0/kiauh.git
      # Ejecutar el script
      ./kiauh/kiauh.sh
    Ahora verás un menú muy sencillo que con números podrás instalar las diferentes herrramientas. Para ello pulsaremos:
      1) [Install]
      1) [Klipper]
        Escoge Python 3
        Número de instancias 1, si solo lo vas a hacer con una impresora.
        Yes
      2) [Moonraker]
      Instalamos la interfaz web, en mi caso 3) [Mainsail]
Ventana inicial del script Kiauh
Ya tenemos Klipper, Moonranker y Mainsail instalados. De hecho, ya podemos acceder al interfaz web a través de tu IP en el navegador pero aún no podrás hacer nada. Ahora falta el paso, que más se me complicó, que es el de flashear la placa base de la impresora para que haga de interfaz con el PC con Klipper.
La opción sencilla, que a mi no me funcionó, es hacerla directamente con el script. Para ello necesitamos tener la Orange Pi conectada a la Impresora por USB (no es necesario dar alimentación a la impresora ya que la propia placa se alimentará del puerto USB). Deberemos poner la impresora en modo DFU. Para ello podemos hacerlo con Pronterface con el gcode M997 como hicimos en el post de actualizar la impresora con el sistema Marlin. Actualizar Artillery Genius Pro
Si esta opción no funciona correctamente, se puede hacer un puente sobre la propia placa sobre los pines Boot-3.3V
Puedes usar un jumper o un interruptor como en mi caso.
Has de abrir la placa inferior de la impresora para desconectar la pantalla de la Artillery y ya de paso anota el modelo de tu procesador. En mi caso es un STM32F401, esto va a ser necesario para el siguiente paso.
Si ya tenemos la impresora en modo DFU y hacemos un lsusb sobre la Oragenpi conectada a la impresora con USB, veremos algo como esto.
Ahora generaremos el firmware con el script y lo grabaremos en la placa (si te deja).
Para ello en el script seleccionamos 4) [Advanced] - Build and flash.
A la hora de flashear te pedirá varios campos, entre ellos el modelo de procesador, en mi caso el STM32 F401
Si ha ido todo bien tendrás la placa flasheada y podrás quitar el jumper que pone la impresora en modo DFU y continuar con la configuración.
Si te pasa como a mi que no se flashea, la solución por la que opté fue coger el archivo klipper.bin que se ha generado. Pasadlo a un ordenador donde tengamos instalado el STM32 programmer y quemarlo en la placa (el proceso es como actualizar el firmware que vimos en Marlín).
Consejo es hacer una copia de seguridad del sistema Marlín que venía por si quieres hacer una marcha atrás.
Y una vez hecho esto ya tenemos todo instalado. Solo faltará configurar el archivo printer.cfg desde el propio Mainsail para comunicar con la impresora.
Necesitaremos saber el puerto donde está conectada la impresora para decírselo a Klipper, para ello ejecuta:
ls /dev/serial/by-id/*
Esa información la deberemos pegar en un bloque del fichero printer.cfg que será este:
[mcu]
serial: /dev/serial/by-id/usb-Klipper_stm32f401xc_4F0048000A504E3755343220-if00
restart_method: command

El archivo Printer.cfg

Este fichero es donde vamos a hacer todos los ajustes y modificaciones de Klipper.
El usuario de Git Dviros se ha currado un fichero para la Artillery Genius Pro y podemos usarlo como base para la nuestra y a partir de ahí proceder con nuestras calibraciones y modificaciones.
En próximos post iré aprendiendo a configurar correctamente la impresora con Klipper.