3D-Druck Server: Auf dem Raspberry Pi OctoPrint mit Livecam einrichten

Die Software OctoPrint bietet ein Interface zum Verwalten von 3D-Druckern, welche vom PC oder Handy gesteuert werden k├Ânnen. Um auf dem Raspberry Pi OctoPrint zu installieren, brauchen wir nicht viel. Daf├╝r sind die Erweiterungsm├Âglichkeiten sehr gro├č: Wer den Status seines Drucks beobachten m├Âchte, kann so z.B. eine kleine Webcam anschlie├čen.

G├╝nstigere 3D-Drucker sind normalerweise etwas lauter und stehen deshalb meist an abgelegenen Orten. Au├čerdem drucken sie oft nur ├╝ber eine SD-Karte und haben keinen Netzwerkanschluss. Wer seinen Druck direkt ├╝bertragen will, oder den Druckvorgang ├╝berwachen will, greift auf die Open Source L├Âsung OctoPrint zur├╝ck, welche optimal mit dem Raspberry Pi funktioniert. In diesem Tutorial schauen wir uns die Installation und viele m├Âgliche Erweiterungen an.

Was ist OctoPrint und welchen Nutzen hat es?

OctoPrint ist eine Software, welche einen 3D-Drucker steuern und verwalten kann. ├ťblicherweise werden die zu druckenden Objekte von einer SD-Karte ├╝bertragen. Somit muss man allerdings den Status und weitere Druckauftr├Ąge immer direkt am 3D-Drucker vornehmen, was nicht sehr bequem ist.

Das User-Interface von OctoPrint ist eine komfortable L├Âsung, um all das zu umgehen. Neben dem Status des Drucks k├Ânnen auch neue Druckauftr├Ąge gestartet werden. Au├čerdem ist es m├Âglich eine Menge Plugins zu installieren und somit z.B. den Druckvorgang per Kamera zu verfolgen oder aber ÔÇô je nach Status ÔÇô LEDs leuchten zu lassen.

Der Raspberry Pi eignet sich besonders als OctoPrint (OctoPi) L├Âsung, da er sehr g├╝nstig ist (sowohl das Ger├Ąt als auch die Stromkosten) und er offen f├╝r Erweiterungen ist (Stichwort GPIOs).

Zubeh├Âr

Bis auf den Raspberry Pi, einem 3D-Drucker und den Kabeln ben├Âtigst du im Prinzip kein weiteres Zubeh├Âr. Der Vorteil ist aber, dass wir mit dem Raspberry Pi und OctoPrint noch sehr viel mehr umsetzen k├Ânnen. Daher ist hier die Liste von Teilen, die ich verwendet habe:

Als Filament nutze ich PLA.

 

Vorbereitung: Raspberry Pi OctoPrint Version installieren

Zun├Ąchst einmal laden wir uns die aktuellste Version von OctoPrint herunter. Diese gibt es hier zum Download:

Die ZIP Datei beinhaltet das zu flashende Image und muss nicht entpackt werden. Daf├╝r kann es direkt mit dem BalenaEtcher auf die SD-Karte geflashed werden. W├Ąhle dazu einfach die ZIP-Datei, den Laufwerkbuchstaben, unter der deine microSD-Karte zu finden ist und dr├╝cke auf Flash. Der Vorgang dauert etwa 20 Minuten.

Raspberry Pi Image auf eine SD Karte flashen - Etcher

Damit wir ÔÇ×HeadlessÔÇť loslegen k├Ânnen (d.h. ohne Tastatur und Maus), empfehle ich nach dem Flashen noch Folgendes:

  1. Lege eine leere Textdatei namens ssh (ohne .txt Endung) auf der microSD-Karte an.
  2. Erstelle eine Datei namens wpa_supplicant.conf (wie hier erkl├Ąrt) oder ├Ąndere die existierende┬áoctopi-wpa-supplicant.txt Datei mit folgendem Inhalt und passe sie entsprechend an:
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=DE
    
    network={
     ssid="DEIN WLAN NAME"
     psk="WLAN PASSWORD"
     key_mgmt=WPA-PSK
    }

Stecke die microSD-Karte nun in den Raspberry Pi. Nachdem der Pi gestartet ist, k├Ânnen wir uns per SSH verbinden. In Windows geht dies z.B. per Putty, auf Linux oder Mac geht das einfach ├╝ber das Terminal (alternativ mittels der internen IP-Adresse des Raspberry PiÔÇÖs):

ssh pi@octopi.localdomain

Das Passwort des Users ÔÇ×piÔÇť ist standardm├Ą├čig ÔÇ×raspberryÔÇť. Ich empfehle das Standardpasswort zu ├Ąndern:

passwd

