Search

Register

Thanks for signing-up! You will receive an email with further instructions to activate your account!

username already taken
You already have an account? .

Login

Forgot password?
Don't have an account yet? Register now for using the UI-Designer and the forum or creating projects.

Raspberry Pi Funksteckdosen Server

Project Information

Attached UI-Designer Configs
Funksteckdose_Galaxy S3
Socketserver zum Steuern und Automatisieren von Funksteckdosen mit einstellbarem Code.

Description

Diese Visualisierung dient zum ansteuern meines Socketservers der bis zu 40 Funksteckdosen schalten und automatisieren kann.

Bevor ich ins Bett gehe schalte ich nur Manuell das Wlan am Handy aus und kurze Zeit später schalten sich dann die Steckdosen mit Aktivierter Automatik von alleine aus.
Wenn ich aus dem Haus gehe bzw. nach Hause komme schaltet die Android-App “Wifi-Matic” das Wlan von alleine Ein bzw. Aus und es werden entsprechend genauso die Steckdosen Ein bzw. Aus geschaltet.
Der Sinn dahinter ist das Stromsparen im Standby Modus ohne das man Manuell etwas Ein bzw. Aus schalten muss!

Der Server beinhaltet dabei einen Automatikmodus der die entsprechende Steckdose ausschaltet wenn eine gewisse Zeit kein Ping mehr zum Handy besteht und wieder einschaltet sobald wieder ein Ping möglich ist.
Außerdem wird, falls das zu schaltende Gerät ebenfalls im Lan verbunden ist (z.B. PC, Smart TV etc. also eine IP Besitzt), dies zusätzlich angepingt um ein Ausschalten zu Verhindern wenn z.B. der PC hochgefahren bleibt während man aus dem Haus geht.
Zudem gibt es einen Ruhemodus der verhindern soll, dass sich alles einschaltet wenn man zu einer Späten Uhrzeit nach Hause kommt und dann normalerweise sowieso ins Bett geht bzw. Morgens vor der Schule wenn man das Wlan aktiviert um nur ein bisschen zu Surfen, ist eine Einschaltung ebenfalls nicht notwendig.

Alle Parameter sind für jede Steckdose einzeln einstellbar und Aktivier bzw. Deaktivierbar!
Das Hinzufügen Neuer Geräte kann ohne Veränderung im Source Code erfolgen. Dies ist alles über die Visualisierung möglich (Anzahl der Steckdosen, IP des Gerätes wenn vorhanden und den Steckdosen Code).

Für Jede Steckdose muss in der Visualisierung eine Seite genutzt werden.
Wie aus dem Socket Protokoll ersichtlich wird muss für eine neue Seite nur bei jedem Element die Geräte Nummer Geändert werden muss (Von 1 hochlaufend bis Maximal 40). Also ist auch das Erstellen einer Neuen Seite für die neue Steckdose schnell erledigt.
Außerdem gibt es eine Allgemeine Seite zum einstellen vom Intervall der Pingversuche und die Maximale Anzahl an Fehlversuchen bis zur Abschaltung bzw. Einschaltung und die Einstellung der IP des Handys. Zudem gibt es dort noch eine Funktion die mit einem Knopfdruck das Automatikprogramm für einen Zyklus deaktiviert um so ein Abschalten zu verhindern wenn man nur kurz aus dem Haus ist.

Ich Verwende die Funksteckdosen “Brennenstuhl RCS 1000 N Comfort”, es sind jedoch alle Funksteckdosen Möglich, bei denen sich die Adresse mit Dip-Schaltern einstellen lässt!
Projekte zur Inbetriebnahme des 433 Mhz Senders am Raspberry pi findet man im Netz genug.

Das Socketprotokoll Setzt sich wiefolgt zusammen:
.x.111.222.333*
x: Kann s oder g annehmen (s = set (setzt einen Wert), g = get (gibt einen Wert zurück))
111: Diese Zahl muss dreistellig sein und beinhaltet die Nummer des entsprechenden Befehls
222: Diese Zahl muss dreistellig sein und beinhaltet die Nummer der Steckdose
333: Diese Zahl kann 1 - 3 Stellig sein und beinhaltet den Wert der gesetzt werden soll (Bei einem Set Befehl)
Der Stern am Schluss wird automatisch als Termination von der NetIo App an den String angefügt.

Der Servercode ist noch in Bearbeitung, Funktioniert aber mittlerweile Problemlos und lief in Tests viele Wochen ohne Störungen durch. Eventuell werden noch diverse Funktionen hinzugefügt bzw. Verbessert. In der nächsten Zeit werde ich dann auch den passenden python Socketserver hochladen.

Der Raspberry pi und das Sendemodul befinden sich in einem Gehäuse, in dem auch ein 4x4 LED Cube Verbaut ist der von einem Atmega angesteuert wird und die Daten vom Raspberry Pi über i2c bekommt, da hier noch genug Platz war und noch mehr als genug Ressourcen vorhanden sind.

Attachments