26.12.2012

Raspberry Pi: Lampe bei Sonnenaufgang einschalten

Raspberry Pi: Lampe bei Sonnenaufgang einschalten

 Voraussetzung: Schaltung und Software aus den vorherigen Teilen

1. Übersicht
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose
3. Software auf dem Raspberry Pi Ansteuerung und Webserver
4. DynDNS, Siri & mehr
5. Schalten mit  Google Calendar und IFTTT
6. Lampe bei Sonnenaufgang einschalten (dieser Teil)
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo



Ein weiteres Rezept mit IFTTT und der Funksteckdosen-Steuerung mit dem Raspberry Pi:

Lampe bei Sonnenaufgang einschalten. 


Das ist meine Nachttischlampe, die ich in den Weihnachtsferien schalte. Bei IFTTT kann der Weather-Channel als Trigger genommen werden. Ein Ereignis dieses Channels ist der Sonnenaufgang des festgelegten Orts. Dieses Rezept ruft die Lampen-Einschalt-URL auf, auch hier wird Dropbox-Trick verwendet, da IFTTT die URL nicht direkt aufrufen kann:




Der Weather-Channel kennt auch das Ereignis "Unterschreiten einer festgelegten Temperatur". Damit kann z.B. eine elektrische Standheizung im Auto bei tiefen Temperaturen eingeschaltet werden..



