Lichtsteuerung

Benutze Beleuchtung mit Hackspace.

Hardware


Kernstück des Ganzen ist aktuell, ein Raspberry Pi. Jeder GPIO-Pin schaltet einen Verbraucher. Schaltsignale kommen mit 3V3 (maximale Last 3mA ja Pin) aus und schalten über Optokoppler + Transistor 12V (werden vom Türnetzteil abgegriffen). Die 12V gehen über diverse Kabel zu den jeweiligen Verbrauchen und schalten sie entweder direkt (bei Kleinverbrauchern in der Schleuse) oder über 230V-Relais.

Vorteil von GPIO-Pins ist, dass der Status nicht nur geschrieben, sondern auch jederzeit ausgelesen werden kann. Da es aber nur eine sehr begrenzte Anzahl gibt, werden wir bald auf ein Schieberegister zurückgreifen und den aktuellen Lichtstatus in Software speichern müssen.

Software

 * dorfmap
 * outdoor-light-control

Automatik
Die Außenbeleuchtung wird automatisch nach der aktuellen Tageszeit geschaltet. Benutzt wird dazu die Perl-Library Astro::Sunrise, die anhand unserer Koordinaten und dem aktuellen Datum recht akkurate Zeiten für Sonnenauf- und -untergang berechnet. Per cronjob wird alle 6 Minuten überprüft, ob Nacht ist oder nicht, und entsprechend die Beleuchtung geschaltet.

Manuell
Grundlage ist ein Grundriss des Clubraums. Aus einer Koordinatendatei wird ausgelesen, wo welche Lampe ist, und abhängig von ihrem Status ein entsprechendes Symbol angezeigt. Automatisch gesteuerte Lampen sind read-only, alle anderen können durch einen Klick aufs Symbol getoggelt werden.

Weil die Karte eh schon da ist, wird außerdem der Status von einigen Servern / Embedded Hosts, unseren WLAN-APs und den Druckern angezeigt. Der ist sinnvollerweise auch read-only, die Hosts werden einfach angepingt. Eingeschaltete Hosts sind grün, ausgeschaltete grau oder rot.

Es gibt eine Reihe von Shortcuts, die mehrere Aktionen zusammenfassen. "Shutdown" schaltet z.B. alle Lampen aus und den Raumstatus auf nicht-öffentlich, "Putzen" sorgt für viel Licht, etc.

Angeschlossene Geräte
Was weiterhin angezeigt wird:


 * Drucker (readonly, per ping, alle 5 Minuten aktualisiert)
 * WLAN-APs (readonly, per ping, alle 5 Minuten aktualisiert)
 * Server (readonly, per ping, alle 5 Minuten aktualisiert)
 * Türstatus (readonly, alle 5 Minuten aktualisiert)

Shutdown-Konzept
Per Default (z.B. nach einem Stromausfall) befindet sich das Dorf im Shutdown.

Shutdown einschalten

 * Klick auf Shutdown in dorfmap
 * Beleuchtung im Hackcenter geht sofort aus
 * Beleuchtung in der Schleuse (Logo und über der Tür) geht nach 1 bis 6 Minuten aus
 * Beleuchtung im Schaufenster leuchtet weiterhin, falls Nacht ist

Shutdown ausschalten

 * Klick auf Unshutdown oder irgendeine steuerbare Lampe in dorfmap
 * Falls eine Lampe angeklickt wurde, wird diese eingeschaltet
 * Beleuchtung in der Schleuse (Logo und über der Tür) geht nach 1 bis 6 Minuten an, falls Nacht ist; alternativ sobald die Sonne untergegangen ist