The Spaghetti Detective

The Spaghetti Detective: Monitorizando Octoprint desde Internet de forma segura

Si eres un trastornado por la impresión 3D probablemente habrás dejado alguna vez tus máquinas imprimiendo sin monitorización alguna. Esta es una práctica bastante habitual aunque ciertamente poco recomendable, ya que infinidad de problemas pueden surgir durante la impresión de tus piezas.

No obstante, aplicaciones como Octoprint nos ayudan con la monitorización de nuestra impresora de una forma espectacular. Poder acceder remotamente desde tu móvil a parámetros de tu impresora y modificarlos en tiempo real no tiene precio.

En 3DWork hace algún tiempo dedicamos una serie de artículos a Octoprint. Así que si no estás familiarizado con esta aplicación, te recomiendo encarecidamente que leas nuestro artículo Octoprint: Gestiona tu impresora 3D remotamente con Raspberry Pi y Octopi para ponerte en antecedentes.

Una vez lo conozcas podrás disfrutar de la gran infinidad de plugins (o extensiones) que posee. Entre ellos encontrarás auténticas perlas que te facilitarán bastante la vida, cómo también puedes comprobar en este otro artículo Los 10 plugins de Octoprint más interesantes (y como instalarlos).

 

¿Qué es The Spaghetti Detective?

The Spaghetti Detective es un software de inteligencia artificial de código abierto y basado en Deep learning que se ocupa de «detectar» impresiones fallidas. O como ellos indican, spaghettis inundando nuestra superficie de impresión.

El proceso es relativamente sencillo y mediante nuestra cámara web (USB o nativa de Raspberry Pi) el propio software efectuará fotografías que posteriormente analizará y nos notificará si nuestra impresión esta fallando o no, con una tasa de acierto relativamente alta.

En el vídeo a continuación puedes ver como tras detectar algún objeto extraño en movimiento lo «encasilla» en un cuadrado verde y valora si puede ser una falla o no de nuestra impresora. Si considera un resultado negativo, lanzará la notificación o acción programada.

Estas notificaciones podrán ser via Email, Telegram o PushBullet si utilizamos la versión gratuita, o además podrá enviarnos SMS a nuestro móvil, si optamos por la versión profesional. Bastante interesante si disponemos de entornos de alta producción o granjas de impresión 3D ciertamente.

Con The Spaghetti Detective no solamente puedes monitorizar una sola impresora, sino que te permite gestionar el número de ellas que precises. No obstante, para monitorizar un grupo de impresoras deberás elegir algún plan de pago, aunque los mismos son bastante económicos como puedes comprobar en el siguiente enlace.

Además, al ser un software de código abierto, si eres un paranoico de la seguridad y no deseas utilizar la nube para tal efecto, siempre puedes instalarte tu propio servidor en un viejo ordenador que tengas por casa o incluso en una tarjeta Jetson Nano de la conocida marca NVIDIA.

De esta forma tendrás todo en modo local y reduciendo al máximo cualquier posible brecha de seguridad. Los fuentes del servidor los puedes encontrar en el repositorio de The Spaghetti Detective en Github, así como todas las instrucciones para su instalación en el siguiente enlace.

 

YOLOv3: El algoritmo detrás del plugin

The Spaghetti Detective utiliza Deep Learning para aprender y mejorar la detección de estas fallas en nuestras impresiones. Para ello se ayuda de un propio algoritmo de aprendizaje específico para tal tarea que desarrolló Kenneth Jiang.

Este se basó en otro algoritmo ya existente y bastante conocido denominado YOLOv3 para detección de objetos en movimiento en tiempo real. En el siguiente video de Youtube puedes ver a YOLOv3 en acción trabajando incluso con múltiples imágenes sin problema alguno.

Si estás interesado en el tema, puedes encontrar más información sobre Yolov3 en el siguiente enlace, así como comparativas con otros detectores, rendimiento, información técnica y mucho más.

 

Componentes necesarios

Por aquí os dejo algunos de los componentes que aparecen en el artículo de hoy. Es mi deber informarte que son enlaces de afiliados a diferentes Marketplaces de internet.

Si los utilizas me quedará una pequeña comisión y estarás aportando tu granito de arena al proyecto 3DWork.

Raspberry Pi 4 Amazon Logo PNG e1579685453346 aliexpress logo banggood
Tarjeta MicroSD + Lector Amazon Logo PNG e1579685453346 banggood
Fuente alimentación 3A Amazon Logo PNG e1579685453346 banggood
Carcasa (opcional) Amazon Logo PNG e1579685453346 banggood
Jetson Nano (opcional) Amazon Logo PNG e1579685453346

 

Instalar y configurar Octoprint

raspberry pi psu

Es esencial e imprescindible disponer de una Raspberry Pi con Octoprint instalado, de lo contrario no podremos utilizar The Spaghetti Detective. La instalación y configuración es un proceso extremadamente sencillo y que puedes abordar en unos simples minutos.

