Controlant la nostra impressora 3D amb OctoPrint, The Spaghetti Detective i Home Assistant

Bo, aquest crec que serà un post assalvatjat, així que des de ja us vaig demanar disculpes… ¿Bueno què? Intentarem veure com instal·lar OctoPrint per controlar les nostres impressores 3D, continuarem amb The Spaghetti Detective perquè algú miri per nosaltres durant la impressió i si succeeix alguna cosa inoportú pare la impressió, o faci el que hagi de fer. I acabem integrant això amb Home Assistant, amb idea de crear automatitzacions i centralitzar el govern.

Al final em vaig animar a escriure aquest post, no és que sigui el blog de temàtica impressores 3D, però com potser sigui comú que molts frikis les tinguem, i és interessant que puguem conèixer aquest tipus de solucions i integracions entre elles.

Començarem amb Octoprint, que l'instal·larem en una Raspberry Pi, o bé si ho prefereixes i ets més còmode, pots directament baixar-te la imatge de la targeta SD i llest. Aquest Octoprint ens permetrà manejar la impressora 3D de manera remota i sense fil, així com les tasques més habituals com és manar alguna cosa a imprimir, veure com va, parar-lo… Després el dit, seguirem muntant el nostre propi servidor de The Spaghetti Detective, que com el seu nom indica investigarà i ens alertarà en cas de veure espaguetis o ́si es mou la peça, en determinat, si la impressió falla, i tot això mitjançant una webcam. I al final del post el dit, integrarem Octoprint amb Home Assistant per poder manejar-lo des d'aquí directament i tinguem la possibilitat de fer alguna automatització.

.

Instal·lant OctoPrint,

El que s'ha dit, o ens baixem la imatge directament i ens oblidem d'aquests passos, o si volem, al nostre Raspbian podrem instal·lar-lo, al gust del consumidor. Passos per instal·lar-lo manualment:

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

.

I ja podrem obrir el navegador contra l'adreça IP de la Raspberry Pi que té OctoPrint, després d'un simple assistent inicial de benvinguda, on entre altres opcions haurem configurat breument quina impressora tinguem. Recordar connectar el cable USB entre la Rasbperry Pi i la placa de la impressora, després d'això, podrem connectar ja amb la impressora.

I donar-li una ullada que la GUI és bastant simplona i és molt senzill el seu ús.

Si us fixeu bé, aquestes pantalles són de fa temps, on fins i tot em donava una alerta pq el firmware que feia servir el meu Anet A8 era d'aquells perillosos que podia calar foc… A dia d'avui això ja està corregit amb Marlin 🙂

.

El que haurem de fer, serà instal·lar el Plugin de The Spaghetti Detective a OctoPrint, per a això anem a “Settings” > “Plugin Manager” > “Get More…” i escrivim “The Spaghetti Detective”, ens apareixerà al llistat i li donem a “Install…”

.

Quan finalitzi li donem “Restart now”, per ara acabem amb OctoPrint, després tornem.

.

Instalar The Spaghetti Dectective

TSD requerirà almenys 2GB de RAM, pel que potser si tens una Raspberri Pi anterior a la 4 no podràs fer gaire, en el meu cas personal la tinc corrent sota una màquina virtual. Aquests són els passos que necessitaràs per tenir-lo instal·lat, necessitarem prèviament instal·lar Docker i després serà tan senzill com clonar-nos el repositori i aixecar el contenidor amb tot ready. Si vols més info, el seu lloc oficial.

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

.

Un cop el contenidor de The Spaghetti Dectective s'ha aixecat, podem amb un navegador anar a la web d'admin de Django: http://DIRECCION_IP:3334/admin

Per defecte, entrarem com a ro**@ex*****.com amb contrasenya supersecret

.

A la web d'administració de Django, anem a “Sites” i en “Domain Name” indiquem DIRECCION_IP_TSD:3334 i posem en “Save”.

.

Ara, si anem a l'interfície http://DIRECCION_IP_TSD:3334/ podrem afegir la nostra impressora des de la pestanya “Printers” > “Add Printer”.

.

Emplenem l'assistent, li donem un nom a la impressora i què fer en cas de fallada, “Next”,

.

Ens indica que instal·lem el Plugin de The Spaghetti Dectective a OctoPrint, cosa que ja deixem feta abans si ho recordeu. “Next”,

.

Ara ens demana el Token per tenir accés a OctoPrint, això d'on es treu? t'ho deixo a la següent pantalla.

.

Si anem als Settings d'OctoPrint > “API” aquí el tindràs. Si algú està avorrit el codi QR està modificat 😉

.

Per cert, no oblidem en els mateixos Settings d'OctoPrint configurar l'adreça IP del servidor The Spaghetti Dectective. I gravar els canvis.

.

Total, que llavors ja podríem seguir amb l'assistent i esperar que es connectin…

.

Perfecte! Tenim tot llest.

.

Podrem veure que TSD es connecta perfectament al nostre OctoPrint, i veurem la impressió en directe, on veurem com va detectant en temps real si hi ha qualsevol fallada… A més recorda que pots configurar des d'aquí directament perquè et faci uns timelapses, ja veuràs que xulos queden.

Per cert, si queda algun dubte, la camara està connectada a la Raspberry Pi que corre OctoPrint, bé sigui una webcam genèrica per USB o sigui el mòdul de càmera propietari amb el cable flexible.

I no queda gaire més que fer, amb això tindrem les nostres impressions i impressores segures, si passa alguna cosa i no estem, ens assabentarem.

.

Integrant OctoPrint amb Home Assistant,

Si volem tenir aquest interfície, per poder conèixer l'estat de la nostra impressora 3D des del mateix Home Assistant, amb la idea de seguir centralitzant tots els nostres dispositius intel·ligents de la llar… doncs ho tenim molt fàcil, com sempre, editem el nostre configuration.yaml i afegirem el següent:

octoprint:
  host: DIRECCION_IP_OCTOPRINT api_key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX: Anet A8 bed: true # true si la nostra impressora té llit que es calfa number_of_tools: 1 # Nombre de broquets camera:
  - platform: mjpeg name: OctoPi still_image_url: http://DIRECCION_IP_OCTOPRINT/webcam/?action = snapshot mjpeg_url: http://DIRECCION_IP_OCTOPRINT/webcam/?action = stream

.

I amb això ho tenim tot llest, reiniciem Home Assistant i afegim les entitats a una targeta, ¡fi!

Bo, amb això últim ho deixem per ara amb aquest post, és un exemple d'una automatització basant-nos en l'estat de la nostra impressora 3D, que com podem veure, quan finalitzi la impressió manarà un missatge de Telegram i a més ens ho notificarà pels altaveus de casa 🙂

Com sempre, espero us hagi estat d'interès i agrair-vos a tots els que doneu aquests Likes i Recomanacions en xarxes socials.

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!