Hallo, ich habe seit längeren einen Raspberry PI als Printserver für 3 Drucker am laufen. Nun ist das Problem, daß z.B. der Laserdrucker auch im Standby zuviel Strom verbraucht. Bislang habe ich per Funksteckdose diesen immer ein/ausgeschaltet. Hat nicht jemand eine Idee, wie man dem CUPS etwas "ablocken" kann um per GPIO bei neuen Druckauftrag ein Relays zu schalten? Gruß, Wolfram.
:
Verschoben durch Moderator
Du könntest das syslog nach Einträgen von cups scannen und dann GPIO schalten.
hallo, hier gibt es dazu infos: http://forum.lemaker.org/thread-9962-1-1.html The following is an approach to switch the sockets of USB-connected cheap EnerGenie EG-PM2, EG-PMS, EG-PMS2 socket outlets via CUPS and sispmctl: alternativ: mittels tea4cups gehen prehook und posthook scripte... einfach vor dem druck via gpio die relais/whatever schalten und nach dem druck nach zeit x wieder ausschalten. http://www.pykota.com/software/tea4cups HTH, -- randy
achja, was natuerlich auch geht ist ueber den raspi die funksteckdosen zu schalten. https://tutorials-raspberrypi.de/raspberry-pi-funksteckdosen-433-mhz-steuern/ -- randy
danke randy, DAS scheint das richtige zu sein, aber ich bekomme das noch nicht zum laufen... hier ist die cups printers.conf: # Printer configuration file for CUPS v1.7.5 # Written by cupsd # DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING <Printer Canon_iP7200_series> UUID urn:uuid:821b37ce-6a4f-3c31-6099-a3aec50e5cd7 Info Canon iP7200 series Location print-server DeviceURI tea4cups:usb://Canon/iP7200%20series?serial=088A3E State Idle StateTime 1501951645 Type 36892 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy stop-printer </Printer> <Printer FS-1020D> UUID urn:uuid:3a66e55b-0c8d-3ac9-7a46-da5672b9dac8 Info Kyocera FS-1020D Location print-server DeviceURI tea4cups:usb://Kyocera/FS-1020D?serial=XAX5777229 State Stopped StateMessage Unplugged or turned off StateTime 1502138997 Reason paused Type 4116 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy stop-printer </Printer> und hier die tea4cups.conf: [FS-1020D] prehook : /home/pi/relays_on.py posthook : /home/pi/relays_off.py was ist hier falsch? denn die beiden scripts zum ein/ausschalten des Relays funktionieren! ---------------------------------- # Relays on # #!/usr/bin/env python #coding: utf8 # die LED bzw. das SolidStateRelays sind an Pin22 und Pin24 # angeschlossen(Anode 22, Kathode 24) import time import RPi.GPIO as GPIO # Zählweise der Pins festlegen GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) # Ignore warnings # Pin 22 (GPIO 25) als Ausgang festlegen GPIO.setup(22, GPIO.OUT) GPIO.setup(24, GPIO.OUT) GPIO.output(24, GPIO.LOW) # Ausgang einschalten GPIO.output(22, GPIO.HIGH) ------------------------------- #Relays off # #!/usr/bin/env python #coding: utf8 # die LED bzw. das SolidStateRelays sind an Pin22 und Pin24 # angeschlossen(Anode 22, Kathode 24) import time import RPi.GPIO as GPIO # Zählweise der Pins festlegen GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) # Ignore warnings # Pin 22 (GPIO 25) als Ausgang festlegen GPIO.setup(22, GPIO.OUT) GPIO.setup(24, GPIO.OUT) GPIO.output(24, GPIO.LOW) time.sleep (60) # 60sek. warten, dann ausschalten GPIO.output(22, GPIO.LOW) ------------------------------------------- beide scripts sind ausführbar und werden beim hochfahren per rc.local einmal ausgeführt. Nur beim drucken passiert nix mit dem GPIOs... Kann jemand helfen?
ich habe es (teilweise) hinbekommen: Da der Kyocera Laserdrucker der einzige ist, der geschaltet werden soll, habe ich unter [global] die pre- und posthooks eingebaut und den tea4cups-pfad bei den anderen Druckern entfernt. Nun schaltet das SSR auch beim epfang eines Druckauftrages den Laser ein und nach 2min wieder aus. Es sieht für mich so aus, daß wohl der Druckername in Rechteck-Klammern nicht passt, obwohl eigentlich so angegeben ist [1020-D] Erstmal scheint es so zu reichen... Da später aber noch ein Scanner dazukommt, kann es sein, daß ein 2. SSR dazukommt und dann darf das nicht mehr unter [global] geschaltet werden. Gruß, Wolfram.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.