433MHz Funksteckdosen mit dem Raspberry Pi schalten

Für eine Haussteuerung braucht man hin und wieder eine schaltbare Steckdose um zB Lichter, Heizlüfter, Ventilatoren usw – kurz alles was man in Steckdosen steckt ein und aus zu schalten.
Und vermutlich hat jeder einen solchen 3er Pack schon mal beim Discounter mitgenommen.
In diesem Projekt machen wir aus diesen billigen Steckdosen aus dem Netzwerk steuerbare IoT-Devices.

Hardware Setup

Beschaffung:
Ich habe mir den 433MHz Sender und Empfänger via Amazon bestellt:
https://amzn.to/2Pwc3UA

Der Sender mit Beschaltung

Der Sender hat nur 3 Pins.

EmpfängerPI-PINGPIO
DATA1117
VCC4
GND34

Der Empfänger mit Beschaltung

Der Empfänger hat 4 Pins, von denen aber nur 3 angeschlossen werden müssen.

EmpfängerPI-PINGPIO
DATA1327
VCC1
GND9

Achtung! Hier den 3,3V Pin des Pi benutzen. Das schränkt zwar die Reichweite des Empfängers extrem ein und man muss mit der Fernbedienung sehr nahe an den Empfänger. ABER: Mit den 5V des Pi würde man den GPIO grillen, weil diese nur für 3,3V ausgelegt sind.

Schaltplan

Die Schaltung sieht als Schaltplan so aus

Auf dem Board

… sollte es nach der Verkabelung des Empfänger so aussehen

Software Setup

Mit dem Script werden folgende Punkte automatisch erledigt:

  1. Es wird ein Verzeichnis für das Projekt angelegt
  2. WiringPi wird heruntergeladen und kompiliert
  3. Die 433Utils werden heruntergeladen und kompiliert

Setup.sh

#! /bin/bash

mkdir -p ~/Steckdosen433
cd ~/Steckdosen433

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

git clone --recursive git://github.com/ninjablocks/433Utils.git
cd 433Utils/RPi_utils
make

cd ~/Steckdosen433

443 MHz Fernbedienung mit dem Raspberry Pi auslesen

Wie eingangs erwähnt wird die 3,3V Spannungsversorgung genutzt.
Ich wiederhole es am besten nochmal zur Sicherheit:
Achtung! Hier den 3,3V Pin des Pi benutzen. Das schränkt zwar die Reichweite des Empfängers extrem ein und man muss mit der Fernbedienung sehr nahe an den Empfänger. ABER: Mit den 5V des Pi würde man den GPIO grillen, weil die Eingänge nur für 3,3V ausgelegt sind.

Also entweder (sehr) nah ran, oder einen Spannungswandler dazwischen bauen.

Nach diesem Setup, jetzt den  RFSniffer starten um die Codes der Fernbedienung zu ermitteln.

~/Steckdosen433/433Utils/RPi_utils/RFSniffer

und dann die Tasten der Fernbedienung mehrfach und lange drücken.
Das sollte dann so aussehen:

pi@pi3:~/Steckdosen433 $ ~/Steckdosen433/433Utils/RPi_utils/RFSniffer
Received 5571860
Received 5571860
Received 5571860
Received 5571860
Received 5571860
Received 5574645
Received 5571860
Received 5571860
Received 5571860
Received 5571857
Received 5571857
Received 5571857
Received 5571857
Received 5571857
Received 5571925

Falls ein paar Werte aus der Reihe tanzen wie oben ist das voll okay, weil die 433Utils nicht 100% alle Werte immer richtig mitschneiden.

443 MHz Steckdosen mit dem Raspberry Pi schalten

So, das war der Setup … dann wollen wir mal sie 443 MHz Steckdosen mit dem Raspberry Pi schalten

Steckdose ein

~/Steckdosen433/433Utils/RPi_utils/codesend 5571860

Steckdose aus

~/Steckdosen433/433Utils/RPi_utils/codesend 5571857

Wenn es jetzt klickt hat alles funktioniert.

Glückwunsch zu Deinem neuen IoT Device.

Beim nächsten Mal schreiben wir ein Web-Interface für die Steckdosen….