This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Octoprint en orange pi pc + webcam usb
#1
Hola, como que no he visto un directorio para orange pi, pongo aquí mi descripción de como he instalado octoprint en una "orange pi pc".

Esto va a servirme para cuando lo vuelva a necesitar y para la posteridad Gran sonrisa

La motivación para usar octorpint es simple... En mi impresora 3D, ya he roto 4 tajetas SD de marca que valen mas que el orange pi y todo el rollo de esta movida. Así que desde ahora voy a imprimir por wifi.

ARMBIAN
primero hay que instalar "armbian" para orange pi pc
Se puede descaergar desde aquí:
https://www.armbian.com/orange-pi-pc/

Yo he usado la version Armbian Bionic mainline kernel 4.19 (ubuntu 18.04 lts) pero se puede usar también stretch (debian 9).
Existe una versión (en el fondo de la página) con el kernel 3.4 que puede ser útil si tiene la camera de OPI de 2MPX con conexión CSI
De todas formas se usan iguales, porqué ubuntu es una derivada de debian

Se trata de instalaciones server... o sea solo hay un terminal y no el escritorio. Obviamente se puede instalar después si lo vais a necesitar por algo.
Aquí hay toda la documentación
https://docs.armbian.com/

por mi parte después he hecho así: después de descargar la imágen 
https://dl.armbian.com/orangepipc/Ubuntu_bionic_next.7z

he entrado como root con contraseña "1234"
(el sistema te obliga a cambiarla la priemra vez que entras.)

Hay que conectarse a la red por cable ethernet o por wifi usando una llave usb wifi, así que conecta el cable o inserta el pen wifi.

para configurar el sistema hay que usar el programa "armbian-config"

# armbian-config

allí tienes que configurar la red y poner una dirección  IP fija, e mi caso he puesto una fácil de recordar (192.168.1.200)
Se puede cambiar el teclado y el idioma si hace falta, y también instalar el escritorio si lo necesita. todo es muy fácil y intuitivo de usar aunque la interfaz es de caracteres tipo viejo msdos Gran sonrisa
Acuérdate de actualizar el sistema usando armbian-config o si prefieres 

# apt update && apt -y upgrade

una vez que lo tengas todo a puntito se puede seguir con el resto:

como editor de texto prefiero mc y su contraparte mcedit, así que:

# apt install mc

ahora vamos a crear el usuario "octoprint"

# adduser octoprint (ponle una contraseña)


# usermod -a -G tty octoprint
# usermod -a -G dialout octoprint

# usermod -a -G video octoprint
# adduser octoprint sudo
# mcedit /etc/sudoers


añadir a lo último esto:

octoprint ALL=(ALL) NOPASSWD:ALL

F2 para guardar y F10 (u esc 0) para salir (en algunos terminales f10 no funciona así que se puede substituir con las teclas "esc 0")

ahora vamos a quitar la contraseña al usuario octoprint

# passwd octoprint -d

ahora vamos a instalar los paquetes necesarios para octoprint

# apt-get install  virtualenv git python-pip python-dev python-setuptools psmisc 

despues un rato cuando acaba cambiamo de usuario con

sudo su - octoprint

notarás que el el cursor ahora dice:

octoprint@orangepipc:/root$

vete en tu carpeta de usuario con el comando

$ cd

ahora vamos a instalar pyserial

$ wget https://pypi.python.org/packages /source/p/pyserial/pyserial-3.4.tar.gz

NOTA: si por algún motivo no consigue a descagarlo desde este link arriba, vete con el navegador en 

https://pypi.org/project/pyserial/#files y descargalo desde allí.


Una vez obtenido el fichero, lo descomprimimos 

$ tar zxvf pyserial-3.4.tar.gz

y entramos en la carpeta de pyserial

$ cd pyserial-3.4

 y lanzamo su instalación manual 

$ sudo python setup.py install

cuando acabe, vuelve a tu home con 

$ cd

ahora por fin bajamo y compilamos octoprint

$ git clone https://github.com/foosel/OctoPrint.git

y damos estos comandos

$ cd OctoPrint
$ virtualenv venv
$ ./venv/bin/python setup.py install


después unos 10 minutos la instalación de octoprint acaba (tarda un poco porqué tiene que descargar uno paquetes)

ahora puedes comprobar si funciona:

~/OctoPrint/venv/bin/octoprint serve

abre el navegador de tu ordenador principal y ponle la dirección de tu orange pi (192.168.1.200 en mi caso) con el puerto 5000

htt://192.168.1.200:5000

si funciona, y se abre octoprint, de momento no lo toques y cierra la ventana.

