Anleitung – 3D Drucker mit OctoPrint einschalten und ausschalten

elro_433_octo

In dieser Anleitung geht es darum, den 3D Drucker mit OctoPrint einschalten und ausschalten zu können, denn oft läuft mein Mendel90 3D-Drucker auch Nachts und morgens wartet dann das fertige Teile auf mich. Was mich daran immer gestört hat, ist dass der Drucker sehr lange angeschaltet ist unnütz Strom  verbraucht.
Deswegen möchte ich meinen Drucker mit Octoprint automatisch ausstellen können, wenn der Druck fertig ist. Außerdem möchte ich auch mit zwei Buttons in Octoprint den Drucker an und ausschalten können.

Ich habe mich dafür entschieden eine Funksteckdose mit dem Raspberry Pi anzusteuern und somit den Drucker zu schalten. Natürlich kann man auch ein 230V Relais verwenden, dies sollte allerdings nur durch Fachkundiges Personal erfolgen da 230V durchaus gefährlich sein kann. 😉

Inhaltsverzeichnis

Das wird benötigt:

 

Raspberry Pi konfigurieren

Die benötigte Software laden und installieren wir über die Konsole. Log dich per SSH (Putty) als root auf deinem Raspberry Pi ein und gib folgende Befehle ein:

apt-get update
apt-get install git
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

Als nächstes installieren wir Raspberry-Remote

cd
git clone git://github.com/xkonni/raspberry-remote.git
cd raspberry-remote
make send

Verkabelung: 433Mhz Sender an Raspberry Pi

433mhz_raspberrypi

Das Sendemodul schließt du wie folgt an.

Raspberry Pi GPIO 17   -> DATA 433Mhz Sendemodul
Raspberry Pi GND -> GND 433Mhz Sendemodul
Raspberry Pi 5v -> VCC 433Mhz Sendemodul

433_sender

Als Antenne kannst du einen Draht mit der Länge 17,3 cm um einen Bleistift wickeln und anlöten. Alternativ kannst du diese Antennen (Versand auch China) verwenden.
Allerdings sollte es sogar ohne Antenne funktionieren, da die beiden Geräte ja sehr nahe beieinander stehen. Ein Draht würde also schon ausreichen.

Funksteckdose konfigurieren

SystemCode stellen wir auf 10100 stellen – Dies ist der Hausinterne Code, damit der Nachbar nicht den Drucker schalten kann
Unitcode stellen wir auf 10000 (A) – Der Unitcode ist die Eindeutige Nr der Steckdose. Hier ist es Steckdose A oder 1

2015-11-29 05.16.21
Deckel wieder zu und in einer freien Steckdose einstecken. Wir testen nun über die Konsole ob die Steckdose wie gewünscht geschaltet wird:

Steckdose einschalten:

sudo ~/raspberry-remote/send 10100 1 1

Steckdose ausschalten:

sudo ~/raspberry-remote/send 10100 1 0

Wenn die Steckdose schaltet, kannst du sie in die Steckdose zu deinem 3D-Drucker stecken und mit den nächsten Schritten weitermachen.

Octoprint Konfigurieren

Als erstes solltet ihr das Plugin System Command Editor installieren

create_command

Danach musst du zwei Befehle anlegen. Das geht mit einem Rechtsklick in den grünen Kasten.

an_aus

Hier kannst du nun deine Befehle eingeben. „Use Confirmation“ bedeutet, dass man vorher gefragt wird ob man den Befehl ausführen möchte. Dies macht beim Ausstellen durchaus Sinn, damit man nicht aus versehen den falschen Button anklickt.

Du findest die Befehle dann in der Menü Leiste.

menu

Video

Und hier ein Video wie das ganze dann ausschaut.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

