From d30db2a6078058c3e92f767c51cc509d7f24f7a6 Mon Sep 17 00:00:00 2001 From: Chrissi^ <Chrissi^@stratum0.org/mediawiki/> Date: Wed, 17 Oct 2012 22:15:33 +0000 Subject: [PATCH] =?utf8?q?Systemarchitektur=20hinzugef=C3=BCgt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Doorbell_Extender.mw | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Doorbell_Extender.mw b/Doorbell_Extender.mw index ff21e6c41..edab3ce41 100644 --- a/Doorbell_Extender.mw +++ b/Doorbell_Extender.mw @@ -8,8 +8,28 @@ Dies soll nun dadurch behoben werden, dass ein Klingeln an der Tür von einem Ge Zusätzlich scheint es sinnvoll nicht nur die Information einer Türklingel, sondern auch die Information eines betätigten Türöffners zu übertragen. Somit ist man <s>gewarnt</s> informiert, wenn jemand in den Space kommt. -== Umsetzung (Idee): == +== Idee: == * An der Tür wird ein [http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_AVR_NET_IO.html NetIO] eingesetzt, dass Schaltvorgänge an der Türklingel und am Türöffner überwacht. * Passiert auf einer der beiden Leitungen ein Event, wird dieses per IP Broadcast über Ethernet Broadcast und ein UDP auf einem lustigen Port ins LAN geblasen. * Dort können beliebige Slaves mithören und das anzeigen. * Im Frickelraum gibt es dann ein weiteres netIO, dass auf diese Broadcasts wartet und diese, wenn sie eintreten, visualisiert. + +== Systemarchitektur: == +Die Abbildung ''Doorbell-Extender: Event Propagation'' veranschaulicht den Aufbau des Systems. +[[Datei:Doorbell-Extender Systemueberblick.png|thumb|Doorbell-Extender: Event Propagation]] +Das sendende netIO überwacht die digitalen Eingänge 1 .. 4. Tritt an einem dieser Eingänge eine positive und/oder eine negative Flanke auf, so wird das dem Eingang zugeordnete Event per UDP ins LAN übertragen. Im LAN können nun mehrere Clients nach Broadcast-Events lauschen. + +Auf Client-netIOs können Events im LAN lokale Aktionen zugeordnet werden. Solche Aktionen können das toggeln eines Ausgangs, das Ein- oder Ausschalten eines Ausgangs, sowie das zeitgesteuerte Aktiveren eines Ausgangs sein. + +=== UDP-Pakete: === +Doorbell-Extender Ereignisse werden per UDP als IP-Broadcast auf Port 1337 (''wir sind in einem Hackerspace; welcher Port auch sonst!) übertragen. Der Datenteil der Pakete hat dabei einen fixen Aufbau: + <Proto ID>;<Event name>=<Event type> +Den Feldern kommt dabei folgende Bedeutung zu: +* '''Proto ID''': String, der das genaue verwendete Protokoll beschreibt. Zunächst ist nur der String "''EVENTDISTRv1''" erlaubt! +* '''Event name''': Name des Events. Maximal 10 Zeichen. +* '''Event type''': Der Typ des Events. Gibt an, was genau Auslöser des Events war. Erlaubte Eigenschaften sind: +** ''RISING'' +** ''FALLING'' + +Der Datenteil des UDP-Paketes darf eine maximale Länge von 100 Byte nicht überschreiten! +[[Datei:Beispiel UDP-Paket.jpg|thumb|Beispielhaftes UDP-Paket]] -- 2.20.1