volvemos al terminal para automatizar el arranque de octoprint

pulsa ctrl-C para parar octoprint y ponel estos comandos:

$ sudo cp ~/OctoPrint/scripts/octoprint.init /etc/init.d/octoprint
$ sudo chmod +x /etc/init.d/octoprint
$ sudo cp ~/OctoPrint/scripts/octoprint.default /etc/default/octoprint

modificamos la configuración de estos ficheros


$ sudo mcedit /etc/default/octoprint

modifica estas dos lineas para queden así:

OCTOPRINT_USER=octoprint

DAEMON=/home/octoprint/OctoPrint/venv/bin/octoprint


F2 para guardar y F10 para salir

sudo update-rc.d octoprint defaults
$ sudo service octoprint start

ahora octoprint tendría que funcionar, compruébalo otra vez en el navegador

Si no funciona mira el por que con

$ sudo service octoprint status

esto te dice el estado del servicio y si no funciona te dice el error. A mi me ha ocurrido que me había escrito mal la configuración.

WEBCAM USB

ahora podemos configurar la webcam. Tienes que saber que octoprint no utiliza directamente las cámaras y se apoya en un servicio externo. En mi caso he utilizado "motion"

sal de usuario octoprint cone l comando exit

$ exit


ahora instalamos motion

# apt install motion

conecta la webcam usb si aún no lo está y dale

#root@orangepipc:~# ls /dev/video*

tiene que aparecer 

/dev/video0

...que representa tu webcam

ahora modificamo la configuración de motion

# mcedit /etc/motion/motion.conf

asegurate que estas voces sean así:

width 320
height 240
stream_port 8081
stream_localhost off
stream_quality 98
stream_maxrate 5
output_pictures off
framerate 25
ffmpeg_video_codec mpeg4
auto_brightness off
contrast 0
saturation 0
ffmpeg_output_movies off
target_dir /tmp/motion

esto es un buen punto de partida, luego puedes modificar las a tu gusto

A este punto dale un

# service motion start

si todo funciona puedes abrir tu navegador a la dirección 

http://192.168.1.200:8081 

y verás tu cara en el navegador (según donde apunta la webcam)

Si no funciona antes de nada reinicia el orange pi con

# reboot

...a veces motion es un poco quisquilloso...

ahora estas listo para configura la wizard de octoprint

conecta el orange pi al la impresora 3d por usb y enciende la, pon la webcam que apunte al plato caliente.

ahora con el navegador entra en

http://192.168.1.200:5000 

alli empieza el wizard que es muy simple y no hace falta explicarlo aquí:

cuando te va a pedir de configurar la webcam, ponle

http://192.168.1.200:8081 como dirección de streaming y deja el campo de snapshot vacío.

En mi caso he utilizado una vieja webcam logitech pro 4000 (cosas de hace 10-15 años a forma de bola) que he desmontado para sacar la circuito y hacerla más ligera y fácil de fijar la holder con una brida.

para el holder he usado este:

https://www.thingiverse.com/thing:1158733

y aquí mi make

https://www.thingiverse.com/make:630840


con este es todo

Nota 1:
El kernel 3.4 puede servir para quien tenga una webcam CSI que uiliza el módulo g2035.
En el kernel serie 4.x se ha roto el soporte y de momento aún no lo han arreglado, aunque están en ello.
De momento con el 4.x se puede utilizar cualquier webcam usb, así que tampoco es urgente para una impresora 3d, pues el más cómoda de usar y segura una webcam usb con el cable largo, que la cam "csi" con el cablecido frágil y corto que tiene.

Nota 2: 
En el caso que actives la creación de Vídeos, vigila el espacio libre del disco, porqué Motion tiene la tendencia a llenar e disco usado en esta manera.
En mi caso he añadido una tarea de "cron" para borrar las fotos y videos a las 11 de la noche todos los días.
Para hacer esto hay que llamar el comando crontab como root

# crontab -e

y escribir esto

