Was ich sehen möchte, ist die billigste Möglichkeit, meine Lichter mit meinem Raspberry Pi zu steuern.
Was ich mir vorstelle, um es zu kontrollieren
Ich baue auf meinem Smartphone eine Schnittstelle auf, über die ich Befehle an meinen Raspberry Pi senden kann. Der Raspberry Pi schickte dann ein Paket (oder etwas anderes) an etwas, das ich in meine Steckdose stecken konnte (damit ich es nicht sehe). Beachten Sie, dass dieses Ding über WLAN verbunden sein sollte (wie kann es sonst die Nachricht von meinem Raspberry Pi empfangen?).
Was ist das für ein Ding und was ist der billigste Weg, der möglich ist, da ich vorhabe, ein Dutzend oder so Lichter anzuschließen?
wifi
home-automation
Rick Hoving
quelle
quelle
Antworten:
Ich benutze diese Gegenstände:
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:
/switch.html
)/switch.php
klicke, wird ein Anruf an asynchron ausgelöst (die .php-Datei befindet sich auf dem Raspberry Pi).switch.php
ruft einswitch.py
Programm auf, das den 433-MHz-Sender steuert (siehe unten)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:
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
aufline 30
bisrepeat = 20
in den Anfang (ich erinnere mich nicht , warum) und das funktioniert. Ich habe es nie mit der Einstellung '10' wiederholt.quelle
default_key = [1,0,0,0,1]
aus dem pastebin.com/aRipYrZ6 Code steuern Sie den DIP - Schalter und mit derpin
Eigenschaft imdef __init__(self, device, key=[1,1,1,1,1], pin=4):
Code steuern Sie die A .. E (a = 1 .. e = 16)Das Ding heißt X10 , es ist ein Industriestandard für die meisten Hausautomationsaufgaben, einschließlich der Steuerung von Lichtern. Das Steuersignal wird über dieselbe Stromleitung gesendet, an die Ihre Geräte angeschlossen sind.
Um alles vom Computer aus steuern zu können, lesen Sie möglicherweise die Informationen zu X10-Computer-Schnittstellen auf der OpenRemote-Website. Das Modell, nach dem Sie wahrscheinlich suchen, ist CM15A mit USB-Schnittstelle, das Linux unterstützt.
Es könnte auch eine gute Idee sein, bei ebay nach X10-fähigen Wandsteckdosen zu suchen und Lampenmodule einzuschrauben. Diese können für 10 bis 20 US-Dollar recht günstig gekauft werden.
quelle
Was Sie suchen, ist ein Halbleiterrelais oder ein mechanisches Relais . Die Idee ist, dass eine kleine Strommenge bei niedriger Spannung (z. B. von Ihrem RPi) verwendet werden kann, um den Fluss einer größeren Strommenge bei höherer Spannung (z. B. einer Lampe) auszulösen.
Ich würde SainSmart 8-Kanal-DC-5-V-Relaismodul für 12 USD für Arduino Raspberry Pi empfehlen , da es bereits zu einer Platine mit einsatzbereiten Schraubklemmen verarbeitet wurde. Es wurden FETs eingebaut, um den zusätzlichen Strom zu liefern, der zum Auslösen der mechanischen Relais erforderlich ist. Es gibt verschiedene Platinen der gleichen Firma in einer Vielzahl von Layouts / Anzahl der Relais. Der von mir gesendete Kanal ist 8-kanalig, reicht also möglicherweise nicht für Ihre Anforderungen aus, obwohl 16-kanalige Versionen verfügbar sind . Sie sind in der Regel günstiger als der Kauf mehrerer Relais separat und erleichtern den Anschluss.
Es sind 4 Verbindungen erforderlich:
Die Hochspannungseingänge / -ausgänge sind die Verbindungen, die von den Relais entsprechend ihren Eingangsleitungen hergestellt oder unterbrochen werden.
Ich habe bereits ein AWESOME C-Programm zum Fernschalten von GPIO-Pins über SSH. Wenn Sie möchten, kann ich Ihnen den Quellcode geben oder sogar erklären, wie es funktioniert.
quelle
Mein System ist günstig: EUR 43.- (Empfänger + Sender) siehe unten.
Für die Heimautomation schließe ich einfach einen 3,3 V-kompatiblen 868,35 MHz FS20-Sender an das RPI an:
http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html
Dieser Transmitter ist direkt (nur über 4 Drähte) mit den GPIO-Ports von RPI (3,3 V, GND, TXD, RXD) verbunden und wird einfach über die serielle Leitungsschnittstelle gesteuert.
Sie können jetzt die große Auswahl an FS20-Geräten wie Schalter, Kippschalter, Dimmer, Timer und Radios steuern. Mehrkanalempfänger usw. durch Übertragung einiger Bytes über die serielle UART-Konsolenschnittstelle von RPI.
FS20 Systemübersicht:
http://www.elv.de/fs20-funkschaltsystem.html
(leider ist die website nur in deutsch verfügbar)
Ich persönlich bevorzuge einfaches CLI zur Steuerung meiner Heimgeräte. Wenn Sie eine grafische Benutzeroberfläche bevorzugen, können Sie hier nachsehen:
http://fhem.de/fhem.html
zum glück auf englisch :-)
Obwohl das FS20-System sehr flexibel ist, ist es sehr billig. Beispielkosten für einen einfachen Ein- / Ausschalter:
Schalter selbst: http://www.elv.de/elv-funk-schaltsteckdose-fs20-st.html EUR 22,95
UART-Sender: http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html EUR 19,95
Ich empfehle, das RPI selbst über eine drahtlose Tastatur zu steuern. Dafür können Sie optional dieses geniale kleine Ding kaufen:
RT-MWK03 [Wireless 2,4 GHz] ( http://www.riitek.com/de/product-detail-428.html )
quelle
Ich schrieb einen ausführlichen Blog-Beitrag darüber, wie man Outlets mit einem Himbeer-Pi kabellos steuert. Probieren Sie es aus: http://timleland.com/wireless-power-outlets/
quelle
Das ist zwar nicht gerade billig, aber meine Lösung:
http://www.everyhue.com/?page_id=38#/discussion/707/raspberry-touchpad-some-success
Grundsätzlich verwenden Sie den Philips Hue (wifi-steuerbare, programmierbare mehrfarbige LED-Leuchten) zusammen mit einem RPi und einem Touchpad. Die USB-Touchpad-Oberfläche wirkt sich auf die Farb- und Helligkeitsabmessungen aus, während die Maustasten das Licht ein- und ausschalten. Die Kosten betragen RPi + Wifi-Dongle (11 US-Dollar) + billiges USB-Touchpad (15 US-Dollar) + Philips Hue-Set (200 US-Dollar für Bridge und 3 Lichter, dann 60 US-Dollar pro Licht).
quelle
Ich habe einen anderen Ansatz: Ich verwende den CUL-USB-Dongle von Busware (unterstützt FS20 + HMS + FHT + andere Protokolle und Geräte) und implementiere meine eigene Java-API, um die Geräte zu abstrahieren und eine einfache Automatisierung über eine Java-Anwendung zu ermöglichen.
Falls sich jemand für mein kleines Projekt interessiert: http://www.paulo-lima.org/hans
quelle