Como instalar y configurar OctoPi para controlar tu impresora 3D de forma remota

En este tutorial os vamos a enseñar como instalar OctoPi en una Raspberry Pi para poder controlar vuestra impresora 3D de forma remota a través de internet. Con OctoPi instalado podremos controlar nuestra impresora a través de una cuidada interfaz web mediante el ordenador o nuestro Smartphone.

Que es OctoPi

OctoPi Es un sistema operativo basado en Raspbian Con el servidor OctoPi y todo lo necesario para hacerlo funcionar preinstalados, esto incluye:

  • OctoPrint y todas sus dependencias
  • MJPG-Streamer para el visionado en directo y creación de timelapses de tus impresiones, compatible con una gran variedad de webcams, así como de la cámara de Raspberry pi.
  • CuraEngine 15.04 para el “Slicing” de tus creaciones directamente en la Raspberry Pi.

Y a todo esto ¿Qué es OctoPrint?

OctoPrint es una interfaz web para las impresoras 3D que te permite controlar y monitorizar todos los aspectos de tu impresora e impresiones de manera sencilla y rápida desde tu navegador.

Desde esta interfaz podremos hacer de todo:

  • Monitorizar las temperaturas, posición y estado de la impresora.
  • Controlar la temperatura del hotend y la cama caliente.
  • Controlar la posición del extrusor y los ejes xyz.
  • Ejecutar la impresión de los modelos que tengamos.
  • Monitorizar el proceso y gcode de impresión.
  • Monitorizar mediante webcam el proceso de impresión.
  • Realizar timelapses de nuestras impresiones.

En este tutorial os explicaremos como instalar el servidor para dicha interfaz web y como configurarla.

Tutorial de Electroduda

Hardware y Software necesario (A.K.A materiales)

Para poder instalar Octopi en la Raspberry Pi necesitamos los siguientes materiales y aplicaciones:

  • Raspberry Pi: No podemos instalar la aplicación en una Raspberry Pi sin una Raspberry Pi.
  • Tarjeta memoria micro SD: Recomendamos una tarjeta de 8Gb, Indispensable que sea de clase 10 para un funcionamiento fluido.
  • Fuente alimentación y cable: Es recomendable una fuente de alimentación de 5-5.2 V y por lo menos 2.5 A con terminación micro USB.
  • OctoPi: Se puede descargar en el este enlace.
  • SDFormatter: Aplicación de Windows y Mac para formateo de las tarjetas SD, se puede descargar en este enlace.
  • Etcher: Aplicación para grabar la imagen en la tarjeta de memoria, se puede descargar en este enlace.
  • Notepad++: aplicación para edición de texto en Windows, se puede descargar en este (Importante, no uséis el editor de Windows, suele dar problemas)

Preparación de la tarjeta SD

Lo primero de todo será formatear la tarjeta SD mediante el programa SDFormatter.

Tras la instalar el programa lo abrimos y veremos la siguiente ventana:

En la primera casilla seleccionaremos la tarjeta a formatear, después pulsaremos el botón “Format” para iniciar el formateo.

Tras el formateo saldrá la siguiente ventana de aviso:

Tras formatear la tarjeta tendremos que grabar la imagen de OctoPi en la tarjeta de memoria, para eso tendremos que instalar y ejecutar el programa Etcher.

  

Pulsamos el botón “Select image” para abrir el explorador de Windows y seleccionar la imagen de OctoPi.

Tras seleccionar la imagen, seleccionaremos nuestra tarjeta SD recién formateada (suele detectarla y seleccionarla por defecto) y pulsaremos “Flash!” para iniciar la instalación.

Al terminar la instalación veremos la siguiente imagen:

Configuración conexión WIFI e configuración de OctoPi

La manera más sencilla de configurar el WiFi de OctoPi (y la que menos problemas suele dar) es mediante la edición del archivo octopi-wpa-supplicant.txt(recordar que OctoPi no deja de ser un servidor, un servidor sin conexión a internet no es más que un pisapapeles). Este archivo lo encontraremos en una partición de la tarjeta creada durante la instalación llamada “boot”, si no os aparece expulsar y volver a insertar la tarjeta de memoria.

Abrimos el archivo a editar (¡Impórtate! No uséis el editor de texto por defecto de Windows o mac) y editamos y descomentamos las siguientes líneas de texto con el nombre y contraseña de nuestro WiFi:

