Está en la página 1de 19

Tutorial | INSTALACIÓN DE OCTOPRINT EN ORANGE PI ZERO

PARA CONTROLAR TU IMPRESORA 3D DE FORMA REMOTA


Por: Drey

* Este tutorial también es válido para placas como la Raspberry Pi o similares, usando en ese caso el sistema Raspbian en lugar de armbian.

INTRODUCCIÓN
Pongámonos en situación, estos días he estado trasteando la placa Orange Pi Zero para
enchufarla a mi impresora 3D y he decidido realizar este tutorial ya que no he encontrado nada
en español ni medio detallado sobre el proceso de instalación del octoprint en la Orange Pi Zero,
para poder así enviar y manejar nuestra impresora 3D a través del wifi junto a otras muchas
opciones.

La Orange Pi Zero es un mini ordenador que usaremos para quitarnos el engorro de tener que
colocar los modelos 3D en la tarjeta microsd cada vez que queramos imprimir y pasar a enviarlo
por red wifi o cable, también trae otras utilidades como la de poder ver en tiempo real como va
nuestra impresión desde cualquier lado gracias a una webcam que podemos enchufarle, que la
impresora se apague sola cuando acabe de imprimir, ver información y configuración de la
impresora y de la impresión, e incluso podemos hacer todo esto desde nuestro teléfono móvil
entre otras muchas opciones.

Si os interesa, el precio de este miniordenador es muy reducido (ronda los 10€) ->
https://www.zapals.com/orange-pi-zero-single-board-computer-512mb-development-
board.html
O si tenéis pensado ponerle webcam en ese caso es mejor esta oferta que incluye tarjeta de
expansión y estuche caja -> https://es.aliexpress.com/item/New-Orange-Pi-Zero-Set-6-Orange-
Pi-Zero-256MB-Expansion-Board-Black-Case-development-board/32782793453.html
Cuando ya tienes en tus manos la Orange Pi Zero de lo primero que te das cuenta es que no
tiene memoria interna o "disco duro", viene sin sistema operativo y sin salida hdmi o vga con
la que poder enchufarle una pantalla, por lo tanto se vuelve muy contraintuitivo su manejo.
La solución es sencilla, el sistema operativo (usaremos armbian, Linux recomendado para esta
placa) va instalado en una microsd que hará de memoria interna, y accederemos al sistema no
mediante una pantalla gráfica, sino a través de la red con un programa de consola de comandos
para instalar el programa Octoprint que es el que maneja la impresora 3d.

Por pasos, primero instalaremos un sistema operativo al minipc, después accederemos por red
a la misma, a continuación haremos una configuración básica, y luego le instalaremos el
programa Octoprint (programa para manejar la impresora 3D de forma remota).
No os asustéis si no estáis familiarizados con la consola de comandos o el linux, intentaré
detallarlo todo lo mejor posible.