1. Übersicht
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose
3. Software auf dem Raspberry Pi Ansteuerung und Webserver
4. DynDNS, Siri & mehr
5. Schalten mit  Google Calendar und IFTTT
6. Lampe bei Sonnenaufgang einschalten (dieser Teil
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo  

23.12.2012

Home Automation mit dem Raspberry Pi 5: Funksteckdosen schalten mit Google Calendar und IFTTT

Inhalt

1. Übersicht
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose
3. Software auf dem Raspberry Pi Ansteuerung und Webserver
4. DynDNS, Siri & mehr
5. Schalten mit  Google Calendar und IFTTT (dieser Teil)
6. Lampe bei Sonnenaufgang einschalten
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo 

Google Calendar zum Schalten von Funksteckdosen


Ein Google-Kalender für jede Funksteckdose wäre doch toll, damit kann man bequem einstellen, wann da daran hängende Gerät ein- und ausgeschaltet werden soll. Der Kalender lässt sich teilen, und Google sorgt für ein tolles UI und spart uns viel Arbeit. Für meine Heizungspumpe sieht das dann beispielsweise so aus:




IFTTT.com

Für die Verknüpfung von Webdiensten verwende ich IFTTT (If This Then That). Das ist ein genialer Meta-Webdienst, der bei festgelegten Ereignissen (If This-Trigger) bestimmte Aktionen (Then That) ausführt. Ein solches Ereignis (Event) kann  ein Kalendereintrag bei Google Calendar sein, der ein bestimmtes Wort im Titel als Trigger enthält.  Insgesamt gibt es momentan über 60 verschiedene Channels, über die ein Event reinkommen kann.

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!

Insgesamt sind damit folgende Zutaten für das IFTTT-Recipe nötig:
  • IFTTT-Account
  • Google Calendar-Account
  • Dropbox-Account

Schritt für Schritt

1. Auswahl des Trigger-Channels


Durch das Erstellen eines Rezepts (Recipe) bei IFTTT führt ein Assistent. Erster Schritt, klick auf das Google-Calendar-Icon. Beim ersten Mal kommt ein Authentifizierungsdialog, der IFTTT erlaubt, auf den Kalender zuzugreifen.

2. Trigger wählen


Wir nehmen "Event from scratch starts", das kann Kalendertermine nach einem bestimmten Wort durchsuchen.


3. Trigger festlegen


Das Wort "ein" soll der Trigger sein.




4. Action-Channel wählen


Als Action-Channel nehmen wir Dropbox. Auch hier kommt beim ersten Mal ein Authentication-Dialog, der IFTTT erlaubt, Dropbox zu benutzen.


5. Action auswählen


Wir nehmen "add file from URL". Das holt die angegebene URL und speichert sie in der Dropbox


6. URL angeben


Hier die URL zum Einschalten der Steckdose angeben




7. Fertig

Im letzten Schritt geben wir dem Rezept noch einen Namen, fertig!

Das selbe machen wir nun noch mit der Ausschalt-URL, die bei "aus" im Kalender aufgerufen wird.

Zusammenfassung: was haben wir erreicht?

Wenn im Google Calendar ein Termin mit Titel "ein" erreicht ist, wird die Steckdose eingeschaltet. Beim nächsten Termin mit Titel "aus" wird sie wieder ausgeschaltet.

Komplexität bleibt verborgen

Der Google-Calendar-Benutzer hat überhaupt nichts mit der IFTTT-Konfiguration zu tun.

Jeder, der Termine auf dem Kalender eintragen darf, kann die Steckdose ein und ausschalten, er muß nur wissen, daß der Termintitel "ein" bzw "aus" heissen muss.

Rechteverwaltung und User-Interface erledigt Google. Die Kopplung zum Raspberry-Pi per URL erledigt IFTTT, sie bleibt dem Benutzer komplett verborgen!



Inhalt

1. Übersicht
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose
3. Software auf dem Raspberry Pi Ansteuerung und Webserver
4. DynDNS, Siri & mehr
5. Schalten mit  Google Calendar und IFTTT (dieser Teil)
6. Lampe bei Sonnenaufgang einschalten
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo

22.12.2012

Home Automation mit dem Raspberry Pi 4: DynDNS, Siri & mehr

Inhalt
1. Übersicht
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose
3. Software auf dem Raspberry Pi Ansteuerung und Webserver
4. DynDNS, Siri & mehr (dieser Teil)
5. Schalten mit  Google Calendar und IFTTT  
6. Lampe bei Sonnenaufgang einschalten
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo


Was bisher geschah

In den Teilen 1-3 wurde die Hardware und die Sofware bis zum Webserver beschrieben. Damit können im lokalen Netz per Aufruf einer URL Funksteckdosen ein- und ausgeschaltet werden.

Damit Internetdienste die Steckdosen schalten können, muß es zusätzlich eine feste URL dafür geben - und der Raspberry Pi muß vom Internet aus erreichbar sein.

DynDNS

Erster Teil der URL ist ein fester Name. Typischerweise wird eine DSL-Anschluss einmal am Tag kurz unterbrochen. Nach dem Reconnect wird eine neue IP-Adresse vergeben. Damit diese dynamische IP-Adresse immer denselben Namen bekommt, benötigt man einen Account bei einem Dyn-DNS-Provider, der dem festen Namen die wechselnde Adresse zuordnet. Es gibt einige Provider, bei denen man eine kostenlose Adresse der Form

MeineTolleSubdomain.dyndnsprovider.org

bekommen kann. Eine Liste von Providern gibt es beispielsweise hier: https://help.ubuntu.com/community/DynamicDNS
Bei einem dieser Provider besorgt man sich einen Account.

Auf dem Raspberry Pi muß ein Prozess laufen, der die lokale Adresse mit dem Dyn-DNS-Anbieter abgleicht. Recht schmerzlos ist "ddclient", der mit

sudo aptitude install ddclient

installiert wird und abschließend nach Name und Passwort des vorher besorgten Accounts fragt.

Portfreigabe

Nun haben wir zwar einen festen Namen, aber der Raspberry Pi ist immer noch nicht vom Internet erreichbar, da der Router die Rechner im lokalen Netz sperrt. Sie müssen freigegeben werden. Bei einer FritzBox richtet man das z.B. so ein:


Der Raspberry Pi soll vom Internet auf Port 1234 erreichbar sein, der auf seine Adresse im lokalen Netz (hier 192.168.178.42) an Port 8080 (dort läuft der Webserver aus Teil 3) weitergereicht wird.

Zwischenstand

Zusammen mit dem Dyn-DNS-Namen ergibt sich damit folgende Basis-URL:

http://MeineTolleSubdomain.dyndnsprovider.org:1234/

Auf die der Raspberry Pi im Internet hört. Steckdose A schaltet man damit z.B. mit

http://MeineTolleSubdomain.dyndnsprovider.org:1234/switch/A/ON

http://MeineTolleSubdomain.dyndnsprovider.org:1234/switch/A/OFF


ein bzw aus. Und zwar geht das dann weltweit übers ganze Internet!

WICHTIG:

Da der Raspberry Pi vom ganzen Internet erreichbar ist, kann wirklich jeder, der die URL kennt, die Steckdose ein- und ausschalten! Deshalb sollte man nicht unbedingt den oben genannten Port benutzen und den Pfad auch ändern.

Und es ist auch grob fahrlässig, Sachen übers Internet zu schalten, mit denen man Schaden anrichten kann. Beleuchtung ist OK, aber wer eine Herdplatte damit schalten will, der hat ein Problem.

Wer mehr Sicherheit will, kann dem Webserver aus Teil 3 eine Authentisierung vorschalten, damit nur bestimmte Benutzer mit Ihrem Passwort Steckdosen schalten dürfen. Das ist aber nicht Teil dieser Serie.

User Interface

Um eine Steckdose ein- bzw auszuschalten müssen wir nur noch eine URL aufrufen. Die ganze Komplexität, die dahintersteckt, ist durch die einfache Hardware und Software wegabstrahiert.

Man könnte jetzt ein User-Interface damit bauen, aber auch das haben andere Dienste schon für uns besser erledigt. Wir müssen diese Dienste nur dazu bringen, URLs aufzurufen. 

Siri

Siri. Dein Wunsch ist ihm Befehl. So  wirbt Apple für die Spracherkennung auf dem iPhone. Tatsächlich ist es sehr einfach, per Siri eine URL aufzurufen und damit eine Steckdose zu schalten:

Wir benötigen dazu nur einen Kontakt per Ein- bzw Ausschaltbefehl. Bei mir ist die Heizungspumpe an eine Funksteckdose angeschlossen. Die soll per Sprachbefehl geschaltet werden, deshalb heissen die Kontakte "Heizung An" bzw "Heizung Aus".

 Jeder Kontakt enthält nur das "Homepage"-Feld mit der Schalt-URL, also sowas:


Mit einem langen Druck auf die Home-Taste wird Siri auf dem iPhone aktiv. Wenn ich dann "Heizung an" spreche, wird der Kontakt geöffnet - ein Touch zur Bestätigung öffnet die URL und die Heizungspumpe geht an.

Sehr cool!


Nächster Post: Schalten per Google Calendar und IFTTT



1. Übersicht
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose
3. Software auf dem Raspberry Pi Ansteuerung und Webserver
4. DynDNS, Siri & mehr (dieser Teil)
5. Schalten mit  Google Calendar und IFTTT  
6. Lampe bei Sonnenaufgang einschalten
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo


16.12.2012

Home Automation mit dem Raspberry Pi: 3. Software auf dem Raspberry Pi - GPIO-Ansteuerung und Webserver

Inhalt
1. Übersicht
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose
3. Software auf dem Raspberry Pi Ansteuerung und Webserver (dieser Teil)
4. DynDNS, Siri & mehr
5. Schalten mit  Google Calendar und IFTTT 
6. Lampe bei Sonnenaufgang einschalten
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo


 

Software

Betriebssystem

Bei raspberrypi.org gib es ein SD-Card-Image mit einem angepassten Debian-Linux. Für die weiteren Schritte gehen wir davon aus, daß das auf dem Raspberry Pi installiert ist.

Python-Bindings für die GPIO-Pins

Wir wollen die GPIO-Pins (General Purpose Input/Output), die wir gerade via Interface mit dem Handsender verbunden haben, per Software ansteuern. Für die Scriptsprache Python gibt es dafür das RPi.GPIO-Modul, das installiert werden muß.

Nun können wir einzelne Pins schalten und damit einen Tastendruck simulieren. Wenn man z.B. folgenden Code

  GPIO.output(14, True)
  GPIO.output(24, True)
  time.sleep(1.0)
  GPIO.output(14, False)
  GPIO.output(24, False)


ausführt

wird ein ein-sekündicher Tastendruck auf die Taste "A/ON" simuliert. Die LED auf dem Sender leuchtet und die Steckdose A wird angehen. Wow! Wir können Steckdosen per Software ein- und ausschalten!

Webserver mit dem Bottle-Framework

Um übers Netzwerk per Browser Steckdosen zu schalten brauchen wir noch einen Webserver, der den Python-Code aufruft. Dazu gibt es das Python-Framework "bottle", das uns die Drecksarbeit abnimmt. "bottle" steckt in der einzigen Datei "bottle.py", die im gleichen Verzeichnis wie unser Programm liegt.

Damit sieht unser gesamter Code so aus:

from bottle import route, run

# Import required libraries
import time
import RPi.GPIO as GPIO

# Define some settings
# Wait for one second
WaitTime = 1.0
# Use BCM GPIO references
# instead of physical pin numbers
GPIO.setmode(GPIO.BCM)

# Define GPIO signals to use
# and the Mapping to Signals A-D and ON/OFF
Pins={ 'A': 14, 'B':15, 'C':18, 'D':25, 'ON': 24, 'OFF':23 }

# Set all pins as output
for pin in Pins:
  GPIO.setup(Pins[pin],GPIO.OUT)
  GPIO.output(Pins[pin], False)

# Switches "switch" to ON or OFF state
# Parameters are "switch" (A,B,C,D) and "state" (ON,OFF)
def setSwitch(switch, state):
  GPIO.output(Pins[switch], True)
  GPIO.output(Pins[state], True)
  time.sleep(WaitTime)
  GPIO.output(Pins[switch], False)
  GPIO.output(Pins[state], False)

@route('/switch/<name>/<pos>')
def index(name, pos):
  name = name.upper()
  pos = pos.upper()
  setSwitch(name, pos)
  return 'Switch %s %s</b>' % (name, pos)

run(host='0.0.0.0', port=8080)

Erläuterung


In der ersten Zeile werden die benötigten Funktionen des bottle-Frameworks importiert. Anschließend wird das Mapping der GPIO-Pins auf symbolische Namen festgelegt, die in der folgenden "setSwitch"-Methode verwendet werden.

Die setSwitch-Methode hat zwei Parameter, der erste gibt die Steckdose an (A bis D), der zweite den gewünschten Zustand (ON/OFF). Die beiden Parameter entprechen GPIO-Pins, die geschaltet werden.

Anschließend wird die URL "/switch" als route definiert, auf die reagiert werden soll - die index-Methode holt die Parameter aus der URL und ruft die setSwitch-Methode damit auf.

Beispiel: beim Aufruf der URL "/switch/A/ON" werden die Parameter "A" und "ON" extrahiert und setSwitch("A","ON") aufgerufen. Damit wird die Steckdose A eingeschaltet. Wichtig: der Code muß als root laufen, da man root-Rechte benötigt, um GPIO-Pins zu schalten.

Ausprobieren können wir das Script mit

sudo python switch.py

Mit einem Browser können wir dann den Raspberry Pi ansprechen:

http://raspi.ip.adresse:8080/switch/A/ON

schaltet Steckdose "A" ein, die LED auf dem Handsender leuchtet für eine Sekunde. Mit

http://raspi.ip.adresse:8080/switch/A/OFF

Schaltet die Steckdose wieder aus.

Daemon

Damit unser Python-Script beim Booten automatisch gestartet wird, kommt es zusammen mit bottle.py ins Verzeichnis /opt/switch. Nach /etc/init.d legen wir ein Shell-Script "switch", das folgenden Inhalt hat:

#!/bin/bash

DAEMON=/usr/bin/python
ARGS="/opt/switch/switch.py"
PIDFILE=/var/run/switch.pid

case "$1" in
  start)
    echo "Starting server"
    /sbin/start-stop-daemon --start --pidfile $PIDFILE \
        --user root --group root \
        -b --make-pidfile \
        --chuid root \
        --exec $DAEMON $ARGS
    ;;
  stop)
    echo "Stopping server"
    /sbin/start-stop-daemon --stop --pidfile $PIDFILE --verbose
    ;;
  *)
    echo "Usage: /etc/init.d/switch {start|stop}"
    exit 1
    ;;
