LED Licht einschalten bei Druckbeginn und abschalten bei Druckende
Hallo zusammen
Ich hab mir heute ein Gehäuse für den Ender 5 Plus gebaut. Ich habe eine RasPi Waveshare Kamera und ein 7" Touchbildschirm am Drucker befestigt.
Jetzt will ich den Druckbereich etwas ausleuchten mit LED Streifen weil die Kamera jetzt im Nightmode die Videos aufnimmt.
Jedoch will ich es nicht einfach mit einem Schalter ein und ausschalten sondern automatisch beim Druckstart ein und aus bei Druckende.
Kann ich das irgendwie die Eriegnissabhängigen Gcode Befehle benützen um einen GPIO Pin des RasPi anzusteuern welches mir ein Relais zB Schaltet und dieses dann die LED Streifen?
Oder ist es möglich über die Weboberfläche einen Licht Ein-Aus schalter irgendwo zu Positionieren.
Alternativ werde ich die Bettheizung anzapfen um das Licht per Relais ein und auszuschalten aber die Idee mit dem Gcode würde mir besser gefallen
Gruss Milan
Ich hab mir heute ein Gehäuse für den Ender 5 Plus gebaut. Ich habe eine RasPi Waveshare Kamera und ein 7" Touchbildschirm am Drucker befestigt.
Jetzt will ich den Druckbereich etwas ausleuchten mit LED Streifen weil die Kamera jetzt im Nightmode die Videos aufnimmt.
Jedoch will ich es nicht einfach mit einem Schalter ein und ausschalten sondern automatisch beim Druckstart ein und aus bei Druckende.
Kann ich das irgendwie die Eriegnissabhängigen Gcode Befehle benützen um einen GPIO Pin des RasPi anzusteuern welches mir ein Relais zB Schaltet und dieses dann die LED Streifen?
Oder ist es möglich über die Weboberfläche einen Licht Ein-Aus schalter irgendwo zu Positionieren.
Alternativ werde ich die Bettheizung anzapfen um das Licht per Relais ein und auszuschalten aber die Idee mit dem Gcode würde mir besser gefallen
Gruss Milan
Comments
Am pi kann man es aber über server befehle steuern. Am einfachsten mit 2 scripten, die du in "/var/lib/Repetier-Server/scripts" ablegst und Rechte auf 777 setzt die den GPIO setzen. Diese in extcommands.xml über @execute aufrufbar machen wie im Manual beschrieben. Dann die Befehle im start/stop/abbruch G-Code Ereignis aufrufen und du hast deine Lösung. Du kannst die Skripte auch noch auf menubefehle legen dann erscheinen die auch im Drucker Kontextmenü.
ich habe jetzt zwei Scripte auf einem Raspberry: led_ein.sh und led_aus.sh
Diese kann ich über putty auch ausführen und das Relais schaltet
Ich übe noch das ganze auf einem Pi mit raspbian weil ich den Server der meinen Drucker betreibt nicht verunstalten will bis ich da sattelfest bin was die befehle angeht
Aber ab dem ablegen mit Rechte auf 777 versteh ich nur noch bahnhof
sudo chmod 777 dateiname
erlaubt allen lesen, schreiben, ausführen
Ich wollte diesen Thread nicht ohne Abschluss lassen und Teile euch mit wie ich es gelöst habe.
Schon mal vorweg, ich habe es nicht wie oben angefragt gelöst.
Ich habe mich entschieden es mit einem NodeMcu und Blynk zu lösen.
Licht und Lüftung sollen eingeschaltet werden sobald das Druckbett sich erhitzt. Sobald am Druckbett eine 24V Spannung anliegt steuert es ein Relais an mit welchen ich dann einen "Input" am NodeMCU ansteure. Oder ich kann alles Manuell per Blynk-App ein- und ausschalten (aktuell wird es nur manuell ein und ausgeschaltet da ich erst heute den Drucker ins Gehäuse gestellt hab)
Falls jemand Interesse an mehr Details oder an der Hard und Software hat kann er sich gerne melden.
Gruss Corr
auch ich möchte die Druckerbeleuchtung bei Druckbeginn einschalten und am Ende wieder aus,
sowie manuell über den Schalter in der Webansicht ("Steuerung" => Licht).
Das Relais selbst soll über einen GPIO vom Raspi angesteuert werden.
Nach welcher Doku, Anleitung oder Beispiel sollte ich vorgehen?
Habe hier was gefunden (https://www.repetier-server.com/manuals/0.50/index.html => Calling ext. commands), aber unsicher ob dies das richtige ist.
Die Scripte um das Relais über GPIO zu steuern bekomme ich hin,
mir geht es "nur" darum, wo und wie ich die 2 Scripte (lighton.sh; lightoff.sh) autom. bzw. manuell über die "Licht-Steuerung" im Repetier-Server zum laufen bekomme.
Denke das so was doch schon einige gemacht haben (Raspi, GPIO, LED-ein/aus, ...)
Danke für Hilfe,
Martin
@execute lichtAn
etc einfügen was dein skript aufruft. Bedenke aber das es als user repetierserver ausgeführt wird.
Der Lichtbutton wird nicht klappen da er für Lichsteuerung über die Firmware ist. Aber in extcommands.xml kannst du auch Befehl für das Drucker Kontextmenü einsetzen so dass es darüber klappt. Dazu aber eine neuer doc nehmen da der Teil erst später eingefügt wurde.
Wo ist denn diese "Druckerkonfiguration", ich habe was mit dem Pfad /var/lib/Repetier-Server/scripts i einem anderen Thread gefunden, da soll eine xml rein ...
/var/lib/Repetier-Server/scripts
ist der von uns vorgeschlagene Speicherort für deine eigenen scripte also licht an/aus etc. So können sie definitiv vom server erreicht werden und wenn sie x flag gesetzt haben auch ausgeführt werden.
unabhängig von der Ereignissteuerung (unsicher ob ich das umsetze), habe ich nun im Einstellungs-Menu meine zwei "Rubriken" in der /var/lib/Repetier-Server/database/extcommands.xml für Licht-an und Licht-aus hinzugefügt.
Ich sehe zwar diese zwei neuen Punkte, aber es passiert nichts :-(
Die Skripte liegen unter /mama, der Ordner hat die Rechte 777, die Dateien 775
Ich habe auch ein: echo `date` >>/tmp/date.txt zum debuggen eingefügt, aber auch dieser Befehl wird nicht aktuallisiert. Und den Repetier-Server starte ich auch neu nach jeder Änderung ....
Die extcommands.xml (nur Licht aus; Licht-an analog) sieht so aus:
Die lightoff.sh sieht aktuell testweise so aus:
repetierserver ALL=NOPASSWD: /mama/lightoff.sh
sonst scheiterst du am sudo.
Jetzt scheint es zu funktionieren, danke!
Muss wohl nur in "command" stehen, nicht unter "execute".
Gibt es auch eine Option, solche eigenen Befehle (Scripte) hier auf den Bildschirm zu legen als Icon?
https://abload.de/img/screenn7jl5.png
im Menu (über extcommands.xml) klappen die Befehle ja, danke für die Hilfe!
Jetzt wollte ich es in den Pre-Teil vom gcode einfügen (innerhalb Cura), aber die Aktion (Shell-Script) wird dort nicht ausgeführt.
In der Konsole vom Rep-Server sehe ich, das der gcode wie eingetragen auch beim Drucker "ankommen", aber die Aktion wird nicht gestartet (aus dem Menu heraus funktioniert selbiges Script !?)
...
In der extcommands.xml sieht es so (genauso) aus, da funktioniert es aber ja:
...
<execute> sudo /mama/send-message.sh</execute>
...
Wo liegt mein Fehler?