* 22 * * * /bin/rm /tmp/motion/* >/dev/null 2>&1

al guardar y salir se activa esta tarea y cada día a las 11 de la noche va a borrar los .jpg y .avi que se han guardado en la carpeta /tmp


NOTA: Es posible copiar autmáticamente el sistema en una llave USB (mínimo 8GB) para que el sistema sea bastante más rápido y seguro. Pues practicamente todos los *PI (raspberry/banana/orange....) requieren de una tarjeta clase 10, pero esta tecnología es bastante delicada y por mucho que sean buenas, no van más rápida de una bueno llave USB.
Para copiar el sistema en la llave USB hay que insertarla en un puerto del OrangePi, lanza armbian-config/System/Install/1 (boot from SD/SATA/emmc...) Selecciona el device que corresponde a la llave USB (/dev/sda1 casi siempre) y el te avisa que va a borrar todos los datos de la llave. Formatea tipo EXT4, y en unos 5-10 minutos ya estará listo... reboot.

Al arrancar ora vez compueba con "df -h /" que la reíz dea en /dev/sda1

root@orangepipc:~# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 7.1G 1.1G 5.6G 17% /
root@orangepipc:~#

La tarjeta SD no la puedes quitar, porqué el sistema va a buscar allí el fichero /boot/armbianEnv.txt que le dice de arrancar desde la llave USB
Para ver los UUID de los discos (también la tarjeta SD, dar este comando

# ls -l /dev/disk/by-uuid

si volvemos a poner el UUID de la tarjeta en el fichero /boot/armbianEnv.txt , el ssitema arrancará desde la SDCard
  Responder
#2
Te dejo enlace donde se enseñaba el tutorial de Octoprint.

https://www.spainlabs.com/foros/tema-Tut...ge-Pi-Zero?
"Enseñar es aprender dos veces".
  Responder
#3
(16-04-2019, 11:49 AM)Kurama escribió: Te dejo enlace donde se enseñaba el tutorial de Octoprint. 
https://www.spainlabs.com/foros/tema-Tut...ge-Pi-Zero?

No lo había visto, pues, no está en la categoría de OrangePi, aunque tengo que admitir que tiene sentido ponerlo con el firmware de las impresoras 3D.
De todas formas está bastante vejo aquel tutorial, dice de instalar debian8 con el kernel 3.4 y ya estamos a debian9 con kernel 4.x, y además yo propongo Ubuntu Server 18.04 LTS con kernel 4.19 y soporte para 5 años.
Además explico como instalar Motion para utilizar casi cualquier webcam usb que tengas en el cajón.
Creo que pondré un enlace a este nuevo tutorial en el antiguo.... aunque tengo que pensarlo. Es posible que se enfade alguien y no quiero.
  Responder
#4
Yo es que había visto hace mucho el tutorial, no lo he leído, es más que todo para tenerlos juntos y que sea más fácil de encontrar. Cómo bien dices, todo evoluciona a nuevas versiones así que no hay un tutorial "eterno".

Gracias por tu curro. En breve desempolvaré una orange pi que tengo por casa para hacerlo.
"Enseñar es aprender dos veces".
  Responder
#5
En estos días he actualizado el tutorial del primer mensaje para mejorarlo, así que si lo habéis descargado, os aconsejo de volver hacerlo.
  Responder
#6
Añado que si tienes que poner la webcam patas arriba para poderla fijar bien a el holder, entonces puede corregir este problema en Motion cambiando el valor de Rotate.
Por defecto está a cero, pero lo puedes poner a 180 para girar la imagen patas arriba otra vez y ver la imagen correctamente.

mcedit /etc/motion/motion.conf

cambia
rotate 0

en

rotate 180

y vuelve recarga motion con

service motion restart
  Responder
#7
¿Qué tal va la Orange Pi PC para Octoprint? ¿Es recomendable alguna superior? ¿Rendirá lo suficiente con alguna más pequeña de la familia OrangePi?
  Responder
#8
Un orangePi PC es a mi parecer lo mínimo. Tiene una CPU H3 de 32bit y 1Gb de RAM. Y con octoprint va medianamente bien, por la diferencia de precio, yo utilizaría el orangePi pc2. Es mucho más potente y lo puedes utilizar también como NAS al mismo tiempo que controla tu impresora 3D
  Responder
#9
(14-10-2019, 08:59 AM)maxlinux2000 escribió: Un orangePi PC es a mi parecer lo mínimo. Tiene una CPU H3 de 32bit y 1Gb de RAM. Y con octoprint va medianamente bien, por la diferencia de precio, yo utilizaría el orangePi pc2. Es mucho más potente y lo puedes utilizar también como NAS al mismo tiempo que controla tu impresora 3D
Bueno, voy buscando gastar lo mínimo. La OrangePi PC se va a 25€; en comparación con una Raspberry Pi 3B+ que cuesta 35€...empieza a no merecer la pena.
  Responder
#10
(14-10-2019, 09:30 AM)mianrelie escribió:
(14-10-2019, 08:59 AM)maxlinux2000 escribió: Un orangePi PC es a mi parecer lo mínimo. Tiene una CPU H3 de 32bit y 1Gb de RAM. Y con octoprint va medianamente bien, por la diferencia de precio, yo utilizaría el orangePi pc2. Es mucho más potente y lo puedes utilizar también como NAS al mismo tiempo que controla tu impresora 3D
Bueno, voy buscando gastar lo mínimo. La OrangePi PC se va a 25€; en comparación con una Raspberry Pi 3B+ que cuesta 35€...empieza a no merecer la pena.

bueno, no se donde lo compras tu, pero aquí el PC cuesta 18€ transporte incuído... para la alimentación puedes compararte u cable adaptador de 2€ y usar uno de los cargadores de móvil que tienes el cajón

PC
https://es.aliexpress.com/item/324480791...2448079125


Cable
https://es.aliexpress.com/item/326481013...406cyVKht3

tu mismo
  Responder
#11
hola!!

a raiz de la cuarentena me decidí a seguir este tuto que ya habia visto y todo va bien hasta que compilo octoprint y llego al paso donde compruebo si funciona:

~/OctoPrint/venv/bin/octoprint serve 

y lo que me devuelve la terminal es esto:

octoprint@orangepiplus:~/OctoPrint$ ~/OctoPrint/venv/bin/octoprint serve

Traceback (most recent call last):

  File "/home/octoprint/OctoPrint/venv/bin/octoprint", line 6, in <module>

    from pkg_resources import load_entry_point

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3088, in <module>

    @_call_aside

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3072, in _call_aside

    f(*args, **kwargs)

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3101, in _initialize_master_working_set

    working_set = WorkingSet._build_master()

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 574, in _build_master

    ws.require(__requires__)

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 892, in require

    needed = self.resolve(parse_requirements(requirements))

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 778, in resolve

    raise DistributionNotFound(req, requirers)

pkg_resources.DistributionNotFound: The 'markdown<3.2,>=3.1' distribution was not found and is required by OctoPrint
octoprint@orangepiplus:~/OctoPrint$

entiendo que le falta alguna libreria o paquete. ¿como puedo solucionarlo? (explicado para dummies)

gracias!!
  Responder
#12
(28-04-2020, 04:47 PM)jackblues escribió: hola!!

a raiz de la cuarentena me decidí a seguir este tuto que ya habia visto y todo va bien hasta que compilo octoprint y llego al paso donde compruebo si funciona:

~/OctoPrint/venv/bin/octoprint serve 

y lo que me devuelve la terminal es esto:

octoprint@orangepiplus:~/OctoPrint$ ~/OctoPrint/venv/bin/octoprint serve

Traceback (most recent call last):

  File "/home/octoprint/OctoPrint/venv/bin/octoprint", line 6, in <module>

    from pkg_resources import load_entry_point

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3088, in <module>

    @_call_aside

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3072, in _call_aside

    f(*args, **kwargs)

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3101, in _initialize_master_working_set

    working_set = WorkingSet._build_master()

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 574, in _build_master

    ws.require(__requires__)

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 892, in require

    needed = self.resolve(parse_requirements(requirements))

  File "/home/octoprint/OctoPrint/venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 778, in resolve

    raise DistributionNotFound(req, requirers)

pkg_resources.DistributionNotFound: The 'markdown<3.2,>=3.1' distribution was not found and is required by OctoPrint
octoprint@orangepiplus:~/OctoPrint$

entiendo que le falta alguna libreria o paquete. ¿como puedo solucionarlo? (explicado para dummies)

gracias!!

Lo has solucionado? yo estoy igual que tu

SOLUCION:

Entramos en nuestra OrangePi Zero
una vez dentro debemos estar en la carpeta OctoPrint
Código:
cd Octoprint

luego ejecutamos este comando:
Código:
pip install OctoPrint

y cuando termine (tarda un poco)
Código:
octoprint serve

y listo ya funciona.

Espero que esto le ayude a alguien mas.
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Octoprint en Raspberry y MKS SGEN problema puertos Mafer 2 917 26-10-2021, 02:27 PM
Último mensaje: Mafer
  Configurar tarjeta USB de sonido mbox2 dhavix 0 497 27-05-2021, 09:42 AM
Último mensaje: dhavix
  Yi 4K como WebCam para Octoprint LloyoGame 3 4,823 18-03-2021, 11:39 AM
Último mensaje: LloyoGame
  Raspberry 4 Octoprint LEDS Valurian 0 1,270 16-03-2020, 07:36 AM
Último mensaje: Valurian
  webcam con octoprint Masoar 13 17,766 08-07-2019, 07:46 PM
Último mensaje: Papipapito