esac

exit 0


mit chmod +x /etc/init.d/switch wird das Script ausführbar gemacht.

Als root kann man nun das Script mit

/etc/init.d/switch start 

starten. Damit das beim Booten automatisch geht, führen wir noch

sudo update-rc.d -f switch defaults
 
aus.
 

Zwischenstand: 

Die Steckdosen können durch Aufruf einer URL ein und ausgeschaltet werden. Ein RESTful-Interface für die physikalische Welt! Sehr cool! 

Links

http://bottlepy.org/docs/dev/
Treating a Python Application as a Daemon on Debian


Inhalt
1. Übersicht
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose
3. Software auf dem Raspberry Pi Ansteuerung und Webserver (dieser Teil)
4. DynDNS, Siri & mehr
5. Schalten mit  Google Calendar und IFTTT  
6. Lampe bei Sonnenaufgang einschalten
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo


Home Automation mit dem Raspberry Pi: Teil 2: Hardware - Interface vom Raspberry Pi zur Funksteckdose

Hardware - vom Raspberry Pi zur Funksteckdose

Inhalt
1. Übersicht
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose (dieser Teil)
3. Software auf dem Raspberry Pi Ansteuerung und Webserver
4. DynDNS, Siri & mehr
5. Schalten mit  Google Calendar und IFTTT
6. Lampe bei Sonnenaufgang einschalten
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo
 

 

