Dank Raspberry lassen sich Funksteckdosen per Google Calendar, Siri oder IFTTT schalten.
Zutaten
- Funksteckdosensatz mit Handsender (von Pollin)
- Raspberry Pi
- ULN 2803A
- Lochrasterplatine, Kabel
Kurzbeschreibung
Funksteckdosen werden über einen Raspberry Pi geschaltet. Per Webserver auf dem Pi geht das über eine URL. Das kann zur Verknüpfung mit Webdiensten via IFTTT benutzt werden. Steckdose ein/aus bei Sonnenaufgang oder Google Calendar-Termin oder Siri...
Aufbau
Inspirationsquellen
Die eigene Faulheit: Funksteckdosen über Google Calendar zu schalten ist einfach bequem..
Niedrige Kosten durch Funksteckdosen und Raspberry Pi
Inzwischen gibt es Funksteckdosen im Viererpack mit Handsender für ungefähr 10-15€. Ein Raspberry Pi kostet mit Versand etwa 40 €. Ein paar Kleinteile und Kabel braucht man ebenfalls - und löten sollte man auch können. Wenn man etwa 60 € anlegt, kann man damit vier Geräte übers Internet ein und ausschalten.. Für weitere Geräte fallen dann nur noch die Kosten für zusätzliche Funksteckdosen an, also etwa 4€ pro Steckdose.
Hardware
Ich verwende das Funk-Steckdosen-Set 2605 von Pollin. Es kostet 9,95€ und enthält einen Sender und drei Steckdosen. Ähnliche Sets gibt es im Baumarkt und beim Discounter, die Schaltung ist meistens gleich.
Handsender im Detail
Unser Handsender hat acht Tasten, mit denen man vier Funksteckdosen ein- bzw ausschalten kann. Die Schaltung des Senders besteht im aus einem IC PT2262 (aka HX2262) das die ganze Steuerung übernimmt und einem HF-Teil. Hier gibt es ein Datenblatt des PT2262/HX2262 An das HX2262 sind die acht Tasten des Handsenders angeschlossen, für jede Funksteckdose A, B, C, D jeweils ein Schalter "ON" und ein Schalter "OFF". Wir werden diese acht Tasten über Ausgänge des Rasperry Pi simulieren.
Tastaturmatrix-Simulation
Wenn man eine Taste drückt, werden jeweils genau zwei Leitungen mit Masse verbunden - eine aus dem Paar ON/OFF und eine der vier A/B/C/D. Insgesamt gibt es also sechs Leitungen und damit sechs Bit, die nach Masse gezogen werden. Diese Leitungen sind an das IC vom Typ HX2262 angeschlossen, das die gesamte Steuerug übernimmt. Das silbrige Teil im Platinenfoto ist der Hochfrequenz-Sender, der vom Steuerungs-IC moduliert wird. Wenn das bei diesen sechs Leitungen durch jeweils einen Transistor passiert (statt durch die Taster), sollte das doch auch funktionieren... Und die Transistoren kann man mit den GPIO-Pins des Raspberry Pi steuern. Um weniger löten zu müssen, können wir ein Transistor-Array ULN2803A nehmen (das zufällig rumliegt). Wie die genaue Kommunikation zwischen Handsender und den einzelnen Steckdosen aussieht, ist uns total egal, wir simulieren nur die Tastendrücke.
Gesamtschaltung
Insgesamt ergibt sich damit diese Schaltung. Die Verbindung vom Raspberry Pi zum Interface ist ein 26-poliges Flachbandkabel. Vom Interface zum Handsender gehen 7 Kabel (& Signale + Masse).
GPIO, Webserver, Internet-Anbindung
Für die Steuerung der GPIO-Pins gibt es eine Python-Library (RPi.GPIO). Das Python-Webserver-Framework bottle nimmt Requests entgegen und simuliert über RPi.GPIO Tastendrücke. Das komplette Python-Script ist nur etwa 30 Zeilen lang! Damit kann man nun über den Aufruf einer URL Steckdosen an- und ausschalten! Damit das übers Internet geht, muß man den Webserver auf dem raspberry Pi noch per dyndns bekannt machen und den Router so konfigurieren, daß die Requests auf dem Raspberry Pi landen.
Google Calendar
Nun sind wir schon fast am Ziel: die URL zum ein/ausschalten soll über Google Calendar aufgerufen werden. Damit vereinfacht sich das User-Interface gewaltig, die Drecksarbeit (Calender-UI, Account-Verwaltung, Zugriffsteuerung) erledigt Google für uns.
IFTTT
Es fehlt noch die Verknüpfung von Google Calendar zum Aufruf der URL. Dazu gibt es den Meta-Webservice IFTTT (If This Then That), der über Ereignisse Aktionen auslösen kann. Ein Ereignis kann z.B. ein Termin in Google Calendar sein, oder eine Temperatur im Weatherchannel. Eine direkte URL-Aufruf-Action gibt es nicht, aber ein kleiner Workaround löst das Problem: man kann das Ergebnis eines URL-Aufrufs in seiner Dropbox ablegen lassen. Die Aufrufe sind dann eben die Ein- bzw Ausschalt-URL - voila!
Weitere Details und Informationen zum Projekt finden Sie unter www.µc.net