Showing posts with label 3d. Show all posts
Showing posts with label 3d. Show all posts

Saturday, April 27, 2019

octoprint y raspberry pi

Recientemente compré una raspberry con el objetivo de instalarle octoprint, en este post quedan mis apuntes de como configurarlo y utilizar en cosas básicas.

Cuando busqué que raspberry buscar lo primero fue leer que viniese con wifi y bluetooth integrado, ya que por cada uno de estos servicios procesos consume un puerto usb.
Así que la compra terminó decantando en la versión 3B plus
y fue amor ♥
solo queda agregar disipadores unir con el case y listo para usar. La imagen la descargue en específico de:
Luego de revisar la integridad de la imagen con el comando md5sum la pasé a la memoria sd mediante el comando dd y sync, fue bastante rápido ya que la imagen no pesa tanto. Una vez hecho esto inicié la imagen de octoprint e ingresé por login, esta imagen no tiene interfaz gráfica por lo que vas a encontrar que es una terminal con login, por defecto esta imagen viene con un login preestablecido que puede ser cambiado con el comando passwd

Datos por defecto.
default username is "pi",
default password is "raspberry"
Una vez haces login editas el archivo octopi-wpa-supplicant.txt que se encuentra en /boot (de la raspberry) Es importante cambiar la contraseña ya que está habilitado ssh! así si lo conectas a una impresora está expuesto.

>> ssh pi@192.168.0.23

o mediante su acceso web

>> http://octopi.local


Cuando ingresas por primera vez al acceso web, octopi te solicita llenar la configuración para limitar el acceso e incluso cambiar las contraseñas.




También por comodidad se puede asignar en el router que siempre le asigne la misma IP de esta forma siempre será accesible y la dirección memorizada.





Cuando ya todo está instalado, te muestra unas recomendaciones

Algo importante es no apagarla desconectando la fuente de poder porque podría tener problemas en un futuro, y requeriría instalar de nuevo la imagen. siempre apagar en el botoncito y esperar a que el led de booteo se muestre en rojito o apagado.
Otro punto importante, tener este comando en mente para cambiar alguna configuración.
>> sudo raspi-config
    Octo print te permite utilizar la raspberry como slicer el tema es que si tienes configuraciones muy especificas que hiciste en el slicer de máquina con algun software particula, conviene sólo usar octoprint enviando el gcode, es muy sencillo te permite organizar todo en carpetas.


así que eso es todo por hoy.
chau




UPDATE: agregando reglas udev para que reconozca que impresora se conectó a cual puerto.

Algo común al reiniciar la raspberry, apagar una impresosora, o dependiendo de la secuencia en la que detecta a la impresora, si tienes más de una impresora conectada cambia el puerto de conexión por la impresora que encendió primero o la que detectó primero.

Para evitar eso es necesario crear un regla udev, que no te dejará de asignar el puerto random tty, pero al menos puedes crear un duplicado apuntando al mismo dispositivo en este caso la impresora.

En el directorio:


/etc/udev/rules.d/

van a conseguir todas las reglas por defecto que realiza el sistema o distribución. en nuestro caso vamos agregar una más con la siguiente nomeclatura

99-usb-serial1.rules
99-usb-serial.rules

donde el contenido de la regla es el siguiente:


SUBSYSTEM=='tty', ATTRS{idVendor}=="0403", ATTRS{idProducto}=="6001", ATTRS{serial}=="A96H17RV", SYMLINK+="TTYUSBTORNADO"

Y eso es todo! 

esto sirve para la impresora tornado, estos numeros de idVendor y idProducto lo obtienes mediante varios comandos como:



udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB0)
 
dmesg | grep tty
 
lsusb

lsusb -v | grep -iE '(^bus|idvendor|idproduct)'  
 
udevadm info -a -n  /dev/ttyUSB0 | grep '{serial}' | head -n 1
 



y comparando, desconectando y conectando leyendo lsusb y dmesg lo identificas mas rapido.

Tuesday, July 10, 2018

Instalando el cliente de arduido y ademas marlin para editar config de prusa


Instalando el ide de arduino  y Marlin.
primero descargar de la url https://arduino.cc/en/main/software el IDE:


