Nachdem ich mir einen 3D-Drucker zugelegt habe, stellte sich mir die Frage, wie ich diesen mit Octoprint verwalten kann. Erst dachte ich, ich virtualisiere den Octoprint-Server, habe es mir aber anders überlegt, weil ich Probleme mit dem Durchreichen der USB-Anschlüsse befürchtet habe.

Jedenfalls folgt eine kleine Anleitung, nach dieser ich vorgegangen bin:


Bei heutigen Lixux-Distributionen ist standardmäßig Python 3 vorinstalliert. Leider nutzt uns dieser umstand nichts, da Octoprint auf Python 2 basiert.

Deswegen müssen wir erstmal Python 2 installieren:

sudo apt update
sudo sudo apt dist-upgrade
sudo apt install python2.7 python2.7-dev python-pip virtualenv git

Jetzt erfolgt die eigentlich Installation. Als Ordnername bietet sich der Name des Druckers an. Diese vermehren sich erfahrungsgemäß schneller als geplant:

git clone https://github.com/foosel/Octoprint.git
cd Octoprint
virtualenv [Ordnername] # Das Ordnername muss durch einen Ordner ersetzt werden, ohne Klammern

./[Ordnername]/bin/pip install . # Die beiden Punkte dürfen NICHT vergessen werden

Der Server kann jetzt gestartet werden. Sollten Sie den Server durch einen Terminal einrichten, möchte man natürlich direkt einen Druck testen. Allerdings sollte man dafür trotzdem ein Zusatzprogramm wie screen oder nohup verwenden, da sonst der Druck abbricht, sollte das Terminalfenster geschlossen werden.

#entweder:
nohup /pfad/zum/Octoprint/[Ordnername]/bin/octoprint serve &

#oder: 

screen 
/pfad/zum/Octoprint/[Ordnername]/bin/octoprint serve &

Kann der Server ohne Probleme eu gestartet werden, kann man einen Autostart-Eintrag in Cron erstellen:

crontab -e

# Da bitte den folgenden Text rein:

@reboot 
/pfad/zum/Octoprint/[Ordnername]/bin/octoprint serve >/dev/null 2>&1

Jeder Octoprint-Server kann nur einen Drucker verwalten. Möchte man mehrere Drucker verwalten, müssen pro Drucker mehrere Instanzen unter verschiedene Ports gestartet werden. Um diese Instanzen voneinander zu trennen, kann im Cronjob folgendes angehängt werden:

--port=5001 >/dev/null 2>&1 

Edit:

Offensichtlich war meine Information darüber, das Octoprint zwingend unter Python 2 basiert nicht mehr ganz aktuell. Da die Anleitung aber sonst funktioniert, kann die Installation im Nachhinein auf Python 3 aktualisiert werden. Dazu benötigen Sie das folgende kript:

https://github.com/cp2004/Octoprint-Upgrade-To-Py3

Leave a Comment

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.