Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

hswiki:projekte:2014:raumstatus_anzeige

Raumstatus-Anzeige

Wir möchten auf unsere Website (wiki), wie auch über die Hackspace-API anzeigen ob der Raum offen oder geschlossen ist. Siehe auch Plenum August 2013.

Um dies realisieren zu können benötigen wir ein Signal welches uns möglichst zuverlässig sagt, wie der Zustand ist.

Versuchsaufbau

Bauteile

  • Arduino Pro Mini mit Atmega 328 5V 16MHz
  • 2 Taster
  • 3 LEDs (Grün, Gelb, Rot)
  • ein paar Widerstände
  • USB-Seriel Kabel, ein Kabel mit USB Stecker und 4 Pin-Buchsen für Serielle Schnittstelle

Beschreibung

Es gibt einen Versuchsaufbau mit einem Arduino. An ihm sind zwei Taster und drei LEDs angeschlossen. (Ein-/Austaster und LEDs in den Farben Rot, Gelb, Grün). Er ist wie folgt Programmiert, Es gibt folgende Zustände:

  • Ein (es ist jemand im Raum)
  • noch-Ein (Äquivalent zu Ein aber wenn keiner reagiert wird bald in Zustand Aus gewechselt.)
  • Aus (keiner im Raum)

Es leuchtet immer nur eine LED.

Der Standardzustand ist Aus - die Rote-LED leuchtet. Durch Drücken des Eintasters wird in Zustand Ein gewechselt die Grüne-LED leuchtet. Es wird der Zeitpunkt des Wechsels in diesen Zustand gespeichert. Für diesen Zustand gibt es eine Zeitbeschränkung, 1,5h. Wenn diese abläuft wird in den Zustand noch-Ein gewechselt jetzt leuchtet die Gelbe-LED. Vergehen jetzt 0,5h ohne das ein Benutzer einen der Taster drückt, wir in Zustand aus gewechselt.

Es ist jederzeit möglich durch Drücken der Taster den Zustand zu wechseln. Bei einem Wechsel von Ein oder noch-Ein nach Ein wir die Zeitbeschränkung zurückgesetzt.

Die Zeitbeschränkung soll ein Versäumen des Ausschaltens entgegen wirken. Indem nach Ablauf der Zeitbeschränkung automatisch in den Zustand Aus gewechselt wird. Dabei „warnt“ die Gelbe-LED davor und es kann der Eintaster betätigt werden um die Zeitbeschränkung zurück zu setzten.

Mit der Höhe der Zeitbeschränkung wird noch experimentiert.

Eine Kommunikation mit dem angeschlossenen Rechner findet dabei dauerhaft statt (Serial über USB). Im Zustand Ein oder noch-Ein wird „1“ auf die serielle Verbindung sonnst „0“ gesendet.

Der Arduino ist am Router angeschlossen. Dort kann der Zustand mittels HTTP abgerufen werden. Aktuell gibt es einen Proxy um den Traffic auf unserem DSL-Anschluss gering zu halten. Öffentlich kann das hier abgerufen werden: http://status.krautspace.de/status/button/

Quelltext auf GitHub

Welche Werte haben wo was zu sagen? Da soll diese Tabelle helfen.

LED am Gerät../status/buttonHackerspace Status APIBemerkung
Grün 1 true An
Gelb 1 true An und das Zeitintervall läuft bald ab
Rot 0 false Aus
irgendwas oder aus Fehler 500 null es liegt ein Fehler oder eine Kommunikationsstörung vor → unbekannter Zustand

Weiterentwicklung

Um über der SpaceAPI den Raum Status mitzuteilen gibt es ein Python-Script welches den Status auswertet und das json für die API erzeugt. Das Script gibt es hier. Dies ist auf unserem Webserver installiert und wird minütlich von cron ausgeführt. Die generierte JSON-Datei kann hier abgerufen werden.

Die nächsten Entwicklungsschritte sind:

Vorüberlegung Signal

Dieser Bereich ist noch hier damit nachgelesen werden kann Warum wir das eine oder andere Nicht verwenden wollten. Um zu detektieren ob der Raum offen ist, haben wir mehrere Möglichkeiten diskutiert.

Türschließanlage

Wir haben eine - Türschließanlage können wir damit nicht schlussfolgern ob die Tür auf oder zu geschlossen ist? Nein, da wir auch (häufig) Physikalische Schlüssel benutzen. Es wäre ein „Verzählen“ möglich da nur geschlussfolgert wird aber nicht der Status des Türtiegels überprüft wird.

Schließbolzen

Es gibt Detektoren welche feststellen ob der Schließbolzen vom Schloss in der Tür ausgefahren ist, also zugeschlossen. Um so etwas anzubringen müsste in die Tür eingegriffen werden. Dies ist nicht möglich da diese nicht unser Eigentum ist.

Schalter

Ein Schalter der in der Nähe der Tür montiert wird. Um manuell dass Signal zu geben wurde vom Plenum abgelehnt. Wegen Versäumungsgefahr des Ein-/Ausschaltens.

Idee die Anzeige im Wiki nicht als Statusanzeige zu verstehen sondern als Einladung. Um gezielt einzuladen Schalter an der Tür. Es muss klar ersichtlich sein, dass die Einladung ausgerufen ist, vlt. Lampe. Schalter kann interessant gestaltet werden. Idee Schalter mit Schnur zum dran ziehen, oder als Hand.

DHCP

Im Raum im Turm hatten wir die vergebenden aktiven DHCP-Leases als für die Ermittlung der Anzahl der Netzwerkgeräte herangezogen. Dies ist jetzt nicht mehr möglich da ein Großteil der Besucher über Freifunk online ist. Es besteht auch das Problem vom verlassenden Raum mit aktiven Netzwerkkomponenten. Auch ist DHCP nur bei IPv4 in Verwendung nicht bei IPv6, welches wir auch anbieten.

Bewegungsmelder

Einige Hackspaces verwenden Bewegungsmelder z.B. der CCC Mannheim. Ein Bewegungsmelder verhält sich wie ein Schalter, dessen zustand über die GPIO Schnittelle ausgelesen werden kann. Eine solche Schnittelle haben einige (günstige) Router, der Raspberry PI oder ein Arduino. Der detektierte Zustand könnte über einen HTTP-Server publiziert werden. (Der Status lässt sich aber auch über die Hackspace-API kommunizieren.)

Was wird benötigt:

  • mindestens 1 Bewegungsmelder, sollte bei Reichelt ab 20€ erhältlich sein
  • Kabel für die Anbindung der Bewegungsmelder zur Hardware
  • evtl. Kabelabdeckung
  • Hardware mit GPI Schnittelle

Was muss geklärt werden:

  • wie viele Bewegungsmelder und an welcher Position
  • welche Hardware evtl. Aduino über USB an Router (ro01) um keine weiteren Stromverbraucher zu haben

Bewegungsmelder

Es soll einer mit 12V oder so sein. Da wir am Microcontroller keine 230V haben wollen.

Oder vlt. mit Bewegungsmelder der 230V rausgibt ein Relais schalten welches den Durchgang am Controller erzeugt. Benötigt mehr Teile.

Vorschläge:

hswiki/projekte/2014/raumstatus_anzeige.txt · Zuletzt geändert: 2017/09/10 17:54 von spirulina