PD: Puede parecer engorroso todo el proceso ya que lo he detallado demasiado, pero es más
sencillo de lo parece.
PD2: En la última página he puesto un resumen con todos los comandos usados en orden por si
te quieres saltar toda la teoría e ir directo al grano.
INSTALÁNDOLE UN SISTEMA OPERATIVO A LA ORANGE PI ZERO
Como la Orange Pi Zero (http://www.orangepi.org/orangepizero/) viene vacía tendremos que
instalarle un sistema operativo que la controle, nosotros usaremos el recomendado por el
fabricante (armbian), también necesitaremos una microsd a poder ser de más de 4 gb (aunque
no hace falta mucha memoria ya que ocupa poco espacio todo lo que le instalaremos), el
programa "SD Card Formatter" para formatear la microsd y el programa "Win32 Diskimager"
para instalarle la imagen del armbian.

1 - Accedemos en un pc cualquiera con windows a la web de "armbian" y descargamos la última


versión disponible:
https://www.armbian.com/orange-pi-zero/ (Pinchamos en la descarga que pone "Debian
Jessie").

2 - Descargamos e instalamos el programa "SD Card Formatter" de:


https://www.sdcard.org/downloads/formatter_4/eula_windows/

3 - Descargamos el programa "Win32 Diskimager" de:


https://sourceforge.net/projects/win32diskimager/files/Archive/

4 - Enchufamos la microsd a nuestro pc Windows mediante un adaptador o lector de tarjetas.

5 - Instalamos y ejecutamos "SD Card Formatter", donde pone "Drive" deberá aparecer la letra
de la unidad que representa a la microsd (es importante que os aseguréis de que habéis
seleccionado la microsd correcta antes de continuar y no otra unidad ya que vamos a borrar
todo su contenido):

Después pulsad en "Option" y donde pone "FORMAT SIZE ADJUSTMENT" seleccionar la opción
"ON" para que la partición ocupe toda la microsd, después le damos a "Format" y esperamos.
PD: Si nos salen mensajes de alerta pulsad “si” a todo.
6 - Ahora instalamos y ejecutamos "Win32 Diskimager", donde pone "Image file" debemos
cargar el archivo de armbian .img que nos hemos descargado al principio (cuando lo descargar
el armbian viene comprimido en .7z, debes descomprimirlo), donde pone "Device" debemos
asegurarnos de nuevo que es la letra que representa nuestra microsd y luego pulsamos "Write"
y esperamos.

7 - Ya hemos acabado el proceso de instalación del sistema operativo, ahora debemos quitar la
microsd de nuestro ordenador windows e introducirla en su ranura/zócalo correspondiente de
la Orange Pi Zero.
ACCEDIENDO A LA ORANGE PI ZERO POR RED LOCAL
Como la Orange Pi Zero no tiene salida para enchufarle una pantalla debemos acceder a ella
mediante red con un protocolo que se llama SSH que viene de serie con el sistema operativo
que le hemos instalado.

1 - Tenemos que conectar la Orange Pi Zero a nuestro router con


un cable de red ethernet y encenderla enchufándola a la corriente.

2 - Luego en nuestro ordenador windows tenemos que descargar un cliente SSH para
conectarnos desde nuestro pc windows a la Orange Pi Zero, yo recomiendo el programa "Putty"
que podemos descargar de:
http://www.putty.org/

3 - Para usar el "Putty" lo único que hay que hacer es colocar la dirección IP que tiene la Orange
Pi Zero en nuestra red local donde pone "Host Name (or IP ADDRESS)" y luego pulsar en "Open"
para acceder a la Orange Pi Zero, para eso primero necesitamos saber la IP de la misma.

Para averiguar la IP de la Orange Pi Zero tenemos que abrir en nuestro pc windows el navegador
de internet y acceder a nuestro router escribiendo como dirección url su IP (normalmente es
192.168.1.1) y luego colocar el usuario y contraseña del router.
* Si no sabes la IP de tu router o los datos de acceso busca la caja donde te venía el router si aún
la conservas, o mira en la pegatina que tiene debajo pegada el mismo, ahí suelen venir. Si esto
falla ponte en contacto con el distribuidor del router o busca en internet los accesos por defecto
de tu router que suelen ser siempre los mismos.

4 - Una vez dentro de tu router debemos buscar una opción que suele llamarse LAN/DHCP
Server y mirar si hay una entrada que se llame "Orange" y copiar su dirección IP.
5 - Ya tenemos la IP de la Orange Pi Zero que era lo que nos hacía falta para acceder a ella por
SSH, ahora abrimos el "Putty" y donde pone "Host Name (or IP ADDRESS)" pegamos la IP y le
damos a "Open".

6 - Ahora se nos abrirá una consola desde donde a partir de ahora interactuaremos con la
Orange Pi Zero, no esperes una interface gráfica ahora trabajaremos todo con comandos. Lo
primero que te pide es el usuario administrador para acceder al sistema, por defecto en
"Armbian" es:
root
Lo escribimos y pulsamos enter. A continuación te pedirá una contraseña; por defecto es:
1234
Y volvemos a pulsar enter.

PD: Si no es así busca en internet el acceso por defecto de tu versión concreta de armbian.
PD2: Al escribir las contraseñas en armbian (y linux en general) no aparecen carácteres en la
pantalla, no te preocupes si piensas que no estás escribiendo, pon la contraseña tal cual y pulsa
enter.
7 - A continuación te volverá a pedirá que cambies la contraseña del usuario root, primero
introducimos la contraseña actual de nuevo:
1234

8 - Y después introducimos la nueva contraseña que le quieras poner a tu Orange Pi Zero y luego
la repetimos para confirmar. Con esta contraseña accederás a todo a partir de ahora:
9 - Para acabar el primer acceso nos pedirá que creemos un nuevo usuario, escribimos el
nombre que queramos (en mi caso "wally") y pulsamos enter, a continuación nos preguntará
información que podemos dejar en blanco pulsando enter hasta que nos pregunte si queremos
guardar el usuario, pulsamos la tecla Y (de yes) y luego enter y ya hemos acabado con el
apartado de acceso a orange pi zero, no te preocupes que todos estos pasos no habrá que
realizarlos más cada vez que accedamos.
CONFIGURACIÓN BÁSICA DE LA ORANGE PI ZERO
A partir de ahora el manejo es sencillo, escribiremos comandos (cada línea que os ponga es un
comando individual aunque vengan en el mismo bloque) en la pantalla del "Putty" y pulsaremos
enter para ejecutarlos en la Orange Pi Zero. Ahora vamos a hacer una configuración básica para
instalarle el Octoprint después.

1 - De primeras siempre me gusta reiniciar el sistema con:


sudo reboot
PD: Cuando introduzcas el siguiente comando el "Putty" se cerrará.

2 - Esperamos un poco a que se reinicie la Orange Pi Zero y volvemos a abrir el "Putty" y a


colocar la IP de la Orange Pi Zero para conectarte de nuevo con el usuario root y con la nueva
contraseña:
root
tucontraseña

3 - Ahora nos movemos a la carpeta sources.list.d con el comando:


cd /etc/apt/sources.list.d/

4 - Aquí vamos a añadir un nuevo repositorio a la Orange Pi Zero para que pueda descargar
paquetes para sus programas cuando le haga falta, para eso tenemos que crear un archivo con
el programa nano (el "block de notas" de linux xD) con el comando:
sudo nano raspbian.list
5 - Se abrirá una nueva pantalla donde deberás pegar la siguiente línea:
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free

6 - Una vez hayas pegado la línea pulsa Ctrl + X, luego pulsa la letra Y y luego dale al enter.

7 - Una vez añadido el nuevo repositorio vamos a hacer una pausa con un poco de explicación.
La IP con la que accedemos a la Orange Pi Zero se la ha dado tu router de forma
dinámica/automática, esto quiere decir que en alguna ocasión podría cambiar y esto no es
práctico a la hora de usar el Octoprint, por lo tanto vamos a tener que ponerle una IP fija y única
que no cambie tanto para el acceso de la Orange Pi Zero por cable de red y por wifi (una
dirección única si la usamos por cable y otra distinta y única si la usamos por wifi).
Para eso vamos a usar el comando llamao "nmtui", para ello ponemos:
sudo apt-get install NetworkManager-tui
sudo apt-get install nmtui
Revisamos si necesita instalar algún paquete nuevo y reiniciamos con:
sudo apt-get update
sudo apt-get upgrade
sudo reboot
PD: Es posible que en algún momento de alguna instalación se pare y te pregunte si quieres
continuar por seguridad, pulsa la tecla Y y luego enter para continuar.
8 – Esperamos un poco a que se reinicie la Orange Pi Zero y volvemos a acceder con "Putty" y
ahora ejecutamos el programa "nmtui" con:
sudo nmtui

9 - Nos aparecerá una pantalla en la que tenemos que movernos con la cruceta del teclado o
con el tabulador hasta "Activate a Connection" y pulsar enter. A continuación nos saldrá una
pantalla con las redes wifi que hay cerca de la Orange Pi Zero, ahora debemos pulsar sobre la
nuestra e introducir la contraseña de tu red wifi, pulsamos OK, y luego en el menú QUIT.
10 - Volvemos a ejecutar el mismo comando:
sudo nmtui
Y seleccionamos esta vez la opción "Edit a Connection". Nos apareceran las redes que tiene
instaladas la Orange Pi Zero, deberían ser dos, una para el wifi y otra para el cable, elegimos
primero el wifi con la cruceta del teclado, y con la tecla de tabulador después seleccionamos la
opción "Edit" y pulsamos "Enter".
11 – Seleccionamos primero la red wifi y bajamos hasta la opción "IPv4 CONFIGURATION"
para cambiarla de Automático a Manual, después pulsamos "SHOW" que está al lado,
bajamos y seleccionamos "ADD" donde pone "Addresses" y escribimos la dirección fija que va
a tener el acceso por wifi de la orange pi zero, debe ser una dirección que no esté en uso y que
a poder ser esté dentro del rango:

192.168.1.10 <-> 192.168.1.200


En mi caso le pondré 192.168.1.100
Por último baja a donde dice "Gateway" y coloca ahí la dirección de tu router, normalmente
192.168.1.1, baja hasta abajo del todo y pulsar OK.
12 - Ahora hacemos el mismo proceso que en el paso 11 pero con la red por cable que nos
faltaba colocando una dirección IP manual diferente, en mi caso 192.168.1.101

13 - Ahora reiniciamos la red y luego el sistema (lo cual nos cerrará el "Putty") con:
sudo /etc/init.d/networking restart
sudo reboot

14 - Esperamos un poco a que se reinicie y ahora tenemos que volver a acceder a la Orange Pi
Zero con el "Putty" pero esta vez la IP que usábamos ya no sirve porque la hemos cambiado,
ahora para acceder con el Putty podemos elegir entrar por el cable de red o por el wifi con las
direcciones que hemos puesto en el paso 11 y 12, lo ideal es acceder por wifi por comodidad,
colocamos la IP fija del wifi en "Host Name (or IP ADDRESS)" pegamos la IP (en nuestro caso
queremos acceder por wifi así que usaremos 192.168.1.100) y le damos a "Open"; después nos
logeamos:
root
tucontraseña
INSTALACIÓN DE OCTOPRINT EN LA ORANGE PI ZERO
Ahora y por último vamos a instalar el programa Octoprint a nuestra Orange Pi Zero, para ello:

1 - Primero creamos un usuario llamado octoprint y le ponemos los privilegios necesarios con:
sudo adduser octoprint
sudo usermod -a -G tty octoprint
sudo usermod -a -G dialout octoprint
sudo adduser octoprint sudo

2 - Ahora ejecutamos el siguiente comando para editar el privilegio de administración del


usuario octoprint:
sudo visudo

3 - Se nos abrirá un archivo en el que tenemos que copiar y pegar la siguiente línea al final de
todo el documento:
octoprint ALL=(ALL) NOPASSWD:ALL
Una vez hayas pegado la línea pulsa Ctrl + X, luego pulsa la letra Y y luego dale al Enter.

4 - Ahora quitamos la contraseña del usuario Octoprint con privilegios con el siguiente
comando e instalamos todos los paquetes y actualizaciones necesarias para el octoprint:
sudo passwd octoprint -d
sudo apt-get install python-pip python-dev git python-setuptools psmisc
sudo apt-get update
sudo apt-get upgrade

5 - Ahora nos logeamos con el usuario octoprint con:


sudo su octoprint
6 - Vamos a la carpeta raíz de este usuario con:
cd ~

7 - E instalamos de nuevo paquetes necesarios para el octoprint usando por orden estos
comandos:
wget https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz
tar -zxf pyserial-2.7.tar.gz
cd pyserial-2.7
sudo python setup.py install
sudo apt-get update
sudo apt-get upgrade

8 - Ahora el paso definitivo para instalar el octoprint, usaremos por orden estos comandos para
su instalación:
cd ~
git clone https://github.com/foosel/OctoPrint.git
cd OctoPrint
sudo python setup.py install

9 - Ya tenemos instalado el octoprint, lo único que tendríamos que hacer para iniciarlo es usar
el comando:
Octoprint
* Pero ocurre una cosa, cuando apaguemos la Orange Pi Zero y la volvamos a encender el
octoprint estará apagado, así que lo que podemos hacer por comodidad es crear un script para
hacer que se inicie automáticamente el octoprint cuando encendamos la Orange Pi Zero.

10 - Nos logeamos como superusuario con:


sudo su

11 - Vamos a la raíz y creamos un archivo llamado octoprint.sh con:


cd ~
sudo nano octoprint.sh

12 - Ahora se nos abrirá un archivo vacío en el que tenemos que pegar las siguientes líneas
(tiene que quedar tal cual):
#!/bin/bash
### BEGIN INIT INFO
# Provides: octoprint
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: octoprint
# Description:
#
### END INIT INFO
su octoprint -c 'octoprint'
Después pulsamos Ctrl + X, luego pulsa la letra Y y dale al Enter.

13 - Ahora le damos permisos de ejecución y lo copiamos a la carpeta de inicio de armbian:


sudo chmod +x octoprint.sh
sudo cp octoprint.sh /etc/init.d/
14 - Nos movemos a la carpeta y convertimos el script en un daemon (proceso de linux) para
que se inicie con la Orange Pi Zero:
cd /etc/init.d/
sudo update-rc.d octoprint.sh defaults

15 - Ahora lo único que tenemos que hacer es reiniciar: (se cerrará el Putty)
sudo reboot

16 - ¡¡Ya está!! lo que tenemos que hacer ahora es enchufar la Orange Pi Zero a la corriente y
sin hacer nada deberá conectarle a la red wifi e iniciar el octoprint, esperamos un poco a que
cargue y a continuación en nuestro pc windows abrimos el navegador de internet y colocamos
en la dirección url la ip del wifi o del cable (según por donde queramos conectarnos) de la
Orange Pi Zero (en mi caso 192.168.1.100 o 192.168.1.101) seguido del puerto :5000 como se
muestra en la imagen y ya podremos acceder al ¡¡Octoprint!!
17 - Ahora solo tenéis que logearnos con el usuario octoprint, y configurar vuestra impresora
en un perfil.

Ya hemos finalizado la instalación del octoprint, solo tenemos que apagarlo todo conectar
nuestra impresora 3D con nuestra Orange Pi Zero mediante USB y encenderlo todo.

** El proceso de instalación que he explicado aquí sirve igualmente para otras placas similares
a la Orange Pi Zero como es la Raspberry Pi o similar. **
** En un futuro si tengo tiempo haré más tutoriales sobre como configurar el octoprint con tu
impresora, como instalarle una webcam para ver a tiempo real el proceso, como vincular
Octoprint con aplicaciones externas y móviles, como hacer que octoprint apague la impresora
automáticamente cuando acabe de imprimir, o como acceder desde cualquier parte del mundo
a tu Octoprint. **

Si tenéis algún problema comentádmelo para solucionarlo o ver si he cometido algún error en
el tutorial. Espero que sirva de ayuda.

¡Un saludo!
RESUMEN DE COMANDOS

cd /etc/apt/sources.list.d/
sudo nano raspbian.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free
sudo apt-get install NetworkManager-tui
sudo apt-get install nmtui
sudo apt-get update
sudo apt-get upgrade
sudo reboot
sudo nmtui
sudo /etc/init.d/networking restart
sudo reboot
sudo adduser octoprint
sudo usermod -a -G tty octoprint
sudo usermod -a -G dialout octoprint
sudo adduser octoprint sudo
sudo visudo
octoprint ALL=(ALL) NOPASSWD:ALL
sudo passwd octoprint -d
sudo apt-get install python-pip python-dev git python-setuptools psmisc
sudo apt-get update
sudo apt-get upgrade
sudo su octoprint
cd ~
wget https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz
tar -zxf pyserial-2.7.tar.gz
cd pyserial-2.7
sudo python setup.py install
sudo apt-get update
sudo apt-get upgrade
cd ~
git clone https://github.com/foosel/OctoPrint.git
cd OctoPrint
sudo python setup.py install
sudo su
cd ~
sudo nano octoprint.sh
#!/bin/bash
### BEGIN INIT INFO
# Provides: octoprint
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: octoprint
# Description:
#
### END INIT INFO
su octoprint -c 'octoprint'
sudo chmod +x octoprint.sh
sudo cp octoprint.sh /etc/init.d/
cd /etc/init.d/
sudo update-rc.d octoprint.sh defaults
sudo reboot