* 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.
+* Ist es möglich einen befehl in der art von "leuchte 30 sec." zu geben? --[[Benutzer:Matthis|Matthis]] 15:15, 18. Okt. 2012 (CEST)
+** Ja, ist möglich. Das Quell-Gerät sagt nur: Das Event ist passiert. Wie die anderen Geräte reagieren, kann auf denen jeweils festlegen. Eine Zeit ist dabei auf jeden Fall schon vorgesehen. --[[Benutzer:Chrissi^|Chrissi^]] 15:28, 18. Okt. 2012 (CEST)
== Systemarchitektur: ==
Die Abbildung ''Doorbell-Extender: Event Propagation'' veranschaulicht den Aufbau des Systems.
-[[Datei:Doorbell-Extender Systemueberblick.png|thumb|Doorbell-Extender: Event Propagation]]
+[[Datei:Systemueberblick.svg|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:
+Doorbell-Extender Ereignisse werden per UDP als IP-Broadcast (Broadcast des lokalen Netzes) 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!
Der Datenteil des UDP-Paketes darf eine maximale Länge von 100 Byte nicht überschreiten!
[[Datei:Beispiel UDP-Paket.jpg|thumb|Beispielhaftes UDP-Paket]]
+
+== Fortschritt: ==
+[x] netIO kann Events senden. <br>
+[x] netIO kann Events emfpangen. <br>
+[x] Es gibt eine elektrische Schnittstelle, so dass ein netIO mitbekommt, wenn es klingelt. <br>
+[ ] Netzwerkanbindung im Flur (z.B. über WLAN auf LAN Brücke) <br>
+[ ] Eine Lampe für das empfangene netIO <br>
+[ ] Eine elektrische Schnittstelle zwischen netIO und Lampe <br>
+
+== Ereignisse und Reaktionen ==
+
+=== Ereignisse ===
+* '''DingDong'''
+** Auf netIO an der Tür. Wird gesendet, so lang geklingelt wird. (RISING und FALLING)
+
+
+=== Reaktionen ===
+* '''DingDong'''
+** Auf netIO mit Lampe im Frickelraum. Ein Ausgang wird für 20 Sekunden eingeschaltet.