Smart-Home: Funk-Steckdosen fernsteuern

Die meisten Funk-Steckdosen, die man im Baumarkt kaufen kann, funken – wie auch viele Modellautos – mit einer Frequenz von 433 MHz. Passende Funkmodule für den Arduino sind sehr günstig.

In diesem Tutorial wird die Bibliothek RC-Switch verwendet. Diese kann man in der Arduino IDE einfach unter dem Menüpunkt Sketch->Bibliothek einbinden->Bilbiotheken verwalten einbinden

Funkempfänger und -sender am Arduino anschließen

Die beiden Module schließen wir wie folgt an den Arduino an:

Angeschlossene Funkmodule beim UNO
Platinenansicht von den angeschlossenen Funkmodulen beim Nano Die Module werden beide mit 5V betrieben (VCC also an 5V; GND an GND). Die Data-Pins sind an Pin 2 (Empfänger, links) und Pin 3 (Sender, rechts) angeschlossen.

Weg 1: Funksteckdose mit DIP-Schaltern (Standard)

Hat man eine Funksteckdose mit DIP-Schaltern gekauft, so funktioniert in vielen Fällen das bei der Bibliothek mitgelieferte Beispiel (Type A_WithDIPSwitches).

/*
  Beispiel für Funksteckdosen, die mit einem 10fachen DIP-Schalter ausgerüstet sind  
  https://github.com/sui77/rc-switch/
*/
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();  //Schnittstelle öffnen

void setup() {
  // Transmitter ist verbunden mit Arduino Pin #3 
  mySwitch.enableTransmit(3);
}

void loop() {
  //Der erste Block steht üblicherweise für den "Kanal"
  //der zweite Block für die Zuordnung zu den jeweiligen Knöpfen der Fernbedienung (A-E)
  mySwitch.switchOn("01010", "10000");
  delay(1000);
  mySwitch.switchOff("01010", "10000");
  delay(1000);
}

Das übersetzte und auf unsere Verkabelung angepasste Beispiel schaltet die Funksteckdose in einsekündigen Abständen ein und aus.

Die Zahlenfolge von Nullen und Einsen bei den Parameter von switchOn und switchOff muss mit der Stellung der DIP-Schalter übereinstimmen.

Weg 2: Sende-Codes selber auslesen (bei Nicht-Standard-Funktsteckdosen)

Dies ist wesentlich schwieriger. Der Ablauf sieht hier zunächst so aus, dass die Sende-Codes der Fernbedienung mit Hilfe des Empfänger-Moduls ausgelesen werden. Danach weiß man, was die Fernbedienung sendet, um die einzelnen Steckdosen ein- und auszuschalten und kann entsprechend dasselbe mit Hilfe des Sendemoduls senden und dadurch die Fernbedienung nachahmen.

Eine ausführlichere Erklärung liefert das folgende Tutorial, der von ähnlichen Voraussetzungen bzgl. dem Anschluss der Funkmodule ausgeht.