Es empfiehlt sich zun├Ąchst immer das Betriebssystem und seine Paketquellen zu aktualisieren:

sudo apt-get update
sudo apt-get upgrade

 

Erste Einrichtung

Nun ├Âffnen wir einen beliebigen Browser am Computer und rufen folgende URL auf:

http://octopi.localdomain/

Hier ├Âffnet sich der Einrichtungsassistent von OctoPrint. Zun├Ąchst legen wir einen User an (dieser hat nichts mit unserem Raspberry Pi zu tun). Ich empfehle stark die Zugriffsbeschr├Ąnkung aktiviert zu lassen, vor allem, wenn du sp├Ąter auch von au├čerhalb auf OctoPrint ├╝ber dein Smartphone zugreifen willst.

Die anonymen Statistiken kannst du ÔÇô je nach gutem Willen ÔÇô an oder aus stellen. Sie helfen den Entwicklern allerdings bei der Verbesserung von OctoPrint.

Die Onlinepr├╝fung kann so stehen bleiben. Ich finde die Aktivierung n├╝tzlich.

Da wir sp├Ąter die M├Âglichkeit haben alle m├Âglichen Plugins zu installieren, kann es auch vorkommen, dass unsichere Plugins dabei sind. Hierf├╝r ist die Pluginblackliste da, welche auch sinnvoll ist.

Zu guter Letzt geben wir noch das Druckprofil an. Diese kannst du z.B. im Handbuch deines Druckers einsehen. In meinem Fall (Creality Ender 3 v2) sind diese Folgende:

  • Formfaktor: Rechteckig
  • Ursprung: unten links
  • Heizbett: ja
  • Breite (X): 220 mm
  • Tiefe (Y): 220 mm
  • H├Âhe (Z): 250mm
  • D├╝sendurchmesser: 0.4 mm

Die meisten voreingestellten Werte passen also bereits.

Danach k├Ânnen wir den Wizard beenden und uns den n├Ąchsten Schritten widmen.

 

Erster Testdruck ├╝ber OctoPrint

Bevor wir weitere Einstellungen vornehmen und Plugins installieren, wollen wir einen ersten Testdruck starten. Verbinde den Raspberry Pi mit einem (Micro) USB-Kabel mit deinem 3D-Drucker und ├Âffne das OctoPrint Interface.

OctoPi WebinterfaceZun├Ąchst einmal verbinden wir uns mit dem Drucker (AUTO Einstellungen sollten ausreichen). Danach ├Ąndert sich der Status zu ÔÇ×BereitÔÇť. Falls eine SD-Karte im Drucker ist, werden dir darunter die Dateien angezeigt, welche du direkt drucken kannst. Darunter hast du die M├Âglichkeiten direkt deine (.gcode) Dateien hochzuladen ÔÇô so ersparst du dir das st├Ąndige Wechseln der microSD-Karte.
Au├čerdem kannst du rechts die Nozzle (Tool) und das Bett vorheizen und hast weitere M├Âglichkeiten zur Steuerung.

In meinem Fall (Ender 3 v2) musste ich noch ein Plugin installieren, damit die Temperatur richtig angezeigt wird.

 

OctoPrint Pi Kamera Setup

Als N├Ąchstes m├Âchten wir f├╝r OctoPrint eine Kamera einrichten, um so den Druck live vom Webinterface sehen zu k├Ânnen. Vielleicht wirst du dich fragen, welches die beste Kamera f├╝r OctoPrint ist? Hier kannst du sowohl eine normale USB Kamera bzw. Webcam nutzen, oder z.B. das offizielle Raspberry Pi Kameramodul. Ich w├╝rde hier nicht zu einer teuren HD-Webcam raten, da wir lediglich den Druckstatus sehen wollen und keine gestochen scharfen Bilder ben├Âtigen.

Verbinde also zun├Ąchst deine Kamera per USB oder dem CSI Anschluss. Entweder wirst du direkt ein Bild unter dem Reiter ÔÇ×SteuerungÔÇť sehen, oder du musst den Raspberry Pi ├╝ber das Men├╝ oben rechts zun├Ąchst neu starten. Sollte es danach noch nicht geklappt haben, kannst du unter Einstellungen > Webcam & Zeitraffer weitere Konfigurationen vornehmen.

Raspberry Pi OctoPrint Kamera Einstellungen

Kamera Positionierung und Halterung

H├Ąufig werden die Kameras direkt am Druckbett angebracht, sodass immer der gleiche Teil zu sehen ist. Beim Bewegen des Druckbetts war mir allerdings das Bild zu wackelig, weshalb ich mir eine Halterung f├╝r die Z-Achse gedruckt habe und meine Raspi Cam dort angebracht habe.