Zutaten

  • Funksteckdosen mit Handsender
  • Raspberry Pi
  • ein IC ULN2803
  • Ein Google Calendar Account
  • Ein Account auf IFTTT ("If This Then That")
  • Lötkolben, Kabel, etc

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.

Funksteckdosensender

Handsender


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

Wenn man die Leiterbahnen auf der Platine verfolgt, sieht man, daß pro Taste jeweils zwei Pins auf Masse gezogen werden und zwar bilden sie eine Matrix, mit vier Leitungen A, B, C, D und zwei Leitungen "ON" und "OFF". Wenn man genau hinschaut, sieht man diese zwei Kontakte per Taster auf dem Platinenfoto.

Platine

Als Schaltbild sieht die Tastaturmatrix so aus:

Tastaturmatrix
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). Damit ergibt sich folgende Schaltung für jeden Pin:

Darlington-Detail pro Bit aus ULN2803A

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 folgende Schaltung:



Die Verbindung vom Raspberry Pi zum Interface ist ein 26-poliges Flachbandkabel. Vom Interface zum Handsender gehen 7 Kabel (& Signale + Masse).

Aufbau

Detailbilder vom Aufbau

Alles


Adapterplatine mit ULN2803, Kabel zur Fernsteuerung (direkt an Fernsteuer-IC gelötet)


