octoprint

Octoprint: Gestiona tu impresora 3D remotamente con Raspberry Pi y Octopi

Hoy en 3DWork.io os traemos un interesante artículo sobre cómo configurar una Raspberry Pi con Octoprint muy fácilmente, para poder gestionar una o varias impresoras 3D remotamente desde cualquier navegador web. Espero y deseo que pueda serviros de utilidad.

Como siempre os recuerdo que disponemos de una gran comunidad en nuestro canal de Telegram donde poder exponer vuestras dudas y consultas. Podéis uniros a nosotros en el siguiente enlace.

 

 

Introducción: ¿Qué es Octoprint?

Octoprint server2

Básicamente, Octoprint es una aplicación Open-Source completamente gratuita que nos permite monitorizar y gestionar nuestra impresora 3D de forma remota utilizando una Raspberry Pi.

De esta forma, y con nuestro navegador web preferido, podremos efectuar nuevas impresiones, monitorizar la temperatura de nuestra cama o boquilla (nozzle), ver en vídeo nuestra impresión en tiempo real y muchas otras cosas más.

El proceso de instalación y configuración es extremadamente sencillo, así que sin más dilación… !Vamos a ello!

 

Componentes necesarios

En principio se puede instalar y configurar Octoprint en cualquier Raspberry Pi. No obstante, se recomienda utilizar Raspberry Pi 3B o superior. En ningún caso se debe utilizar Raspberry Pi Zero W, ya que se han encontrado problemas con la WiFi generando problemas durante la impresión, como podéis comprobar en el siguiente enlace.

Otro detalle a tener en cuenta es que Raspberry Pi dispone de un conector para añadir cámaras web en la propia placa. No significa necesariamente que debas utilizar este tipo de cámara, si dispones de una webcam normal es muy probable que sea compatible y puedas utilizarla. De esta forma no tendrás que adquirirla aparte y desembolsar ese dinero.

Yo en mi caso tenía por casa una Webcam Logitech C270 (que utilizaba en un Scanner 3D). Así que decidí darle de nuevo un uso, ya que funciona perfectamente con una resolución a 720p. Simplemente debes conectarla por USB a la Raspberry Pi y ella la detectará automáticamente, no precisas de instalar ningún driver.

En caso de utilizar las últimas Raspberry Pi 4, es más que recomendable instalar un ventilador o disipador, ya que en estos modelos la temperatura causa graves problemas de rendimiento.

Raspberry Pi Amazon Logo PNG e1579685453346 aliexpress logo
Tarjeta MicroSD + Lector Amazon Logo PNG e1579685453346 aliexpress logo
Raspberry Pi cámara   (opcional) Amazon Logo PNG e1579685453346 aliexpress logo
Cable extensor cámara 610mm   (opcional) Amazon Logo PNG e1579685453346 aliexpress logo
Fuente alimentación 2.5A Amazon Logo PNG e1579685453346 aliexpress logo

 

Instalando Octoprint Server

Arduino monitor3

Para instalar Octoprint iremos directamente a su página web, y nos meteremos en la sección Download. Allí encontraremos una imagen del sistema operativo Raspbian completamente preconfigurada y con el servidor de Octoprint activado, denominada Octopi. De esta forma, no tendremos que instalar el sistema operativo desde cero, ni pelear con tediosas configuraciones y problemas.

La descarga se encuentra disponible en formato ZIP. Una vez descargado descomprime el archivo en tu escritorio. Será una imagen del sistema operativo Raspbian con extensión *.IMG.

Para copiar la imagen a la SDCard utilizaremos el programa gratuito Etcher, que puedes descargarlo desde el siguiente enlace. Carga el fichero de imagen, selecciona la unidad correcta (no te equivoques con esto), y comienza el proceso. Tras unos minutos, tendrás tu imagen de Raspbian + Octoprint Server correctamente instalada en la SDCard y solo deberás pinchar de nuevo la memoria en tu Raspberry Pi.

 

Impresoras 3D soportadas

Existe en Github un listado de impresoras reportadas por los propios usuarios donde confirman que funciona perfectamente. Aquí tienes el enlace directo.

Si tu impresora no aparece no te preocupes, no significa de ningún modo que no se encuentre soportada. Puede ser que simplemente nadie la haya testeado y confirmado.

 

Conectando Octoprint a nuestra WiFi

Configurar la conexión de Octoprint se efectua editando un archivo de texto que se encuentra en la SDCard. Conectaremos la tarjeta de memoria a nuestro PC usando el adaptador y buscaremos un archivo denominado octopi-wpa-supplicant.txt.

Ahora editaremos el archivo utilizando algún editor de textos. En este punto, tengo que hacer hincapié en que no utilices de ninguna forma el Notepad de windows o cualquier otro editor de texto «enriquecido», ya que al salvar el archivo y subirlo a la Raspberry Pi, puede darnos infinidad de problemas.

