Automatisches Gartenlicht

Ich mag sanftes, gemütliches Licht. Im Wohnzimmer haben wir auf Tischen und in den Bücherregalen eine Reihe kleiner Lämpchen mit niedriger Lichtleistung verteilt, damit wir nicht immer im vollen Flutlicht der Deckenbeleuchtung sitzen müssen. Damit wir die Lämpchen nicht einzeln abklappern müssen, um sie ein- und auszuschalten, benutzen wir Funkschalter. In den letzten Wochen bin ich ausführlich durch den Garten gerobbt und habe Stromkabel verlegt, um die Beleuchtung auch auf den Garten auszudehnen (es gibt zwar Funkschalter, aber leider immer noch keinen Funkstrom. Hmpf). Es sieht jetzt bei Dunkelheit so aus wie auf diesem Bild:

gartenlicht-1

Selbstmurmelnd ist die Fernbedienung für die Funkschalter immer irgendwie weg oder die Batterien sind leer, und überhaupt ist so eine Fernbedienung nicht annähernd nerdig genug, weil man sie ja noch manuell bedienen muss, wenn man sie denn endlich gefunden hat.

Da sich im Garten ja eh schon zwei Minicomputer vom Typ Raspberry Pi befinden (einer im Vogelhaus, der andere steuert die Bewässerung), könnte man die Lichtschalterei an einen der beiden delegieren. Ich möchte erreichen, dass

  • abends beim Einbrechen der Dämmerung das Licht eingeschaltet wird und bis 01.00 Uhr leuchtet.
  • Dann soll es aus bleiben, bis es um 06.00 Uhr wieder eingeschaltet wird, und
  • es soll dann leuchten, bis die Sonne aufgegangen ist.

Der Knackpunkt an dieser Aufgabe ist nicht die Technik – die ist, wie Sie gleich sehen werden, mit nur geringem Aufwand verbunden – sondern das Ermitteln der richtigen Schaltzeiten in der Morgen- und Abenddämmerung. Wenn Sie Ihre geographische Position kennen, können Sie den Zeitpunkt des Sonnenauf- und -untergangs berechnen. Die Mathematik dahinter ist aber wesentlich komplexer, als ich vermutet hatte; die Einzelheiten erspare ich mir hier, Sie können hier eine gute Zusammenfassung lesen. Es gibt aber andere Methoden, den richtigen Zeitpunkt herauszufinden:

  • Viele Wetterseiten zeigen den Zeitpunkt der Morgen- und Abenddämmerungen an. Man kann sich die Daten einfach aus dem Seitenquelltext herausschneiden und weiterverarbeiten. Das ist sicherlich die Methode, die den geringsten Aufwand erfordert.
  • Sie benutzen eine Fotozelle, hängen sie an einen A/D-Wandler und lesen den Helligkeitswert aus. Wie man analoge Daten digitalisiert und weiterverarbeitet, habe ich in einem Unterkapitel des PomodoPi-Projekts am Beispiel des Bodenfeuchtigksitssensors beschrieben.
  • Wenn Sie eine Photovoltaikanlage auf dem Dach haben, können Sie einfach deren Leistungsdaten auslesen. Wenn die Anlage weniger als 100 Watt produziert, ist es dämmrig.

Die beiden letztgenannten Methoden haben den Charme, dass sie auf die tatsächliche Lichtsituation vor Ort reagieren und nicht stur festgelegte Schaltzeiten abarbeiten. So geht das Licht auch an, wenn mal eine Horde dunkler Wolken durchzieht.

Jetzt aber zum Schalten und Walten! Schauen wir uns einmal die Funksteckdosen an. Das hier ist eine, die für den Außenbereich geeignet ist:

433-funkschalter

Auf der Rückseite gibt es eine kleine Klappe, die man aufschrauben kann. Dahinter kommen DIP-Schalter („Mäuseklavier“) zum Vorschein:

433-dip-schalter

Der erste Block von DIP-Schaltern ist mit den Ziffern 1 bis 5 beschriftet. Ist der Schalter oben, so steht dieser Wert auf „on“, unten ist „off“. Wenn, wie im Bild, die ersten drei Schalter „on“ sind, hat die Steckdose die Kennung „11100“ – das ist wie ein Name, offiziell heißt es „Gerätecode“.

Der zweite Block ist mit den Buchstaben A bis E beschriftet. Das ist der „Systemcode“. Er soll bei allen Steckdosen, die Sie benutzen, gleich sein. Außerdem darf man diese Schalter nicht miteinander kombinieren – nur einer der DIP-Schalter A bis E darf gleichzeitig „on“ sein.

Damit ist die Empfängerseite startklar – jetzt brauchen wir noch den Sender, der uns die Fernbedienung ersetzen soll. So sieht er aus:

433mhz

Dieser 433-MHz-Sender hat drei Anschlusspins: Plus, Minus und einen Signaleingang. Über letzteren teilt man dem Modul mit, wann er welche Befehle an die Funksteckdosen senden soll. Es wird mit dem Raspberry Pi an Pin 11 (GPIO 17) verbunden. Die Spannung sollte mindestens fünf und höchstens 12 Volt betragen – mehr Spannung bedeutet mehr Reichweite. Dort, wo auf der Platine „ANT“ aufgedruckt ist, können Sie noch eine Antenne, einen einfachen Draht mit etwa 20 cm Länge, anlöten. Auch das bringt nochmal ein bisschen mehr Reichweite.

Zum Schluss fehlt noch die Software. Wir benötigen die Software wiringPi und rcswitch-pi. So laden und installieren Sie sie auf dem Raspberry Pi:

cd
git clone git://git.drogon.net/wiringPi cd wiringPi
./ build

cd
git clone https://github.com/r10r/rcswitch-pi.git cd rcswitch -pi
make

Im Verzeichnis rcswitch-pi finden Sie jetzt das Programm send. So schalten Sie damit Ihre Steckdose ein:

sudo ./send 11100 2 1

Den Gerätecode 11100 haben Sie sicher schon wiedererkannt. Die 2 steht für den Systemcode „B“, und die letzte „1“ bedeutet „Steckdose einschalten“. Ersetzen Sie sie durch eine Null, um die Steckdose wieder auszuschalten.

Viel Spaß an dem Schalthebeln der Nacht… ;-)

funkschalter

trenner_bohne