Adapter, Lochrasterplatine von unten



Sehr praktisch ist, daß wir den Handsender weiter manuell betätigen können.

Im nächsten Teil der Serie folgt die Software auf dem Raspberry Pi: von den GPIO-Pins zum Webserver


1. Übersicht
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose (dieser Teil)
3. Software auf dem Raspberry Pi Ansteuerung und Webserver
4. DynDNS, Siri & mehr
5. Schalten mit  Google Calendar und IFTTT
6. Lampe bei Sonnenaufgang einschalten
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo

Home Automation mit dem Raspberry Pi: 1. Siri und Google Calendar für Weihnachtsbeleuchtung, Kaffeemaschine (und andere Geräte)

Inhalt
1. Übersicht (dieser Teil)
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose
3. Software auf dem Raspberry Pi Ansteuerung und Webserver
4. DynDNS, Siri & mehr
5. Schalten mit  Google Calendar und IFTTT  
6. Lampe bei Sonnenaufgang einschalten
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo

Home Automation mit dem Raspberry Pi: 1. Übersicht - Haushaltsgeräte übers Internet schalten

Inzwischen gibt es einige Geräte, die übers Internet gesteuert werden können - die sind aber meistens sehr teuer und speziell.

Es wäre aber schön, vorhandene Haushaltsgeräte übers Internet zu schalten. Wenn man das über eine URL tun kann, lässt sich das über verschiedene Dienste automatisieren. Damit  kann man z.B. die Weihnachtsbeleuchtung über ein iPhone mit Siri steuern, die Nachttischlampe über Google Calendar oder die Kaffeemaschine über einen Browser einschalten - und vieles mehr.

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.

Prinzip

Wir wollen nichts mit 220V zu tun haben, sondern schalten handelsübliche Billig-Funksteckdosen über den Handsender, der an einen Raspberry Pi angeschlossen ist. Der Raspberry Pi hängt am Hausnetzwerk und ist über eine URL per Bowser erreichbar. Das ganze geht natürlich auch quer übers Internet und damit auch über IFTTT, das sich über Google Calendar steuern lässt. Oder vom iPhone per Siri. Also alles ganz einfach..

Das ganze ist ein wenig Work in Progress, deshalb die einzelnen Schritte als separate Posts.

1. Übersicht (dieser Teil)
2. Hardware - Interface vom Raspberry Pi zur Funksteckdose
3. Software auf dem Raspberry Pi Ansteuerung und Webserver
4. DynDNS, Siri & mehr
5. Schalten mit  Google Calendar und IFTTT  
6. Lampe bei Sonnenaufgang einschalten
7. Raspberry Pi - Home Automation:  per Telefon schalten mit Tropo



10.12.2012

Cooler Hack: RasPi als FM-Sender (ohne Zusatzhardware!)

Einen sehr interessanten Hack gibt es hier: Software, um einen Raspberry Pi  in einen UKW-Sender zu verwandeln. Das ganze funktioniert tatsächlich ohne zusätzliche Hardware - es wird ein GPIO-Pin über den Clock-Generator angesteuert. Die Modulation erfolgt über Variation des Teilerfaktors. Das ganze ist ein Projekt der Imperial College Robotics Society.

Respekt!