Yo personalmente utilizo Sublime, pero dispones de decenas de opciones, como AtomVimVS CodeNotepad++ y muchos otros más. Todos funcionan muy bien, simplemente es adaptarte al que más te guste.

Una vez editado el archivo octopi-wpa-supplicant.txt procederemos a modificarlo. En esta sección descomentamos las lineas donde indicamos red y contraseña WiFi y pondremos nuestros datos.

## WPA/WPA2 secured
network={
ssid="mi-red-wifi"
psk="mi-contraseña"
}

 

Con esto, ya estarían configurados los datos que nuestra Raspberry Pi usará para conectar a la WiFi de nuestra red. No obstante, si nuestra red está oculta, deberemos añadir una línea extra: scan_ssid=1

Por último, si utilizamos Raspberry Pi 3B+ o algún modelo más nuevo, deberemos obligatoriamente indicar el código de país, así que añadimos nuestro país como podéis ver a continuación:

# Uncomment the country your Pi is in to activate Wifi in RaspberryPi 3 B+ and above
# For full list see: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
#country=GB # United Kingdom
#country=CA # Canada
#country=DE # Germany
#country=FR # France
country=ES # Spain

 

Listado de paises (ISO 3166-1)

Si resides en otro país que no sea España, puedes encontrar el código del país en este listado. Y bueno, en principio ya estaría configurada nuestra WiFi, así que procedamos a pinchar la SD Card en nuestra Raspberry Pi y a encenderla.

 

Configurando Octoprint

En teoría, y si todo el proceso se ha realizado correctamente, ya deberías poder conectar al servidor Octoprint. Para ello, abriremos nuestro navegador favorito en nuestro ordenador, móvil o tablet y pondremos la siguiente URL:

http://octopi.local

 

Tras cargar la página web en Octoprint en nuestra red local aparecerá el «Setup Wizard» o asistente de configuración. A través de los 7 secciones siguientes, procederemos a configurar nuestro servidor de Octoprint y después lo conectaremos a la impresora 3D. Pues vamos a ello, os pego por aquí las 7 ventanas y las configuramos una por una rápidamente sin más dilación.

 

Asistente de configuración (Setup Wizard)

octopi 1 1

En la primera pantalla Octoprint Server nos da la bienvenida y agradece la instalación del software en nuestra Raspberry Pi. Nada que configurar aquí, así que pasamos a la siguiente ventana apretando el botón Next.

 

octopi 2

En esta sección procederemos a poner los datos de acceso al servidor. Sobra comentar que es muy importante tener el control de acceso siempre activado. Sobre todo, si nuestro ordenador va a ser accesible desde fuera de nuestra red local (por ejemplo Internet).

Escribe aquí tu usuario y contraseña, y apreta el botón Keep Access Control Enabled. Después haz clic en Next y pasaremos a la siguiente ventana.

 

octopi 3

Activar esta información enviará información detallada del uso de Octoprint, y ayudará a los programadores a identificar problemas con nuevas actualizaciones. Si lo deseas puedes activarla o mantenerla desactivada, como tu decidas.

 

octopi 4

En esta sección configuraremos la verificación de conectividad. Octoprint intentará conectar a Internet regularmente según lo indiquemos en Check interval o intervalo de chequeo en castellano. Es recomendable no poner un valor excesivamente bajo, o nos restará ancho de banda innecesario y aumentará el uso de la CPU de nuestra Raspberry Pi.

Por defecto, vienen configurados los DNS de Google (8.8.8.8), puedes cambiarlos si lo deseas.

 

octopi 5

Octoprint mantiene una Blacklist o lista negra, sobre todos los plugins existentes. Activando esta opción, el servidor nos protegerá del uso de algún Plugin malintencionado que pueda existir en un determinado momento. Como en estas cosas siempre hay que ser precavido, recomendamos activar esta opción encarecidamente.

 

octopi 6

Llegados a este punto, deberemos configurar finalmente nuestra impresora. Esta sección consta de otras 4 subsecciones, así que iremos navegando por las cuatro y pondremos toda la información requerida.

En la pestaña General rellenaremos si lo deseamos los campos Name (nombre) y Model (modelo), con la información que deseemos.

En Print bed & build volume añadiremos la morfología de nuestra máquina. Es imprescindible conocer las medidas (print volume) y el tipo de cama que disponemos (cuadrada o redonda). También indicaremos si disponemos de cama calefactable (Heated bed) y Camara calefactada (Heated Chamber).

En la sección Axes configuraremos las velocidades y feedrate de nuestra máquina. Además nos permitirá invertir los motores en caso necesario (Invert control).

Para finalizar, en el apartado Hotend & extruder, configuraremos el diámetro de nuestro Nozzle (Nozzle diameter) y el número de extrusores que tenemos.

Una vez configurado todo esto, pulsaremos como siempre el botón Next para avanzar a la siguiente ventana.

 

octopi 7

Esta es la última ventana del asistente de configuración, la cual no precisa de efectuar nada. Nos informa de que ya está todo listo y nos ofrece un par de consejos y/o recomendaciones. Procedemos a apretar el botón Finish y habremos acabado.

 

