Gure 3D inprimagailua OctoPrintekin kontrolatzea, The Spaghetti Detective eta Home Assistant

Onena, hau uste dut post sutsua izango dela, hori dela eta, aldez aurretik barkamena eskatzen dizuet… Ba, zer? Saiatuko gara OctoPrint nola instalatu ikusten gure 3D inprimagailuak kontrolatzeko, jarraituko dugu The Spaghetti Detective erabiliz norbaitek inprimaketa bitartean begiratuko duela eta zerbait desegokia gertatzen bada, inprimaketa geldituko duela, edo egin behar duena egingo duela. Eta amaieran hau Home Assistant-ekin integratuko dugu, automatizazioak sortzeko eta gobernua zentralizatzeko asmoarekin.

Azkenik, posta hau idaztera ausartu nintzen, ez da 3D inprimagailuei buruzko blog bat, baina agian friki askok izatea ohikoa dela-eta, y es interesante que podamos conocer este tipo de soluciones e integraciones entre ellas.

Empezaremos con Octoprint, que lo instalaremos en una Raspberry Pi, o bien si lo prefieres y eres más cómodo, puedes directamente bajarte la imagen de la tarjeta SD y listo. Este Octoprint nos permitirá manejar la impresora 3D de manera remota e inalámbrica, así como las tareas más habituales como es mandar algo a imprimir, ver cómo va, pararloLuego lo dicho, seguiremos montando nuestro propio servidor de The Spaghetti Detective, que como su nombre indica investigará y nos alertará en caso de ver espaguetis o ´si se mueve la pieza, en determinado, si la impresión falla, y todo ello mediante una webcam. Y al final del post lo dicho, integraremos Octoprint con Home Assistant para poder manejarlo desde ahí directly y tengamos la posibilidad de hacer alguna automatización.

.

Instalando OctoPrint,

Esan dut, o nos bajamos la imagen directly y nos olvidamos de estos pasos, o si queremos, en nuestro Raspbian podremos instalarlo, al gusto del consumidor. Pasos para instalarlo manualmente:

sudo apt update
sudo apt install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential
mkdir OctoPrint && cd OctoPrint
virtualenv venv
source venv/bin/activate
pip install pip --upgrade
pip install --no-cache-dir octoprint
sudo usermod -a -G tty pi
sudo usermod -a -G dialout pi
~/OctoPrint/venv/bin/octoprint serve

.

Y ya podremos abrir el navegador contra la dirección IP de la Raspberry Pi que tiene OctoPrint, tras un simple asistente inicial de bienvenida, donde entre otras opciones habremos configurado brevemente qué impresora tenenemos. Recordar conectar el cable USB entre la Rasbperry Pi y la placa de la impresora, tras ello, podremos conectar ya con la impresora.

Y darle un vistazo que la GUI es bastante simplona y es muy sencillo su uso.

Si os fijáis bien, estos pantallazos son de hace tiempo, donde incluso me daba una alerta pq el firmware que usaba mi Anet A8 era de esos peligrosos que podía prender fuego… A día de hoy eso ya está corregido con Marlin 🙂

.

Lo que tendremos que hacer, será instalar el Plugin de The Spaghetti Detective en OctoPrint, para ello vamos a “Ezarpenak” > “Plugin Manager” > “Get More…” y escribimos “The Spaghetti Detective”, nos aparecerá en el listado y le damos a “Install…”

.

Cuando finalice le damos “Restart now”, por ahora acabamos con OctoPrint, luego volvemos.

.

Instalar The Spaghetti Dectective

TSD requerirá al menos 2GB de RAM, por lo que quizá si tienes una Raspberri Pi anterior a la 4 no podrás hacer mucho, en mi caso personal la tengo corriendo bajo una máquina virtual. Estos son los pasos que necesitarás para tenerlo instalado, necesitaremos previamente instalar Docker y luego será tan sencillo como clonarnos el repositorio y levantar el contenedor con todo ready. Si quieres más info, su sitio oficial.

apt-get install docker docker-compose
git clone https://github.com/TheSpaghettiDetective/TheSpaghettiDetective.git
cd TheSpaghettiDetective
sudo docker-compose up -d