Luego de haber bajado esto, descomprimir tar -xvf archivo.tar.xz


y ejecutar el script sh que dice install.sh realmente lo que hace es crear un link simbólico a este directorio, de esta forma queda solo permitido a este usuario, por esto no requiere permisos de root

y  la ruta del link simbolico o archivo.desktop direcciona a ./arduino.

¿Cómo comprobar que se instaló ok?

si cuando se conecta la impresora detecta el puerto y el tipo de board (mega 2560)
en la pestaña tools>> ports >> ttyusb0 se debe desbloquear y debes poder seleccionar esa opción ademas en el listado de boards hay que seleccionar mega 2560 para que carque el listado de ejemplos disponibles a probar.

Algo importante si se compilo el Marlin con una versión de IDE de arduino diferente, es tedioso y genera muchos errores como:

/home/j3nnn1/pkgs/arduino/arduino-1.8.5/Marlin/Marlin.ino:44:101: fatal error: U8glib.h: No such file or directory
     #include // library for graphics LCD by Oli Kraus (https://code.google.com/p/u8glib/)

fatal error: :utility/u8g.h: No such file or directory

y luego resultaba en un error de token en parte del código de Marlin, por lo que me di por vencida y es mejor o comenzar de 0 configurando Marlin o instalar las versiones exactas de quien compilo el Marlin.

En mi caso descargue la versión del IDE de arduino 1.6.1 y al copiar la carpeta Marlin  y hacer click en verificar funcionó. no recuerdo si copió la librería U8glib a las libraries de Arduino.  pero se van a dar cuenta si lo necesitan hacer porque muestra uno de los errores de arriba.

con esto estaría para verificar que compile bien!

Copiar el directorio Marlin dentro de la carpeta arduino e instalar los plugins o librerias faltantes o de dependencia de marlin.

Quedaría como directorio:
Arduino-1.6.1/
---------Marlin/
-----------------U8glib/
-----------------Marlin.ino (Este archivo es el que abrimos con el IDE de arduino)

o en el IDE de arduino más actualizado quedaría sólo el Marlin y la librerio U8glib se instala en el home del usuario.

Arduino-1.8.1/
---------Marlin/
-----------------Marlin.ino

~/Arduino/libraries/U8glib

Algo que me ayudó a configurar Marlin fue este enlace: http://zennmaster.com/random-things/reprap-101-activating-marlins-eeprom-functions-and-what-that-does-for-you
y este en palabras más técnicas:Marlin Config

ya que quería activar esta configuración pero no conocía como se llamaba, esto lo explica en palabras fáciles.
en mi caso sólo descomentar:

#define EEPROM_SETTINGS
#define EEPROM_CHITCHAT

Al subir el firmware y reiniciar se verían nuevas opciones(Store Memory and Load Memory) en el lcd de la placa.

Luego click en el boton Verificar.

Para subir el software a la placa:

* hay que ser root o agregarlo al grupo que tenga acceso al puerto usb donde se conecta la placa.
* instalé estos paquetes:
         # pacman -S avrdude
         # pacman -Syu community/arduino-avr-core community/avr-gcc
* click en el boton upload del IDE de arduino.
* generó otro error que medio lo solucioné con un link simbolico al binario instalado en mi distribución, para esto hay que instalar los paquetes:

Error: libncurses.so.5: cannot open shared object file: No such file or directory

lo solucioné haciendo:
j3nnn1:arduino-1.6.1/ $ rm ./hardware/tools/avr/bin/avrdude 
j3nnn1:arduino-1.6.1/ $ ln -s /usr/bin/avrdude ./hardware/tools/avr/bin/avrdude

(tomado de inspiración de http://fkcsmart.blogspot.com/2016/02/arduino-avrdude-q-avrdude-error-while.html) 



Y luego de esto subió el software a la placa. Algo a tomar en cuenta es:

Sólo usar un programa a la vez que se conecte al puerto /dev/tty0USB0
por ejemplo error que tenía usé el programa: pronterface y al mismo tiempo tenía el IDE de arduino.
(uno de los dos fallaba la conexión con la placa) el error mostraba
time out to connect with programmer

Otra vez me paso con iniciar el software slicer con cura y tener levantado el IDE de arduino.

:P

Happy slicing