Conexión Octoprint a nuestra impresora (vía USB)

Ahora podemos conectar nuestra Raspberry Pi con Octoprint a nuestra impresora. De esta forma, ya podrá enviar comandos y monitorizar todo tipo de procesos en la misma. Como es lógico, deberás conectar un cable USB desde tu Raspberry Pi a la impresora 3D.

Una vez conectada, abriremos el navegador e iremos a la sección Connection. En Serial Port y en Baudrate seleccionaremos la opción AUTO, y en Printer Profile debería aparecer el nombre que previamente dimos a nuestra impresora en el Asistente de configuración.

Pulsaremos el botón Connect y esperaremos unos segundos. Si no ha habido ningún problema, ya podremos ver las temperaturas actualizadas en tiempo real de nuestra impresora 3D.

Si deseamos salvar los datos de conexión y que el servidor web se conecte nada más arrancar, deberemos activar las casillas de Save connection settings y Auto-connect on server startup respectivamente.

 

Conectando nuestra cámara web a Octoprint

Octoprint99

Probablemente, la razón más interesante y obvia de instalar un servidor Octoprint sea la de poder visualizar nuestras impresiones 3D en curso. Bien para verificar que el proceso se está efectuando correctamente, o para parar nuestra impresora remotamente debido a algún error de la misma.

Existen dos tipos de cámaras que podemos utilizar para esta opción. Una cámara Raspberry Pi, o una webcam USB.

 

Cámaras Raspberry Pi

Lo ideal sería usar una cámara Raspberry ya que es lo recomendable en estos casos. De esta forma no tendremos problema alguno. Si vas a utilizar una cámara de este tipo jamás la conectes con la Raspberry Pi encendida.

Siempre, antes de conectarla, asegurate de que tu Raspberry Pi esté completamente apagada y sin ningún tipo de alimentación. Después, conecta la cámara a tu Raspberry Pi y enciendela de nuevo. La conexión la has de efectuar directamente en la placa, en el conector específico que tiene.

 

Webcams USB

Si decides utilizar este tipo de webcams, debes de saber que no todas se encuentran soportadas. En este enlace puedes comprobar cuales están testadas y verificadas. En el caso de que tu cámara se encuentre soportada, simplemente deberás conectarla por USB a tu Raspberry Pi, y ella se encargará de detectarla y ponerla en marcha.

 

Preguntas frecuentes (F.A.Q.)

Conectar a Octopi vía SSH

Puedes conectar a Octopi directamente desde SSH como si de un linux se tratase. Bueno, realmente es una versión de debian optimizada al máximo para correr en máquinas Raspberry Pi sin problema alguno.

Para ello necesitarás un cliente SSH, yo utilizo Putty, puedes encontrarlo en la siguiente página web. Una vez descargado, conecta a la IP de la Raspberry Pi o en su defecto a «octopi.local» por el puerto 22 y se creará una conexión.

Los datos por defecto para el acceso son los siguientes:

User: pi
Password: raspberry

 

Olvidé mi contraseña, ¿Como puedo resetearla?

En el caso de que hayas perdido tu contraseña, puedes restaurarla muy fácilmente ejecutando 3 simples comandos.

Eso sí, deberás acceder vía SSH a tu Raspberry Pi, como hemos explicado en el primer punto (Conectar a Octopi vía SSH). Los comandos a ejecutar son los siguientes:

rm ~/.octoprint/users.yaml
sed -i -e 's/firstRun: false/firstRun: true/g' ~/.octoprint/config.yaml
sudo service octoprint restart

 

¿Puedo gestionar más de una impresora con Octoprint?

La respuesta es no. Gestionar más de una impresora 3D a la vez con Octoprint no esta oficialmente soportado, y requeriría de múltiples instancias del servidor en nuestra Raspberry Pi.

Lo que sí puedes hacer es disponer de varios perfiles y seleccionar el de la impresora que quieres gestionar en ese preciso momento.

 

¿Qué tamaño de tarjeta de memoria mínimo necesito?

Octopi ocupa menos de 1GB, pero precisamos de algo más para poder utilizarlo. Es recomendable para empezar disponer de 4GBs mínimo, con eso sería más que suficiente. Si aparte deseas añadir muchos archivos STL, tendrás que buscar un tamaño superior.

 

¿Puedo añadir Plugins a Octoprint?

Por supuesto, además te ofrecen una gran variedad de herramientas para complementar el uso del servidor. Puedes agregarlos directamente desde el interface de Octoprint, en OctoPrint Settings -> Plugin Manager.

De esta forma, solamente podrás añadir plugins verificados de su listado oficial.

 

¿Donde se guardan los archivos de registro de Octoprint?

Los archivos de registro son una herramienta muy valiosa para poder detectar problemas durante el manejo del servidor. Puedes acceder a todos y cada uno yendo a OctoPrint Settings -> Logging.

 

 

Otros artículos de interés en 3DWork.io: