Skip to content

Idee für den Raspberry Pi (I) - umgesetzt: Netzwerkdruck mit Steckdosensteuerung

Raspberry Pi mit 443MHz Sender

Lange ist es her, dass ich hier meine erste Idee für die Nutzung des Raspberry Pi beschrieben hatte.
Mittlerweile hab ich die auch umgesetzt und da ich sie letztes Wochenende erst beim Linux Einsteiger Abend und beim Barcamp Westküste mit ein paar Folien vorgestellt hatte muss ich sie ja auch noch hier beschreiben.

Zur Erinnerung: Mein Ziel war es, den Laserdrucker am Raspberry Pi zu betreiben um ihn im Netzwerk zur Verfügung zu haben und der Drucker sollte nicht ständig eingeschaltet sein und Strom verbrauchen, sondern der Raspberry Pi sollte ihn bei Bedarf einschalten und anschliessend wieder abschalten.

Umgesetzt habe ich es indem der Drucker per USB am Pi hängt und dieser per CUPS angesprochen wird. Das ist trivial, CUPS stellt den Drucker im Netzwerk per ipp zur Verfügung und man kann ihn benutzen.
Interessanter ist die Stromgeschichte. Das geschieht über eine Funksteckdose die der Pi über einen 433MHz Sender den es für knapp 2€ im Internetz gibt ansteuert. Ein kleines Script (quick’n‘dirty) guckt minütlich nach ob etwas zu drucken ist, schaltet den Drucker ggf. ein und eine halbe Stunde nach dem letzten Druckjob wieder aus.
Das Script check_printjob.sh sieht folgendermassen aus:

#! /bin/bash

steckdose=0
printjobs=`lpstat -o | wc -l`

if [ “$printjobs” = 0 ] then if test /tmp/druckjobs then if test `find /tmp/druckjobs -cmin +30` then steckdose=0 rm /tmp/druckjobs else steckdose=1 fi fi else if [ “$printjobs” > 0 ] then steckdose=1 touch /tmp/druckjobs fi
fi

#steckdose schalten mit $steckdose
/usr/local/bin/raspberry-remote/send 11100 4 $steckdose >> /dev/null

(die komische Formatierung durch das CSS bekomme ich auch noch in den Griff :O)

Das Script wird wie gesagt minütlich per cron aufgerufen und tut seinen Dienst. So wie das Script aufgebaut ist, wird der Steckdoese auch jede Minute ein Signal geschickt, das halte ich für verschmerzbar und ich war ehrlich gesagt zu faul es anders umzusetzen. So gleiche ich ausserdem verschluckte Signale aus, es gibt dabei ja keinen Handshake 8).
Das Tool zum verschicken der Schaltsignale stammt von wiringpi.com/, die Ansteuerung habe ich gemäss diesem Tutorial aufgebaut.

Die erwähnte kleine Präsentation die ich letzte Woche verwendet habe, habe ich hier als HTML exportiert (Softmaker Presentations macht da leider Grafiken draus) und alternativ als PDF.