├ťbrigens: Du kannst auch mehrere Kameras / USB Webcams anbringen. So kannst du den Druck aus verschiedenen Perspektiven beobachten. Achte dabei darauf, dass der Raspberry Pi gen├╝gend Strom liefern kann: Das Pi Modell 4B ist hier die erste Wahl! Du brauchst daf├╝r lediglich ein Plugin wie Multicam.

 

Druckstatus von OctoPrint ├╝ber WS2812 LEDs anzeigen

Da mein Drucker in einem Schrank ist, ist mir eine gute Beleuchtung davon wichtig. Die g├╝nstigen WS2812 RGB LED Strips sind daf├╝r bestens geeignet. Au├čerdem k├Ânnen sie zus├Ątzlich noch den Druckstatus in Farben anzeigen.

Zun├Ąchst einmal muss der LED Streifen mit dem Raspberry Pi verbunden werden. Bei wenigen LEDs brauchst du keine zus├Ątzliche Stromversorgung. Ansonsten kannst du dem Schema hier folgen:

  • Pi GND an LED GND
  • Pi GPIO 10 an LED DIN
  • Raspberry Pi 5V an LED 5V (nur, falls du keine externe Stromversorgung verwendest)

Danach habe ich dieses Plugin genutzt. Du kannst es einfach installieren, indem du unter Einstellungen > Pluginmanager > Mehr (Button) navigierst und folgende URL eingibst:

https://github.com/EricHigdon/OctoPrint-RGB_status/archive/master.zip

Danach muss der Raspberry Pi allerdings neugestartet werden. Danach ├Âffnet sich ein Wizard, in dem du abschlie├čende Einstellungen vornehmen kannst. In den Einstellungen kannst du sp├Ąter auch noch den GPIO, den Typ (wichtig: WS2812 ausw├Ąhlen), die Anzahl der LEDs usw. ver├Ąndern.

Weitere Informationen zu dem Plugin gibt es auf der zugeh├Ârigen Wiki-Seite auf GitHub.

 

Integration in Ultimaker Cura

Zum Slicen und setzen der St├╝tzstrukturen nutze ich am liebsten die kostenlose Version von Ultimaker Cura. Was daran besonders toll ist: Es gibt eine OctoPrint Integration!

Gehe dazu einfach auf die GitHub Seite von dem Projekt und lade die ZIP Datei herunter. Dann entpacken wir den Ordner nach:

[Cura configuration folder]/plugins/OctoPrintPlugin

An den Ordner kommst du ├╝ber Cura -> ÔÇ×HelpÔÇť -> ÔÇ×Show Configuration FolderÔÇť. Danach musst du Cura neustarten.

Hier gibt es ein kurzes Video, in dem die Schritte erkl├Ąrt sind:

 

 

Sinnvolles OctoPi Zubeh├Âr

Neben den vorgestellten Erweiterungen f├╝r OctoPrint gibt es noch eine Menge weiteres n├╝tzliches Zubeh├Âr. Hier mal eine kurze, unvollst├Ąndige Liste, die ich noch geplant habe:

  1. Touchdisplay: Als reine Cloud-L├Âsung ist OctoPrint hervorragend, aber manchmal m├Âchte man auch direkt am Drucker Einstellungen ver├Ąndern k├Ânnen. Wenn man das beigelegte 3D-Drucker Display bereits ausgetauscht oder entfernt hat, kann sich ├╝ber einen Raspberry Pi Touchscreen Gedanken machen. F├╝r kleinere Displays gibt es auch sch├Âne Halterungen auf Thingiverse.
  2. 3D-Drucker erst beim Drucken anschalten: Da ich nicht die ganze Zeit drucke, st├Âren mich die Ger├Ąusche der L├╝fter. Da ich nicht jedes Mal den Drucker manuell anschalten will, ist eine L├Âsung mit Funksteckdosen interessant! Damit wird der Drucker erst dann gestartet, wenn wirklich etwas gedruckt wird. Der Raspberry Pi bzw. OctoPrint k├Ânnen somit dennoch weiter laufen ÔÇô ohne st├Ârende Ger├Ąusche. Au├čerdem sparen wir so etwas Strom.
  3. Rauchmelder: Mein Drucker ist in einem IKEA Pax Schrank platziert. Da die Nozzle bei mehreren Hundert Grad Plastik schmelzen l├Ąsst, besteht nat├╝rlich ein Restrisiko, dass etwas anf├Ąngt zu brennen. Hierf├╝r bin ich am ├╝berlegen einen Wifi / Z-Wave Feuermelder zu installieren, sodass der Druck auch automatisch angehalten wird, sobald Rauch erkannt wird. Bei einer verstopften Nozzle ist somit im Idealfall nicht direkt der gesamte Druck unbrauchbar.
  4. Filament Sensor: Bevor das Filament leer ist, m├Âchte ich dar├╝ber informiert werden. Daf├╝r gibt es Sensoren, die melden k├Ânnen, wann das Filament zu Neige geht und wir ggf. den Druck anhalten. Diese Filamentsensoren k├Ânnen entweder direkt in OctoPrint eingebunden werden, oder aber ├╝ber die GPIOs ein Signal an den Raspberry Pi geben, wodurch wir dann die OctoPi API aufrufen k├Ânnen und den Druck anhalten.
  5. Filament-Waage: Normalerweise ist auf einer Rolle Filament 1kg + Gewicht der Rolle. Das kann uns Aufschluss geben, wie viel wir noch drucken k├Ânnen, bevor das Filament gewechselt werden muss.┬á Ausgehend von meinem Tutorial hat ein User eine OctoPrint-Library ver├Âffentlicht, mit der eine Gewichtsanzeige im OctoPrint-Interface integriert wird.

Falls du weitere Ideen hast, kannst du sie gerne in einem Kommentar erw├Ąhnen ÔÇô ich erweitere dann die Liste.

6 Kommentare

  1. Warum setzen die Projekte immer auf dem Raspi 4 auf? Ich f├Ąnde es besser, wenn die Minimalkonfiguration die Grundlage w├Ąre.

    Antworten
    • Hi Norbert,
      ich schreibe immer die Pi Version dazu, die ich benutze ÔÇô meist ist das die aktuellste. In den allermeisten F├Ąllen sind die Tutorials auch mit vorherigen Versionen kompatibel.
      LG, Felix

      Antworten
  2. Man kann den Octoprint beispielsweise in Node-Red einbinden, so hab ich es bei mir daheim gemacht und wenn der druck fertig ist, kann ich ├╝ber Telegram oder E-Mail benachrichtigt werden.

    Antworten
  3. Hallo zusammen,
    ein Bekannter hatte mich neulich zuf├Ąllig auf OctoPrint aufmerksam gemacht, deshalb hatte ich es vor Kurzem selber schon mal getestet. Mein Urteil f├Ąllt allerdings nicht so gut aus. Folgende Kritikpunkte habe ich:
    ÔÇô Die Ansteuerung der SD-Karte an meinem Ender-3D-Druckers funktioniert nicht!
    ÔÇô Der Druck wird nicht so gut, weil die Daten ├╝ber das USB-Kabel geschickt werden m├╝ssen und zu langsam sind.
    ÔÇô Wenn ich mich vom OctoPrint abmelde, bleibt das Display vom Drucker an, ob wohl ich den Drucker ausgestellt habe. Ich muss erst das USB-Kabel abziehen, damit es ausgeht. Das finde ich nicht so gut.
    ÔÇô Auf dem Display vom Drucker wird der Druckfortschritt nicht angezeigt, wenn ich es remote drucke. Man muss also immer zum entfernten Computer rennen um zu sehen, wie weit der Druckvorgang ist!
    ÔÇô Umgekehrt habe ich auch dieses Problem. Wenn ich den Druckvorgang am Drucker starte, wird am OctoPrint der Fortschritt nicht angezeigt. Nur die Temeraturanzeige wird angezeigt, die aber nichts dar├╝ber aussagt wie weit der Druck ist, denn die Temperatur sollte w├Ąhrend des Druckes ja konstant bleiben.
    ÔÇô Es gibt kein deutsches Forum und deutsche Hilfestellungen, nach meinem Wissen!
    ÔÇô Die Anschl├╝sse sind anscheinend nicht genormt, denn mein Drucker braucht ein Mini(!)-USB-Kabel, dass ich mir neulich erst noch besorgen musste, denn Micro-USB-Kabel fliegen bei mir en masse herum.

    Und ich h├Ątte noch folgende Anmerkungen dazu zu machen:
    ÔÇô Das Plugin von Ultimaker Cura habe ich noch nicht ausprobiert, w├Ąre aber einen Versuch wert.
    ÔÇô Ich versuche schon seit Jahren einen kostenlosen, durch kollektive Intelligenz gest├╝tzten Support anzubieten. Bisher leider ohne Erfolg: https://gitlab.com/horald/raspiprojects/-/blob/master/liesmich.md

    Viele Gr├╝├če von einem begeisterten Raspberry Pi Fan
    Horst Meyer

    Antworten
  4. Hallo,
    mich interessiert dieses Projekt, aber ich frage mich, wohin mit dem Raspberry?
    Der steht neben dem Drucker und wird nicht daran fixiert?
    Mit freundlichen Gr├╝├čen
    Pro Ape

    Antworten

Hinterlasse einen Kommentar

Deine Email Adresse wird nicht ver├Âffentlicht.

Blog abonnieren

Abonniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!