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:
- Raspberry Pi 4
- Micro-SD-Karte (16 GB+)
- 3D-Drucker: Creality Ender 3 v2
- Micro-USB-Kabel als VerbindungsstĂŒck
- USB Webcam (alternativ: offizielle Raspberry Pi Kamera)
- LED Streifen des Typs WS2812
- optimal: Netzwerkkabel
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.
Damit wir âHeadlessâ loslegen können (d.h. ohne Tastatur und Maus), empfehle ich nach dem Flashen noch Folgendes:
- Lege eine leere Textdatei namens ssh (ohne .txt Endung) auf der microSD-Karte an.
- 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:
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.
ZunĂ€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.
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:
- 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.
- 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.
- 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.
- 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.
- 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.
7 Kommentare
Warum setzen die Projekte immer auf dem Raspi 4 auf? Ich fÀnde es besser, wenn die Minimalkonfiguration die Grundlage wÀre.
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
Es gibt tatsÀchlich die Möglichkeit, den Octopi direkt mit Linux zu installieren. Dazu habe ich diese Anleitung benutzt: https://octoprint.org/download/
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.
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
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
Da suchst Du mal auf Thingiverse nach einem GehĂ€use fĂŒr den RasPi, das man am Druckerprofil einschieben kann. Dazu noch einen Arm fĂŒr die Kamera. Die holst Du Dir bei Elektreeks mit UV- Sperrfilter, kostet etwas mehr, aber liefert viel bessere Bilder als die RasPi-Cam.