## WPA/WPA2 secured
#network={
#  ssid=»put SSID here»
#  psk=»put password here»
#}

Tras la edición tendrá que quedarnos de la siguiente manera:

## WPA/WPA2 secured
network={
ssid=»WifideKletus»
psk=»1234abcd»
}

Ahora en el mismo documento tendremos que seleccionar el país donde se realiza la conexión WiFi. Para ello editaremos las siguientes líneas:

# 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=US # United States

Aquí tendremos que comentar Gran Bretaña (añadiendo al principio de la línea el símbolo #) y descomentar el país en el que estemos (borrando el símbolo # del principio). Si nuestro país no se encuentra, comentaremos todos y añadiremos el nuestro en una nueva línea:

# 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=US # United States
country=ES # Spain

En este enlace tenéis la lista de códigos internacional.

Configuración de Octoprint

Con todo preparado insertaremos la tarjeta en nuestra Raspberry la conectaremos a una pantalla y la encenderemos. Esperamos unos segundos hasta que aparezca la siguiente pantalla:

En la que podremos ver la dirección ip asignada a la Raspberry Pi (si ha habido un error de conexión no nos aparecerá la ip) y se nos pedirá que iniciemos sesión:

Por defecto el usuario asignado es “pi” y la contraseña es “raspberry”, tras iniciar sesión nos aparecerá la siguiente pantalla:

Ahora escribiendo el comando “passwd” podremos cambiar la contraseña para evitar que alguien se conecte a nuestro servidor:

Ahora ya podemos conectar nuestra Raspberry Pi a la impresora y olvidarnos de ella (si necesitais mover la Raspberry Pi de sitio usar el comando shutdown –h now para apagarla, no hay necesidad de volver a realizar el loggin tras encenderla de nuevo).

Ahora desde nuestro ordenador abriremos nuestro navegador y en la barra de direcciones introduciremos la dirección ip de la Raspberry Pi (en mi caso //192.168.0.15).

Al entrar en la dirección web se nos abrirá un cuadro de dialogo en el que tendremos que introducir el usuario y contraseña que acabamos de configurar:

En ese momento se abrirá la interfaz de OctoPrint y el asistente de configuración (setup wizard):

Pulsamos “Next” en la primera pantalla para iniciar la configuración.

En la pantalla de “Access Control” introduciremos un usuario y contraseña de nuestro gusto para OctoPrint y así evitar sustos, después pulsaremos “Keep Access Control Enabled” y “Next”.

En esta pantalla podremos importar un perfil de impresión para poder hacer el “Slicing” directamente desde el servidor. Importemos o no un perfil pulsamos “Next” de nuevo.

En la siguiente pantalla deberemos configurar los parámetros de nuestra impresora, dependiendo del modelo tendremos que buscar las características y con ella rellenar los datos. Tras rellenarlo todo toca darle a “Next” (Si, otra vez, pero con esta acabamos).

¡Con esto ya tenemos nuestra interfaz configurada! Pulsamos “finish” para abrir la interfaz de OctoPrint y “Connect” para conectar el servidor a la impresora para habilitar la monitorización y control.

Con esto y un bizcocho…

Ahora os animo a trastear por vuestra cuenta (siempre con cuidado) para que vayáis descubriendo poco a poco las enormes posibilidades de esta interfaz. También os animo a trastear con las diferentes apps desde las que controlar el servidor, así como a investigar los diferentes pluggins y herramientas disponibles.

Y recordad que la dirección ip con la que habéis accedido es la dirección local, de vuestra red de internet, asique solo podréis acceder al servidor desde esa dirección desde un ordenador que esté conectado al mismo WiFi. Para acceder de forma remota desde otra red deberéis configurar el router y asignarle una dirección ip publica (aquí tenéis un tutorial que explica la teoría, pcada router es un mundo y varia el proceso de uno a otro).

Espero que os haya servido este tutorial. Si es así, agradeceríamos que compartieseis nuestra página web en vuestras redes sociales y amigos. La difusión nos da a conocer.

13 comentarios en “Como instalar y configurar OctoPi para controlar tu impresora 3D de forma remota”

  1. Hola, en primer lugar muchas gracias por el tutorial. Soy un principiante y acabo de recibir mi Raspberry Pi 4B. La verdad es que me costo encenderla instalando el Raspberry Pi OS pues algo hacia mal con la tarjeta. Mi pregunta es que le he puesto un monitor, raton y un pequeño altavoz. Ahora quiero instalar el Octopi siguiendo tu tutorial pero claro la duda es que entiendo que tengo que comprar otra tarjeta para instalarlo, no? Tendré que ir cambiando tarjetas cuando lo quiero utilizar como ordenador y cuando quiero utilizarlo el octopi. No se puede instalar todo junto? menudo lio tengo.
    Muchas gracias.

    1. Buenas,

      La opción de instalarlo en dos tarjetas es la más sencilla, pero como dices puede resultar un poco engorroso andar cambiando de una a otra. Para no tener que hacer esto tienes dos opciones principales: Instalar Octoprint server en Raspberry Pi OS y ejecutarlo directamente desde el sistema operativo cuando lo necesites o Instalar Raspberry Pi OS y Octopi con NOOBs en una sola tarjeta y tener los dos sistemas operativos en uno (al encender la raspberry pi te preguntara cual quieres iniciar) aunque tendrás que formatear la tarjeta y perderás el sistema actual.

      Para la primera te dejo aquí un tutorial (Ojo esta en inglés): https://community.octoprint.org/t/setting-up-octoprint-on-a-raspberry-pi-running-raspbian/2337

      Y para la segunda un tutorial de esta página: https://electroduda.com/como-instalar-varios-sistemas-operativos-en-raspberry-pi-y-gestionarlos-mediante-noobs/

      Yo optaría por la segunda, ya que instalar Octoprint en un sistema operativo existente es un poco engorroso (yo no lo conseguí).

      Una última opción que tampoco recomiendo es instalar el escritorio en Octopi convirtiéndolo en una version «completa» de Raspberry Pi OS ya que este sistema no es mas que una versión modificada de Raspberry pi OS. Lo malo de esto es Octoprint se ejecutaría cada vez que enciendas la Raspberry Pi aunque quieras usar el sistema para otra cosa en ese momento.

      Espero haberte sido de ayuda, un saludo y gracias por visitar la página😉!!!

  2. MUY BUENAS, tengo problemas conla conexion. me dice que no puede determinar el puerto de seri, que se lo pongo a mano, como se hace?

    1. Buenas,

      En «Connection» en el desplegable de Serial port the deberian salir mas opciones a parte de la opcion AUTO, prueba a seleccionar manualmente las difirentes opciones hasta que descubras cual es el puerto serie de la impresora. Si no te aparece nada a parte de auto seguramente sea un problema con el cable o el puerto USB al que lo has conectado, prueba a cambiarlos a ver si asi te detecta la impresora.

      Un saludo y gracias por visitar la pagina😉!!!

  3. Wow, genial! Acabo de comprar dos impresoras 3d para imprimir máscaras. Gracias a tu artículo voy a intentar ponerlas con una raspberry pi 3 en el chalet de mis padres creando un hotspot con su movil y con su ayuda intentar no ahogarme con los humos en mi casa 🙂
    ¿Es posible controlar dos impresoras desde una misma Pi?
    Un saludo y gracias!

    1. Es posible hacerlo aunque nunca lo he intentado te dejo la información en el siguiente enlace: http://thomas-messmer.com/index.php/14-free-knowledge/howtos/79-setting-up-octoprint-for-multiple-printer, una vez instalado tienes que seguir los pasos a partir del punto «Connect the different printers to the RPi». Está en ingles pero si tienes algún problema a la hora de hacerlo coméntanos e intentaremos ayudarte.
      un saludo y gracias por leernos 😉!!!

    1. Pues en ese caso yo accedería a Octoprint desde el navegador web del teléfono de forma local (poniendo la dirección IP que te da Octoprint directamente en el navegador) para después controlar el teléfono de manera remota con una aplicación como Team-Viewer o similar. No es una solución muy bonita, pero debería funcionar.

      En cualquier caso, intentare encontrar la forma de configurar la dirección IP de un dispositivo conectado al teléfono, si lo consigo explicare la forma de hacerlo con un nuevo tutorial.

      Muchas gracias por leernos y espero serte de ayuda!!

  4. ¡¡Grande!!
    Muy útil la explicación y también ese último enlace para configurar los puertos.
    Los de nivel medio en informática te lo agradecemos.

    1. ¡Gracias! Es de agradecer que se aprecie el trabajo realizado, intentaremos seguir haciendo tutoriales de este tipo para intentar facilitar las cosas a la gente. 😉

Deja una respuesta

Tu dirección de correo electrónico no será publicada.