.

Una vez el contenedor de The Spaghetti Dectective se ha levantado, podemos con un navegador ir a la web de admin de Django: http://DIRECCION_IP:3334/admin

Lehenetsitakoaren arabera, entraremos como ro**@*****le.com con contraseña supersecret

.

En la web de administración de Django, vamos a “Sites” y en “Domain Name” indicamos DIRECCION_IP_TSD:3334 eta sustatu “Gorde”.

.

orain, si vamos al interfaz http://DIRECCION_IP_TSD:3334/ podremos añadir nuestra impresora desde la pestaña “Printers” > “Add Printer”.

.

Cumplimentamos el asistente, le damos un nombre a la impresora y qué hacer en caso de fallo, “Next”,

.

Nos indica que instalemos el Plugin de The Spaghetti Dectective en OctoPrint, cosa que ya dejamos hecha antes si lo recordáis. “Next”,

.

Ahora nos pide el Token para tener acceso a OctoPrint, eso de donde se saca? te lo dejo en el siguiente pantallazo.

.

Si vamos a los Settings de OctoPrint > “API bidez” ahí lo tendrás. Si alguien está aburrido el código QR está modificado 😉

.

Bestela, no olvidemos en los mismos Settings de OctoPrint configurar la dirección IP del servidor The Spaghetti Dectective. Y grabar los cambios.

.

Guztira, que entonces ya podríamos seguir con el asistente y esperar que se conecten…

.

¡Perfecto! Tenemos todo listo.

.

Podremos ver que TSD se conecta perfectamente a nuestro OctoPrint, y veremos la impresión en directo, donde veremos cómo va detectando en tiempo real si hay cualquier fallo… Además recuerda que puedes configurar desde aquí directamente para que te haga unos timelapses, ya verás que chulos quedan.

Bestela, si queda alguna duda, la camara está conectada a la Raspberry Pi que corre OctoPrint, bien sea una webcam genérica por USB o sea el módulo de cámara propietario con el cable flexible.

Y no queda mucho más que hacer, honekin gure inprimaketak eta inprimagailuak seguruak izango ditugu, zerbait gertatzen bada eta guk ez bagara, jakitun izango gara.

.

OctoPrint Home Assistant-ekin integratzea,

Interfaze hau edukitu nahi badugu, gure 3D inprimagailuaren egoera Home Assistant-etik bertatik ezagutu ahal izateko, gure etxeko gailu adimendunak zentralizatzen jarraitzeko ideiarekin… oso erraza da, como siempre, configuration.yaml editatuko dugu eta hurrengoa gehituko dugu:

octoprint:
  host: DIRECCION_IP_OCTOPRINT
  api_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  name: Anet A8
  bed: true # benetakoa gure inprimagailuak berogailua badu
  number_of_tools: 1 # Bozilka kopurua

camera:
  - platform: mjpeg
    name: OctoPi
    still_image_url: http://DIRECCION_IP_OCTOPRINT/webcam/?action=snapshot
    mjpeg_url: http://DIRECCION_IP_OCTOPRINT/webcam/?action=stream

.

Eta horrekin dena prest dugu, Home Assistant berrabiaratzen dugu eta entitateak txartel batean gehitzen ditugu, Amaiera!

Onena, Honen bidez gaurkoan post honekin bukatzen dugu, Hau da automatizazio baten adibide bat, gure 3D inprimagailuaren egoeran oinarrituta, Ikusten dugun moduan, Inprimaketa amaitzean Telegram mezua bidaliko du eta gainera etxeko bozgorailuen bidez jakinaraziko digu 🙂

Betiko moduan, Espero dut zuen interesa piztu izana eta sare sozialen Like eta Gomendioak ematen dituzuen guztiei eskerrak ematea.

Izenburuko mezuak

Egilea

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, ez zalantzarik izan nirekin harremanetan jartzeko, ahal duzun guztietan laguntzen saiatuko naiz, partekatu ahal dudan guztietan ;) . Dokumentuez gozatu!!!