PGRpdiBjbGFzcz0idmlkZW8tY29udGFpbmVyIj48aWZyYW1lIHdpZHRoPSI1MDAiIGhlaWdodD0iMjgxIiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUtbm9jb29raWUuY29tL2VtYmVkL1NZc0JwZ09xNXpVP2ZlYXR1cmU9b2VtYmVkJndtb2RlPW9wYXF1ZSIgZnJhbWVib3JkZXI9IjAiIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZSIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPjwvZGl2Pg==

 

ToDo für dieses Tutorial:
An der Verknüpfung, dass sich der Drucker automatisch ausschaltet  wenn ein Druck fertig ist, werde ich demnächst arbeiten. Dazu werde ich wahrscheinlich folgendes Plugin abändern.

Edit: 24.05.2016
Ihr könnt einfach folgendes Plugin nutzten und eigene System Commands eintragen die nach dem Beenden des Druckes ausgeführt werden.
https://github.com/OctoPrint/OctoPrint-AutomaticShutdown

 

 

Wenn dir dieser Artikel gefallen hat und du mich unterstützen möchtest, findest du hier ein paar Möglichkeiten. DANKE!
If you liked this article and would like to support me, here are a few options. THANK YOU!

52 Responses

  1. Thomas sagt:

    Hallo. Danke wirklich toller Artikel.
    In dem PlugIn dass du verlinkt hast zum automatischen abschalten wenn der Druck fertig ist. Ich finde leider nicht, wo du da eigene Systemkommands eigeben konntest. Kann mit hier vielleicht jemand helfen?
    Danke

  2. ThaliaFP sagt:

    Hey Phil,
    wiringPi hat einen neuen github, da Gordon das Projekt nicht mehr macht. Kannst Du die Anleitung bitte aktualisieren?
    https://github.com/WiringPi/WiringPi.git
    Viele Grüße,
    Thalia

  3. Florian sagt:

    Hallo,

    hoffe hier kann mir jemand weiterhelfen. Ich kann die Steckdose über den Pi Ein-und Ausschlaten. Über Octoprint mit dem System command Editor funktioniert das aber nicht. Ich habe schon diverse Sachen ausprobiert. Kann mir hier jmd weiterhelfen ? Folgende Fehlermeldungen kommen:

    Eingabe im System command editor:

    sudo ~/raspberry-remote/send 10100 1 0

    Fehler:

    Command for custom:druckeraus failed with return code 1:
    STDOUT:
    STDERR: sudo: no tty present and no askpass program specified

    Eingabe im System command editor:

    ~/raspberry-remote/send 10100 1 0

    Fehlermeldung:

    Command for custom:druckeraus failed with return code 127:
    STDOUT:
    STDERR: /bin/sh: 1: /home/pi/raspberry-remote/send: not found

    Ich würde mich sehr über hilfe freuen, da ich nicht weiterkomme. Vielen Dank.

    • Torsten sagt:

      Hi Florian, hab mir das heute auch mal zusammen gebaut und im System command Editor die Daten so eingeschrieben wie in der Anleitung beschrieben. ich musste lediglich das sudo weg lassen. Kannst ja auch mal probieren ohne sudo.
      1. mit rechts klick auf den grünen Kasten und auf create Command, dort alles so eintragen für den Befehl an schalten(sudo ~/raspberry-remote/send 10100 1 1 ) und dann abspeichern. Das selbe machst du dann mit dem Befehl ausschalten (sudo ~/raspberry-remote/send 10100 1 0 )
      2. Octopi neu starten dann sollte es oben im System sichtbar sein.

      Ich hab mir noch das plugin AutomaticShutdown installiert und damit (mit den richtigen Einstellungen ) schaltet der Drucker bei erreichen einer bestimmten Temperatur selber ab.

    • Chris sagt:

      Im folgenden etwas Halbwissen, so habe ich es aber ans Laufen bekommen:

      Du musst dem Pi ermöglichen sudo ohne Passwort ausführen zu können.
      Dazu musst du eine kleine Datei erstellen. Befolge die Anleitung im Link, dann sollte es funktionieren

      https://community.octoprint.org/t/system-command-center-stderr-error/8319

      Die Datei sollte dann so heißen wie dein command (z.b. „send“)

  4. Ockert Dominik sagt:

    Hallo
    bekomme diese Fehlermeldung
    könnte mir jemand einen tipp geben wo der Fehler liegt

    root@octopi:~# git clone git://git.drogon.net/wiringPi
    bash: /root/bin/git: No such file or directory

  5. Stop Hurting.Com sagt:

    Des weiteren habe ich im Event-Bereich der config.yaml konfiguriert, dass OctoPrint nach dem Beenden eines Druckjobs automatisch den Drucker abschaltet.

  6. do7sr sagt:

    per ssh geht es mit system commant editor fehler lasse ich sudo weg gibt es keinen fehler aber die funksteckdosse wird auch nicht angesteuert

  7. do7sr sagt:

    mit sudo geht es per ssh bei mir in octoprint system commant editor fehler lasse ich sudo weg gibt e keine fehlermeldung aber die funksteckdosse wird auch nicht angesteuert woran liegt das ?

  8. Fabian sagt:

    Hallo Phil, wiringPi kann soweit ich das sehe nicht mehr heruntergeladen werden.
    Es kommt folgende Fehlermeldung:
    Cloning into ‚wiringPi’…
    fatal: unable to connect to git.drogon.net:
    git.drogon.net[0: 188.246.205.22]: errno=Connection refused
    git.drogon.net[1: 2a03:9800:10:7b::2]: errno=Network is unreachable
    Gibt es nutzbare Alternativen zu wiringPi?
    Viele Grüße

  9. Klaus sagt:

    Hallo Phil,
    vielen Dank für diese nützliche Anleitung! Im ersten Versuch hat alles prima funktioniert.
    Nun musste ich meinen Octoprint-Server neu aufsetzen und bin gescheitert. Ich kann über Putty die Funksteckdose schalten. Das Einrichten im Octoprint ist genau nach Anweisung geschehen. Wenn ich nun ein- oder ausschalten will, erhalte ich die folgende Fehlermeldung: Der Befehl „Drucker an“ konnte nicht ausgeführt werden. – Command for custom:drucker_an failed: ‚ascii‘ codec can’t encode character u’\xbb‘ in position 34: ordinal not in range(128) –
    OctoPrint 1.3.9 auf OctoPi 0.15.1
    Weiss jemand Rat?

  10. Andi sagt:

    Ich habe leider genau das gleiche Problem wie Stephan, gibt es dafür schon einen Lösungsansatz?

  11. Stephan sagt:

    Hallo! Ich habe mein Octoprint neu aufgesetzt mit der Version 0.15.0. Nun habe ich das Problem, das ich meine Funksteckdose nicht mehr schalten kann! Wenn ich es über PUTTY ansteuer funktioniert es wunderbar, aber wenn ich in Octoprint über dem System Command Editior den gleichen Befehl sende, bekomme ich folgende Fehlermeldung

    Command for custom:drucker_ein failed with return code 1:
    STDOUT:
    STDERR: sudo: no tty present and no askpass program specified

    Kann mir da jemand einen Tipp geben, woran es liegen kann?

  12. Stephan sagt:

    Hallo! Ih muss das Thema noch einmal ansprechen! Ich bekomme bei Octoprint 0.15.0 folgende Fehlermeldung wenn ich es über den System Command Editior aufruen will!

    Command for custom:drucker_an failed with return code 1:
    STDOUT:
    STDERR: sudo: no tty present and no askpass program specified

    Kann mir da jemand sagen, wo das Problem liegt?
    Vielen Dank
    Gruß
    Stephan

  13. Dom87 sagt:

    Hi ,

    Ich komme leider nur bis zu dem punkt an dem octopi system Commander den befehl senden soll danach kommt dieser fehler Command failed with return code 1:
    STDOUT:
    STDERR: sudo: /home/pi/raspberry-remote/send: command not found

    Wenn ich den befehl per ssh eingebe schaltet die Dose ohne probleme.

    Kann mir jmd. Helfen komplett neu aufsetzen hat auch nichts gebracht…

  14. homebass sagt:

    Hallo, danke für die Anleitung hier, bin erst seit kurzem mit 3D Druck gestartet und habe vieles nun eingerichtet und installiert, aber ich schaffe es nicht, dass der Drucker bzw die Steckdose nach fertigem Druck ausschaltet. Fälschlicherweise habe ich erstmal nur das normale Autoshutdown installiert und nachdem Druck war der Drucker zwar noch an, aber Octoprint heruntergefahren. (lach!)
    Dann habe ich den Settings unter Server den „sudo-Steckdosen-Aus“ Befehl in die Zeile des herunterfahrens ersetzt bzw geschrieben. Dann ging es aber nicht. Auch der Link vom 24.05.16 zu den ganzen Files bringt mir keine Klarheit, da ich mich zu wenig auskenne.
    Wer könnte so freundlich sein und mir eine Malen nach Zahlen-Anleitung nennen, wo nach erfolgreichem Druck lediglich die Steckdose auf aus geschaltet wird, der Octoprint aber weiterhin an bleiben soll.Danke im Voraus und Frohe Weihnachten an alle.

  15. Stefan Hilbinger sagt:

    Hallo,
    hat schon jemand heraus gefunden, wie man das nach dem Druck automatisch sendet?

  16. xyso sagt:

    Ja Top Tutorial!
    Eigentlich… habe mich an den Funksteckdosen gehalten die hier vorgeschlagen werden… kamen heute an… kann keinen Unicode einstellen -.-

  17. jan sagt:

    Hat auf Anhieb funktioniert. Danke! Jetzt fehlt mir nur noch der letzte Schritt zum automatischen ausschalten NACH Printende.

  18. todden sagt:

    Hi,
    bei mir funktioniert es nur in der Konsole. Über Octipi erhalte ich immer die Meldung „STDERR: sudo: /home/pi/raspberry-remote/send: command not found“.
    Kann mir jemand helfen ?

  19. Mic sagt:

    Bei mir funktioniert der shutdown nach dem Druck nicht. Plugin Automatic Shutdown ist installiert und unten links auch angeschaltet in der octoprint Startseite. Befehl im Server Plugin hab ich gesetzt (der gleiche Befehl copy and paste vom System comand Plugin über das ich den Drucker bereits ausschalten kann).

    Was mach ich falsch?

    LG

  20. Mathias sagt:

    Ich denke, das Projekt ist so nicht zu empfehlen, weil das 433Mhz-Signal nicht verschlüsselt ist.
    Wie oft kann es passieren, dass der Drucker an geht, weil der Nachbar gerade seine Kaffeemaschine einschaltet?
    Beim Ausschalten der Kaffeemaschine des Nachbarn ist dann Dein Druck ruiniert?
    Ich plädiere dann doch entweder zur Schaltung mit dem Relais oder eine Schaltung über das 868Mhz Signal. Alle Aktoren z.B. der Homematic laufen verschlüsselt und müssen angelernt werden.
    Somit ist ein unbeabsichtigtes Ein- bzw Ausschalten nicht mehr möglich.

    • lab sagt:

      Das Signal ist ja sowohl mit Systemcode und Unitcode adressiert. Der Nachbar müsste nicht nur den selben Unitcode verwenden sondern auch den selben Einheitencode (bei jeweils 32 unterschiedlichen Zuständen sind das 1.024 Möglichkeiten)…
      Und sich auch noch in Reichweite des Empfängers befinden. Meiner Erfahrung nach braucht man schon etwas Glück, um überhaupt durch eine Wand zu kommen…

      Insofern: ja, es gibt bessere Möglichkeiten, aber keine, die auch nur ansatzweise so günstig ist und das Risiko ist IMHO überschaubar.

  21. Felix sagt:

    Für die den letzten Schritt nach dem Edit nicht ganz klar finden.
    Ihr geht nachdem ihr Automatic Shutdown installiert habt wieder auf die Einstelluingen und dort findet ihr unter dem Punkt Octoprint/Server eine Zeile bei System herunterfahren. Hier einfach den Code sudo ~/raspberry-remote/send 10100 1 0 einfügen. Dann macht Octoprint den Drucker (Steckdose) nach dem Print aus.

  22. Franz sagt:

    Hallo
    ich wie oben beschieben alles installiert. Soweit passt ja alles.
    Man kann den Drucker ein bzw. ausschalten. Nur mit dem Plugin Automaticshutdown funzt es nicht. Hat jemand die Lösung oder kennt wer den Grund dafür?.

  23. Seb sagt:

    Hallo,

    erstmal Danke für die Anleitung! Hab alles soweit eingerichtet. In der Konsole klappt auch alles und die Steckdose lässt sich schalten. Nur wenn ich den Befehl beim System Command eingebe kommt eine Fehlermeldung : „Command failed with return code 1“

    was könnte das sein?

  24. Stefan sagt:

    Hallo.

    Wie bekomme ich es denn jetzt hin, dass Octoprint nach dem Druck den Befehl:
    sudo ~/raspberry-remote/send 10100 1 0
    ausführt?
    Vielen Dank für eure Hilfe

    Gruß Stefan

  25. Wolfgang Arndt sagt:

    Hi,
    ich nutze das Plugin Automaticshutdown dazu, das hat den Vorteil, dass vor dem Ausschalten eine Möglichkeit gibt, dass Runterfahren zu stoppen.. Mein Raspi läuft am Mendel 90 über die Dauer 5Volt des Netzteils. Diesen will ich aber nicht ausschalten, da ich dann nicht wieder remote einschalten kann. Über einen Raspi-GPIO am PSON des Netzteils schalte ich den Drucker ein und aus. Du kannst das Kommando das das Plugin automatishutdown zum Runterfahren nimmt, über die Octoprinteinstellungen und octoprint-> Server konfigurieren. Es nuss also nichts am Code des Plugins angepasst werden. Das Kommando ist übrigens unabhängig von dem was im Systemmenü konfiguriert ist.

    • Phil sagt:

      Hey Wolfang,

      Das klingt nach der perfekten Lösung. Ich hatte mir das Plugin noch nicht angeschaut. Das heißt also, dass ich den Befehl zum Steuern des Netzteil (PSON via GPIO) direkt im Plugin eintragen kann?
      Das wäre super, hätte ich das Plugin mal installiert.

      Wie ist denn der Befehl zum ausschalten? Wäre schön, wenn du mir die Infos mal zukommen lassen könntest, dann schreibe ich das ganze mal zusammen (natürlich mit dir in den Credits) 😉

      Schönen Abend dir und danke für den hilfreichen Kommentar.

      Phil

      • Patrick P. sagt:

        Hallo Phil,

        ich hatte eine ähnliches Projekt bis jetzt um meinen 3D-Drcuker ein- und ausschalten zu können. Nun bin ich selbst auf der Suche den Drucker nach einem Job ausschalten zu können.
        Wie ist den dein aktueller Stand zum Plugin?

        Grüße
        Patrick

  26. Paul sagt:

    Ich schicke dann nach einem Druck ein „M81“ an den Drucker 😉

  27. Kai sagt:

    Sehr schöne Idee und tolle Anleitung! Habe es gerade installiert und mein OctoPi ist seit heute noch nützlicher!

  28. Salandora sagt:

    Hallo,

    zum automatischem Ausschalten reicht vermutlich ein eintrag in der config.yaml.

    http://docs.octoprint.org/en/master/configuration/config_yaml.html#events

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

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