Video: Erster Meilenstein im Omni Projekt

Kurzes Demo-Video der sprachlichen Benutzeroberfläche und des Zusammenspiels zwischen dem OmniMaster und dem OmniSwitch Modul. Man sieht die einzelnen Komponenten und wie sie zusammen wirken. Der erste Zwischenerfolg auf dem Weg zur Haus-Automatisierung. Die notwendige Schaltung ist schonmal als bestückte Lochrasterplatine umgesetzt (und funktioniert) und die Verarbeitung des Kommandoprotokolls funktioniert ebenfalls (also z.B. „Steckdode 15 Schalten“).

Das Video


Zum Projekt


Nach aktuellem Stand kann der OmniMaster dem einzelnen OmniSwitch per UDP Steuerbefehle senden und der OmniSwitch schaltet z.B. die Funksteckdosen oder die Musikanlage an. Am Anschluss wird ein UDP Paket mit einer Bestätigung der Handlung zurück gesendet.

Grober Ablauf

– auf dem Laptop läuft die Anwendung Bitvoicer. Wenn diese Kommandos versteht, werden über die serielle Schnittstelle Befehle an den OmniMaster gesendet (Arduino Mega 2560).

– OmniMaster ist der Verteiler und Empfänger für alle OmniClients. Er sendet nun per UDP einzelne Pakete mit Kommandos an den spezifischen OmniSwitch (Arduino Uno).

– OmniSwitch ist sowas wie die Radnarbe für eine Gruppe von Geräten (z.B. Schlafzimmer oder Wohnzimmer). Nach Empfang des Kommandos wird das gewünschte Gerät geschaltet (in diesem Fall eine bestimmte Steckdose). OmniSwicth kann im Moment Funksteckdosen und Infrarot Signale senden (z.B. Fernseher oder Musikanlage).

Nächste Schritte

Soweit so gut. Im Moment arbeite ich noch daran jedes mögliche Kommando im OmniNet irgendwie durch die Befehlsstruktur abdecken zu können. Für das RF Link Thema geht das schon, das Signal wird im OmniSwitch quasi Live zusammen gebaut. Bei der Infrarot Steuerung greife ich noch auf Arrays mit den Befehlen zurück. Wenn ich das auch noch umgestellt bekomme, kann ein OmniSwitch auch ohne die konkreten Endgeräte-Befehle zu können das Kommando ausführen.

Probleme

Ich hatte mit dem WLAN Modul über SoftwareSerial manchmal Probleme. Daher betreibe ich diesen nun direkt an Pin 0 und 1 – der „echten“ Hardwareschnittstelle. Damit fällt aber auch die Debug-Ausgabe am Rechner flach. Für diesen Zweck habe ich einen Arduino USB2Serial genommen und lasse mir auf diesem per SoftwareSerial meine Debugging Daten ausgeben. Funktioniert reibungslos. Als Terminal-Programm für die Arduinos nutze ich TeraTerm.

Verwendete Teile


– Roving WiFly RN-XV (ich nutze die WiflyHQ Library)
– Arduino 2560
– Arduino Uno
– USB2Serial Adapter
– EMIC2 Sprachmodul
– RF Link Transmitter 434MHz
– Bitvoicer

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert