Mein 3D Druck Setup | Anycubic MEGA X mit Print over Network, Webcam, usw…

Die neuen 3D Drucker haben Features wie Print over Network, eine App, Webcam mit Zeitraffer, usw. Solche Features hat mein Anycubic MEGA X nicht, ich habe sie aber recht einfach nachgeürstet. Das besondere dabei ist, dass an der Hardware des Druckers nichts verändert wurde und er auch einfach so drucken kann.

YouTube Video zum Beitrag

https://youtu.be/y5Jub-84lfs

00:00 Intro

01:36 Druckeransteurung mit OctoPrint

04:11 Automatisierung, etc mit Home Assistant

04:59 Home Assistant #1: Benachrichtigungen

05:45 Home Assistant #2: Kamera für OctoPrint über http

09:25 Homme Assistant #3: OctoPrint Autoconnect

12:27 Home Assistant #4: Drucker App

13:52 Slicer: Cura 4.13.1

16:50 Outro

Vorraussetzungen:

  • Home Assistant Instanz, in der DU die configuration.yaml bearbeiten kannst, mit z.B. Studio Code Server
  • Eine OctoPrint Instanz (Per Integration in Home Assistant eingebunden)
  • Smart Plug (muss mit Home Assistant kompatibel sein & in deiner Instanz auch hinzugefügt sein)

Downloads:

Druckeransteuerung mit OctoPrint

OctoPrint ist eine schöne Möglichkeit, um dem 3D Drucker ein Webinterface zu verpassen. OctoPrint kann durch den Snapshot Feed der Kamera dann auch eine Zeitrafferaufnahme erstellen, die Qualität der Aufnahme ist natürlich aber auch von der Positionierung der Kamera abhängig. Hier nutzen wir OctoPrint, da es eine API hat, die wir einfach ansteuern können, welche wir am Ende im Slicer und in Home Assistant brauchen.

Hier sind mal ein paar Screenshots aus dem OctoPrint Webinterface.

Normalerweise ist es nicht Port 5000, das liegt aber da dran, dass ich es manuell auf einer Ubuntu Server VM installiert habe und dabei den Proxy nicht konfiguriert habe.

Benachrichtigungen per HA Companion App

Vorrausgesetzt du hast OctoPrint in Home Assistant integriert & die Home Assistant App auf deinem Gerät (Handy/Tablet/Laptop) installiert hast, kannst du Benachrichtigungen bekommen, wenn der Drucker fertig ist.

Dafür einfach die Autmation (printer_is_finished_notification.yaml) aus der Repository (oben verlinkt) einfügen und die Entity des Gerätes, welches die Benachrichtigung empfängt & vielleicht, sofern es nötig ist die Entity der OctoPrint Instanz ändern. Um zu testen, ob die Benachrichtung ankommt ber der Aktion einfach auf die 3 Punkte und ann auf „Ausführen“ drücken.

In der Automation kannst du auch mehrere Aktionen für Benachrichtigungen hinzufügen, oder andere Akitionen, die ausgeführt werden sollen, wenn der 3D Drucker mit dem Druck fertig ist.

Kamera für OctoPrint über motionEye in Home Assistant

Motioneye wird genutzt, damit OctoPrint ordentlich auf die Kamera zugreifen kann, da das die einfachste Möglichkeit ist, ohne irgendeinen Streamer auf dem OctoPrint Gerät zum laufen zu bekommen.

Sofern du OctoPrint auf einem Raspberry Pi mit dem offiziellen Image nutzt, kannst du motioneye überspringen, da das RPI Image schon einen USB Streamer installiert hat.

Da Home Assistant bei mir auf einer VM auf meinem Proxmox läuft, habe ich die USB Webcam an den PVE Host angeschlossen, und den Port an die VM durchgegeben.

motionEye kannst du einfach aus dem HA-Addon Store installieren.

Sofern du es installiert hast dann am besten einfach alle Optionen aktivieren und es natürlich auch starten

Im motionEye Menü dann einfach die Kamer a hinzufügen. Optional kannst du jetzt auch noch den Namen anpassen & motionEye bei den Integrationen hinzufügen.

Im Menü jeztzt zu Videostream navigieren und den Stream, z.B. auf Port 9081 freigeben. Dabei die Authetifizierung deaktiveren, damit wir mit OctoPrint Problemlos drauf zugreifen können.

Die Stream URL sieht dann so aus:

Videostream:

http://HA_IP:CAM_PORT

Snapshot URL (wird für Zeitraffer benötigt):

http://HA_IP:CAM_PORT/current

Um den Videostream zu testen, die StreamURL einfach im Browser, oder z.B. VLC eingeben.

Diesen Stream & Snapshot URL kannst du dann auch in OctoPrint im Webcam Menp (bei mir Classic Webcam hinzufügen:

Dann sollte die Webcam auch ohne Probleme funktionieren.

OctoPrint Autoconnect

Damit sich OctoPrint automatisch mit dem Drucker verbindet, wenn dieser eingeschaltet wurde, brauchen wir NUR einen Smart Plug, der mit deiner Home Assistant Instanz kompatibel ist & einen API Key aus OctoPrint.

Dafür einfach in den OctoPrint Einstellungen unter Application Keys einen erstellen.

Diesen Key kannst du dann jederzeit abrufen, trotzdem solltest du für jede Anwendung einen neuen Application Key erstellen.

Damit wir jetzt die configuration.yaml bearbeiten könne, am besten Studio Code Server installieren und dort die configuration.yaml öffnen.

Jetzt den Code( autoconnect_conf.yaml aus der Repo (oben verlinkt)) einfügen und IP, PORT & API Key DEINER OctoPrint Instanz einfügen und Home Assistant dann neu starten.

Damit OctoPrint sich dann auch automatisch verbindet, musst du eine Automation in Home Assistant erstellen un den YAML Editor öffnen(OBEN RECHTS im Drei-Punkte Menü) und den Code aus der autoconnect_automation.yaml einfügen und wieder in den normalen Modus.

Sofern du nichts an dem Namen bei der rest Integration in der configuration.yaml geänder hast, einfach nur die Entity der Steckdose und die Verzögerung ändern.

Die Verzögerung ist da, damit der 3D Drucker Zeit hat um zu starten, das musst du dann aber an deinen Drucker anpassen.

Die Automation muss jetzt nur noch gespeichert werden und wenn du alle Schritte befolgt hast, sollte alles funktionieren.

App

Die App meines 3D Drucker soll für mich ein Druck stoppen, pausieren & fortsetzen können. Sie soll einen Druck nicht starten, bzw. nicht slicen können. Daher ist die App meines Drucker einfach die Home Assistant App, bzw. ein Teil von meinem Home Assistant Dashboard.

Das hier ist mein Home Assistant Dashboard für meinen 3D Drucker. Dort kann ich den Drucker Ein-, bzw. Ausschalten, das Licht im Raum Ein-, bzw. Ausschalten, den Druck steuern, Daten zum Druck & dem Drucker einsehen und den Kamera Feed einsehen, da ich motionEye in Home Assistant integriert habe.

In der Repository, die oben verlinkt ist, gibt es einmal mein komplettes Handy Dashboard (mobile_dashbaord-app_full.yaml) und NUR die 3D Druck Seite als eigenes Dashboard (mobile_dashboard-app_3d.yaml).

Dafür wird aber das Mushroom Frontend, welches es in HACS gibt benötigt.

Slicer: Cura (4.13.1)

Der Slicer ist Cura, in dem Fall Cura 4.13.1, da ich ab neuren Versionen immer Probleme mit dem Druckergebnis hatt. Da Cura 4.13.1 aber Problemlos auf meinem M2 MacBook Air läuft, sehe ich keinen Grund es zu updaten.

Damit wir jezt aber in Cura „Print over Network“ nutzen können, müssen wir zuerst das „OctoPrint Connection“ Plugin installieren.

Das Plugin hier einfach installieren(rechts das dritte von OBEN).

(Es kann sein, dass der Cura Marketplace kruz braucht, bis er geladen hat)

Einfach installieren und wenn der Button „Quit Ultimaker Cura“ kommt Cura mit diesem schließen und dann erneut starten.

Dann oben auf deinen Drucker klicken und dann auf „Manage Printers“. Hier gehen wir dann auf „Connect OctoPrint“

Dort dann einen Namen, IP & Port DEINER Instanz eingeben und unten deine Logindaten von deinem OctoPrint Benutzer.

Jetzt musst du wie bei dem Autoconnect einen API KEy für Cura erstellen, den im API Key Feld einfügen und ann auf Connect gehen.

Wenn das geklapt hat, sollet so ein blauer Haken bei deinem 3D Drucker oben stehen.

Jetzt kannst du dann einfach auf „Print with OctoPrint“ gehen und Cura dann auch schließen, da er die .gcode Datei auf OctoPrint hochlädt.

Das hier ist dann mein 3D Druck Setup, z.B die Kamera kann direkt in OctoPrint auch per USB eigebunden werden, wenn man das RPI Image nutzt, oder den Streamer zum laufen bekommt. Für micht passt dieses Setup aber perfekt. Wenn du noch Kommentare/Anregungen hast, schreib sie gerne in die Kommentare oder auf meinen Discord Server!

Newsletter, um nichts mehr zu verpassen…


Beitrag veröffentlicht

in

,

von

Schlagwörter:

Kommentare