hatte ja geschrieben, dass ich bei Interesse ein Tutorial verfassen kann. Da hier nun jemand Interesse zu haben scheint.
1.) Entsprechend der Dokumentation von Repetier server muss eine Datei
im Reptier database Verzeichnis, bei mir
angelegt werden.
in diese müssen dann die entsprechenden EIntragungen gemacht werden. Sieht bei mir dann so aus:
Code: Alles auswählen
<config>
<!--
If you want to run external commands, enter them in this configuration with
full path. You will see them in the main menu. Copy this file into the
<storage>/database directory.
Security consideration: The reason there is no online editor for this is simply
security. The commands you enter here are executed with the privileges of the
daemon running the server. If you would allow online configuration, a hacker could
simply add any command he needs to hack your system.
-->
<command>
<name>Shutdown Server</name>
<execute>sudo /sbin/shutdown -h now</execute>
<confirm>Really shut down the server?</confirm>
</command>
<command>
<name>Reboot Server</name>
<execute>sudo /sbin/shutdown -r now</execute>
<confirm>Really reboot the server?</confirm>
</command>
<command>
<name>RF 1000 Strom abschalten</name>
<execute>sudo /usr/bin/python /home/pi/druckerausschalten.py</execute>
<confirm>Strom wirklich abschalten?</confirm>
</command>
<command>
<name>RF 1000 Strom anschalten</name>
<execute>sudo /usr/bin/python /home/pi/druckeranschalten.py</execute>
<confirm>Strom wirklich anschalten?</confirm>
</command>
<!--
G-code files can contain
@execute cmd param1 param2
commands. To prevent external users from executing unwanted or dangerous commands,
only commands defined here are allowed to execute. More over, only the shortcuts
defined here are to be used as cmd in @execute. Prevent parameter where ever possible.
-->
<execute name="play" allowParams="true">/usr/bin/afplay</execute><!-- play the sound file on moc os x -->
<execute name="autopoweroff" allowParams="false">sudo /usr/bin/python /home/pi/autopoweroff.py</execute>
</config>
Cave! wichtig ist für die funktionsfähige richtige Ausführung aus dem GCODE heraus die Zeilen unter "G-code files can contain...." Das hatte ich am Anfang überlesen weil da irgend etwas von Mac stand. Ohne die kann man dann zwar skripte vom Hauptmenü des RS abschicken, aber nicht automatisiert.
Damit das ganze funktioniert, muss dem RS benutzer allerdings die Berechtigung zur Ausführung von python gegeben werden und ebenfalls wichitg in den Aufrufen die ganzen Pfade anzugeben.
Berechtigung:
hier dann eintragen, ggf. PFade entsprechend anpassen, CAVE könnte bei einem von außen zugänglichen Server ein Sicherheitsrisiko sein.
speichern.
dann noch ein entsprechendes Python skript zur Schaltung der entsprechenden GPIO Pins anlegen, bei mir
Inhalt sieht dann so aus:
Code: Alles auswählen
import RPi.GPIO as GPIO
import time
time.sleep(30)
GPIO.setmode(GPIO.BCM)
GPIO.setup(7, GPIO.OUT)
state = True
GPIO.output(7,True)
anstatt des Time sleep(30) könnte man auch als "nach dem Druck ausführen GCODE" an entsprechender Stelle einbauen, dass er wartet bis alles abgearbeitet ist, müsste auch funktionieren. 30 sek reichen aber aus um das Druckobjekt in Ausgabestellung zu fahren, und auf ne Sekunde hin oder her kommt es mir nicht an, Hauptsache der Drucker geht nach dem Druck zeitnah aus.
Dann noch unter automatisch nach dem Druck abzuarbeitende GCODES ganz unten eintragen:
Nun müsste es tun, sofern ich alles noch zusammenbekommen habe. Wie sich aus dem Code rückschliessen lässt schaltet der GPIO Pin 7 nach BCM Nomenklatur bei mir das An- und Abschaltrelais. Ich habe es so eingestellt, das bei Stromfluss im Schaltkreislauf der Drucker ausgeht. Wollte Verhindern, das bei irgend einem Problem mit dem Raspberry mittem im Druck dem Drucker der Saft gekappt wird. Man kann das natürlich auch andersrum machen.
Ich habe mir noch wie man in der extcommands.xml sieht zwei getrennte Menüknöpfe im RS für manuelles Schalten des Relais erstellt. ist ganz Praktisch.
Falls irgendwas nicht tun sollte einfach hier schreiben oder PM, dann muss ich schauen wo ich noch was vergessen habe.
Grüße Wessix