En este artículo no vamos a explicar el proceso, ya que como mencioné previamente disponemos de un extenso y detallado artículo que te servirá de ayuda en el siguiente enlace:
Octoprint: Gestiona tu impresora 3D remotamente con Raspberry Pi y Octopi.

Una vez que hayas instalado Octoprint y configurado correctamente, puedes continuar con los siguientes puntos del artículo.

 

Instalando el plugin «The Spaghetti Detective»

Installing The Spaghetti Detective

El primero paso que debemos efectuar para poder utilizar The Spaghetti Detective es instalar el plugin homónimo disponible para Octoprint. Para descargarlo, iremos a nuestro navegador, accederemos a Octoprint e iremos a Settings -> Plugin Manager.

Pulsaremos el botón «Get More…» e introduciremos «The Spaghetti Detective» en el campo de búsqueda. Clic en Install y en breves segundos ya estará instalado en nuestro servidor, listo para utilizarse.

 

Crear cuenta de acceso

TSD2

Después de instalar el plugin, el servidor Octoprint nos recomendará reiniciar el servidor. Una vez reiniciado si vamos a Settings veremos que en la columna izquierda, al final de todo aparecerá «The Spaghetti Detective» disponible en la sección PLUGINS.

Haremos clic y nos aparecerá una sección de 3 simples pasos para finalizar la configuración del plugin. El primero será crear una cuenta en la página web, a la cual accederemos haciendo clic en «Sign up» o en el siguiente enlace.

 

Obteniendo nuestro TOKEN

TSD3

Una vez nos hayamos registrado en su página web, deberemos registrar nuestra impresora, así que haremos clic en «Add Printer» y accederemos a un formulario. Nos pedirá el nombre que deseemos darle a nuestra máquina y que acción efectuar cuando se detecte algún problema en la misma (notificar o notificar y pausar la impresión).

Luego nos indicará instalar el plugin (el cual ya hemos instalado previamente) y si continuamos nos facilitará un TOKEN (o clave), para enlazar la web con nuestro servidor Octoprint.

 

Introduciendo TOKEN en el plugin

Con el TOKEN en nuestro poder, volveremos de nuevo a Octoprint y lo introduciremos en el campo donde se nos solicita. Tras pegar allí el TOKEN, apretaremos el botón «Test» y si todo es correcto el sistema nos lo hará saber con la siguiente frase:

«Secret token is valid. You are awesome!»

Y con esto ya habremos configurado y enlazado «The Spaghetti Detective» en nuestro flamante servidor Octoprint, felicidades!

 

Algunas recomendaciones

The Spaghetti Detective: Monitorizando Octoprint desde Internet

The Spaghetti Detective no siempre es perfecto y alguna vez puede errar al intentar detectar un problema. Recuerda que el algoritmo va «aprendiendo» literalmente. No obstante, el disponer de unas imágenes más nítidas y bien iluminadas ayudará notablemente al software a poder detectar correctamente la mayoría de los problemas.

Para mejorar las posibilidades de detección todo se resume claramente en 3 puntos básicos, el ángulo, la iluminación y el enfoque, nada más.

Con enfoque nos referimos a que la cámara debe cubrir prácticamente la totalidad de la superficie de impresión, como es lógico. También evitaremos incluir demasiado fondo, para que no se vean cables u otros elementos que puedan confundir a nuestro detective.

Para la iluminación, asegúrate de que el entorno se encuentre bien iluminado. En caso de que apagues la luz durante la impresión deberás dejar una pequeña lámpara iluminando tu impresora. Además, debes evitar cualquier luz de fondo. Esto significa que tu impresora no se encuentre entre la cámara y el punto de luz, sino que cámara y luz se dispongan en el mismo lado. Por último minimiza las posibles sombras que puedan aparecer.

Y sobre el enfoque pues hay poco que hablar la verdad. Cuanto más nítida sea la captura, mejor procesará los datos nuestro detective, lógica aplastante. Así que te recomiendo que pierdas un poquito de tiempo en encontrar el ajuste perfecto, en caso de que tu cámara no enfoque automáticamente.

Existen diversos tutoriales para ajustar enfoques en algunas de las cámaras más comunes utilizadas con las Raspberry Pi. Os dejo por aquí algunos enlaces a los mismos que espero puedan serviros de ayuda:

 

 

Bueno, espero y deseo que este nuevo y breve artículo haya sido de tu agrado. Por favor, no dudes en agregarnos a nuestras redes sociales (Facebook, Twitter, Instagram) o a visitarnos en nuestros canales de Telegram y Whatsapp, de esta manera estarás soportando nuestro proyecto.

 

Puedes encontrar más artículos interesantes en 3DWork.io en los siguientes enlaces: