Rufen Sie die Software zum ersten Mal auf, startet ein Wizard, in dem Sie ein paar grundlegende Einstellungen vornehmen (Abbildung 4). Der Wizard warnt gleich im ersten Schritt eindringlich davor, das System ohne Zugangsbeschränkung mit dem Internet zu verbinden. Eigentlich ist eine solche Verbindung ohnehin überflüssig: Es wäre fahrlässig, einen 3D-Drucker, dessen Teile sich im Betrieb auf über 200 Grad Celsius erhitzen, nicht ständig zu beaufsichtigen. Aber bei langen Druckjobs ist für viele Anwender offensichtlich die Versuchung groß, die Wohnung zu verlassen und “mal schnell” von unterwegs den Fortschritt zu prüfen.

Abbildung 4: Der Setup-Wizard erinnert unter anderem daran, dass Sie das OctoPi-System nicht ohne Sicherheitsmaßnahmen mit dem Internet verbinden sollten.
Die einzelnen Dialoge des Wizards fallen selbsterklärend aus. Änderungen nehmen Sie bei Bedarf später jederzeit über das entsprechende Icon am oberen Fensterrand vor. Bei Problemen recherchieren Sie im Community-Forum – die Wahrscheinlichkeit ist groß, dass dort jemand bereits eine Lösung kennt.
Für die erste Konfiguration braucht der Rechner noch nicht einmal an den 3D-Drucker angeschlossen zu sein. Sind Sie mit dem Wizard aber durch und passt das Profil für den Drucker, sollten Sie das jedoch nachholen.
Druck und Überwachung
Nach der Installation und einem automatisch ausgelösten Neustart dürfen Sie direkt mit dem Drucken loslegen. Der typische Workflow sieht dann so aus: Sie säubern das Druckbett, laden das Filament und starten den OctoPi-Host. Dann laden Sie über die Hauptseite von Octoprint eine G-Code-Datei und starten den Druck. Sie sparen sich hauptsächlich den Umweg über die SD-Karte.
Neben der Webschnittstelle bietet die Software eine REST-API für andere Programme an. Sie generiert für die Schnittstelle als Zugriffsschutz einen eindeutigen API-Key, den Sie im Einstellungsmenü finden. Das hilft in einigen Fällen ganz erheblich. So ist etwa die Slicer-Firmware des Prusa i3 MKS auf Octoprint vorbereitet. Nach der Konfiguration des Hostnamens (Abbildung 5) sehen Sie nach dem Slicen eine zusätzliche Schaltfläche zum Hochladen der Daten auf den Octoprint-Host (Abbildung 6).

Abbildung 5: Konfigurieren Sie den Octoprint-Host im Prusa-Slicer, besteht die Möglichkeit, die Daten direkt aus der Software an den Host zu schicken.

Abbildung 6: Ein zusätzlicher Sendeknopf erlaubt es, G-Code aus dem Slicer für den Prusa i3 MKS direkt an den Octoprint-Host zu schicken.
Die wichtigsten Betriebsparameter sehen Sie bei Octoprint auf der Hauptseite, aufgeteilt auf mehrere Reiter. Die Steuerungsseite blendet ein Livebild der Webcam ein (Abbildung 7). Je nach Position und Ausrichtung verfolgen Sie darüber den gesamten Druckvorgang. Auf dieser Seite gibt es außerdem Steuertasten für den Drucker. Der Eingriff in einen laufenden Druckvorgang – sei es direkt am Drucker oder mit Octoprint über das Netz – ist aber nur etwas für Experten.

Abbildung 7: Auf der Hauptseite von Octoprint sehen Sie ein Livebild, sofern das Hardware-Setup eine Kamera enthält.
Enttäuscht hat Octoprint beim Schätzen der Restlaufzeit: Im Gegensatz zum Prusa-Slicer, der die Laufzeit auf die Minute genau vorhersagt, lag die freie Software deutlich daneben. Selbst Sekunden vor Ende zeigte die Weboberfläche noch eine verbleibende Zeit von fünf Minuten an. Ob das generell so gilt oder an speziellen Umständen liegt, war nicht herauszufinden.
Performance
Der Python-Webserver von Octoprint ist eine umfangreiche Anwendung. So dauert das Hochfahren auf einem Pi Zero eine ganze Weile, die CPU-Last liegt dabei am Anschlag. Einmal geladen, läuft der Mini-PC aber mit vertretbarer Auslastung, selbst im Druckbetrieb. Der Proxy und der Streaming-Server belasten die CPU kaum.
Optimal erscheint der Einsatz von Mjpeg-streamer trotzdem nicht, denn das native Format der RasPi-Kameras ist H.264 – hier gäbe es schlankere Streaming-Lösungen mit geringerem Bandbreitenbedarf. Bei Octoprint läuft die Kamera im Standard-Setup mit mageren 10 FPS, die aber stolze 9 Mbit/s an WLAN-Bandbreite belegen. Für einen schnellen Blick auf den Fortschritt des Drucks genügt das aber.
Der Zugriff per Webbrowser bringt ein Pi-Zero-System ebenfalls an seine Leistungsgrenze. Das liegt an der internen Architektur von Octoprint: Die Seiten entstehen über die Template-Engine Jinja2, die ähnlich wie Java-Server-Pages (JSP) funktioniert. Offensichtlich ist das Rendering auf Server-Seite sehr CPU-intensiv. Wer also während des Drucks einen (zweiten) Browser startet, riskiert Probleme. Eine moderne Architektur, die das Anzeigen der Seite dem Browser überlässt, würde dieses Problem lösen. Ist die Seite aber einmal geladen, kommuniziert Octoprint per Server-Push mit den Browsern – das stellt für das System kein Problem dar.
Als ebenfalls sehr leistungshungrig entpuppen sich das Erstellen von Zeitraffervideos und der G-Code-Viewer (dritter Reiter auf der Hauptseite). Letzterer zeigt live die nächsten Druckschichten. Pi-Zero-Nutzer deaktivieren diese Funktion besser und verzichten auch auf Zeitraffervideos.
Fazit
Wer seinen Drucker bis zum Letzten ausreizt, profitiert mehr von Octoprint als der Gelegenheitsdrucker. Letztere kommen aber sehr gut auch mit einem Pi Zero über die Runden, wenn sie die Rahmenbedingungen beachten. Wer mehr Funktionen nutzen will, greift besser zu einem großen RasPi. Es bleibt zu hoffen, dass künftige Versionen der Software mehr Aufgaben den Browsern überantworten; dann würde ein Pi Zero für die eigentliche Kommunikation mit dem Drucker vollkommen ausreichen.
Der Workflow beim 3D-Druck erzwingt sowieso den gelegentlichen Weg zum Drucker, sowohl vor als auch nach dem Druck. Wer deshalb wie der Autor auf die Upload-Funktion verzichtet und hauptsächlich die Liveüberwachung nutzt, kommt sogar ganz ohne Octoprint aus: Eine Kamera am RasPi oder eine billige IP-Webcam streamen das Bild ganz ohne den Overhead des Python-Webservers. (agr)
Der Autor
Bernhard Bablok arbeitet bei der Allianz Technology SE als SAP-HR-Entwickler. Wenn er nicht Musik hört oder mit dem Rad respektive zu Fuß unterwegs ist, beschäftigt er sich mit Themen rund um Linux, Programmierung und SBCs. Sie erreichen ihn unter mailto:[email protected].
Infos
- Octoprint: https://octoprint.org
- OctoPi-Projektseite: https://github.com/guysoft/OctoPi
- Unterstützte Drucker: https://community.octoprint.org/knowledge-explorer?topic=21147





