{{Projekt|verantwortlich=Matthis|status=aktiv|beschreibung=Verlängerung der Türklingel, sowie des Türöffners in den Frickelraum, geht aber gerade nicht richtig|bild=|bildbeschreibung=|interessenten=[[Benutzer:Chrissi^|Chrissi^]]|source=[http://svn.tinyhost.de/stratum0/doorbell/ svn.tinyhost.de]|lizenz=netIO Firmware: GNU GPL|download=|version=}}
-== Ziel: ==
+== Ziel ==
Oft sitzt man gemütlich im Frickelraum und hängt seinen Problemen nach. Und dann passiert es: ''Es klingelt, aber niemand bekommt es mit.''
Das Problem: Mit N (N > 0) geschlossenen Türen oder halbwegs lauter Musik bekommt man von der Klingel im Frickelraum schlicht nichts mehr mit.
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.
-== 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.
* 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: ==
+== Systemarchitektur ==
Die Abbildung ''Doorbell-Extender: Event Propagation'' veranschaulicht den Aufbau des Systems.
[[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: ===
+=== UDP-Pakete ===
:''siehe: [[EVENTDISTR]]''
Doorbell-Extender Ereignisse werden per UDP als IP-Broadcast (Broadcast des lokalen Netzes) auf Port 31337 (''wir sind in einem Hackerspace; welcher Port auch sonst!) übertragen. Der Datenteil der Pakete hat dabei einen fixen Aufbau:
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: ==
+== 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>