Ich benutze diese Gegenstände:
- Empfänger EIN-AUS , um meine Lichter zu steuern (normalerweise wird ein Gerät in die Steckdose oder anstelle der Steckdose gesteckt). Sie arbeiten im 433-MHz-Band (ISM).
Im Auslieferungszustand haben Sie eine Fernbedienung, die ein Signal an das Empfangsgerät sendet und dieses ein- oder ausschaltet.
In meinem Fall habe ich diese Situation erstellt:
- Erstellt eine HTML- Seite auf meinem Raspberry Pi (
/switch.html
)
- Ich rufe diese Seite auf meinem Smartphone an
- Auf der Seite befinden sich vier Tasten (ich steuere vier Geräte / Lichter)
- Wenn ich auf eine Schaltfläche
/switch.php
klicke, wird ein Anruf an asynchron ausgelöst (die .php-Datei befindet sich auf dem Raspberry Pi).
- Das
switch.php
ruft ein switch.py
Programm auf, das den 433-MHz-Sender steuert (siehe unten)
- Der 433-MHz-Sender macht das Gleiche wie die Out-of-the-Box-Fernbedienung.
Dies ist der Absender, dh der Ersatz für die Standardfernbedienung:
433 MHz Wireless Transmitter Module Superregeneration für Arduino
Ich habe auch ein Szenario für die Verwendung außerhalb des Hauses erstellt.
Ich wollte meinen Raspberry Pi nicht über meinen Homerouter direkt mit dem Internet verbinden, also habe ich mir eine andere Webseite (auf meiner eigenen Domain) erstellt, die den Raspberry Pi nicht direkt steuert, sondern eine E-Mail an eine (nur bekannt unter) sendet Ich) E- Mail- Adresse ( Google Mail ).
Der Raspberry Pi überprüft das E-Mail-Konto alle 10 Minuten, um festzustellen, ob E-Mails vorhanden sind. In dieser E-Mail sage ich zum Beispiel A ein oder B aus.
Wenn wir also spät nach Hause kommen und das Licht schon aus ist, navigieren wir auf meinem Handy zur Website (es soll eine Android-App werden), klicken auf die Schaltfläche, die Seite wird gepostet und auf dem Server wird eine E-Mail gesendet, und In den nächsten 0-10 Minuten überprüft der Raspberry Pi die E-Mails, sieht vier neue E-Mails (A an, B an, C an und D an) und schaltet die Lichter ein.
Wie man anfängt
Also, um loszulegen, das sind die Dinge, die ich getan habe, um alles zum Laufen zu bringen. In meinem Fall habe ich die Steuerung des 433-MHz-Senders in Python programmiert (was eine einfache Sprache ist, wenn Sie bereits programmieren können).
Zuerst installieren Sie die rpi.gpio
Bibliothek.
Diese Bibliothek wird verwendet, um die kleinen Pins auf Ihrem Raspberry Pi von Ihrem Python-Skript aus zu steuern. Siehe Installieren der RPi.GPIO-Python-Bibliothek .
Dann können Sie optional den Artikel Tutorial lesen : Wie Sie Ihren Raspberry Pi wie einen Arduino verwenden , es geht darum, was Sie mit der rpi.gpio
Bibliothek tun können , zum Beispiel blinkende LEDs .
Für die Elro-Lichtschaltung ist dies jedoch nicht zwingend erforderlich.
Dann erhalten Sie den fantastischen Code für den Elro, der von HeikoHeiko unter http://pastebin.com/aRipYrZ6 befohlen wird . Sie fügen diesen Code in eine Datei mit dem Namen ' switchelro.py
' ein.
Anschließend ändern Sie die Zeichenfolge in Zeile 94 in Ihre eigenen Jumpereinstellungen (wie Sie sie in Ihrer Fernbedienung und dem Steckdosengerät festgelegt haben). Überprüfen Sie, ob das kombinierte Steckdosengerät funktioniert, bevor Sie es mit dem Raspberry Pi ausprobieren. Wenn es nicht funktioniert mit den Standardkomponenten wird es wahrscheinlich auch mit dem Raspberry Pi scheitern).
Anschließend ändern Sie die Nummer der PIN, an die Ihr Absender in Zeile 97 angehängt ist.
Die PIN-Nummer kann von RPi Low-Level-Peripheriegeräten und in der Datei: RPi P1 header.png abgerufen werden .
Sie müssen die Anzahl 1..26 (das schwarze Bild) verwenden, nicht GPIO34, GPIO24 usw. (grünes Bild).
Dann geben Sie dies an der Eingabeaufforderung ein:
sudo python switchelro.py 2 1
was bedeutet, dass "B einschalten" (nach diesem Schema: A = 1, B = 2, C = 4, D = 8, E = 16
für die erste Zahl und 1 = ein, 0 = aus für die zweite).
Ich änderte die repeat = 10
auf line 30
bis repeat = 20
in den Anfang (ich erinnere mich nicht , warum) und das funktioniert. Ich habe es nie mit der Einstellung '10' wiederholt.