Lichtsteuerung stable | |
---|---|
Verbraucher per Webinterface steuern | |
Beteiligt | derf |
Quelltext | github |
Benutze Beleuchtung mit Hackspace.
Hardware
Kernstück des Ganzen ist aktuell feedback, ein Raspberry Pi. Die Verbraucher werden teilweise direkt über GPIO-Pins (Optokoppler + Transistor) geschaltet, überwiegend aber über an feedback und donationprint per SI2C angeschlossene Microcontroller.
Die Schaltspannung ist 12V und geht etweder direkt zu Kleinverbrauchern oder zu 230V-Relais.
Software
- dorfmap
- dorfmap-deb (Helfer)
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.
API
Es existiert eine API, unterstützt wird sowohl ein einfaches Textformat (z.B. für Shellskripte) als auch JSON. Für Textformat .txt an Anfragen anhängen (oder curl -H 'Accept: text/plain' benutzen), für JSON entsprechend .json bzw. application/json.
/get kann auch PNGs liefern, sie entsprechen den in der Übersicht sichtbaren.
Request | Aktion | Rückgabe |
---|---|---|
/get/id | Keine | Aktueller Status des Verbrauchers (1 == an, 0 == aus, -1 == unbekannt) |
/off/id | Schaltet Verbraucher aus | Beliebig |
/on/id | Schaltet Verbraucher an | Beliebig |
/list/all | Keine | Liste aller Verbraucher mit Name, Typ, Status, Lesbar, Schreibbar |
/list/readables | Keine | Liste aller Verbraucher mit auslesbarem Status |
/list/writables | Keine | Liste aller Verbraucher mit schreibbarem Status |
/shutdown | Setzt Raum in Shutdownmodus (s.u.) | Beliebig |
/toggle/id | Schaltet Verbraucher von An → Aus bzw. Aus → An | Beliebig |
/unshutdown | Setzt Raum in Nicht-Shutdownmodus (s.u.) | Beliebig |
Angeschlossene Geräte
Die genaue Zuordnung zwischen Kabel / GPIO-Pin und Gerät ist auf donationprint und feedback dokumentiert.
Gerät | Steuerung |
---|---|
Außenbeleuchtung (Röhre über Tür) | Automatik: Nicht Shutdown && Nacht |
LEDS im Schaufenster | Automatik: Nacht (+90 Minuten Dämmerung) |
LED-Leiste über Chaosdorflogo, Schleuse | Automatik: Nicht Shutdown && Nacht (+90 Minuten Dämmerung) |
RGB-LED-Leiste, Lounge | Manuell: Blinkencontrol |
Weißer LED-Strahler, Lounge | Manuell |
Kaltweiße LED-Platte, Treppe | Manuell |
Printer/HP2100 | Manuell an, automatisch nach 20 Minuten aus |
Blassblaue LED-Röhre, Hackcenter | Manuell |
Lampe im eMac-Gehäuse, Hackcenter | Manuell |
LED-Leuchten-Reihe, Hackcenter | Manuell |
Blauer LED-Streifen, Hackcenter | Manuell |
Warmweiße LED-Spots, Hackcenter | Manuell |
Helle weiße Doppelröhre, Hackcenter | Manuell |
Die Automatik der Außenbeleuchtung lässt sich durch klick auf die Lampe an / aus schalten. Ausschalten passiert sofort, Einschalten dauert 1 bis 6 Minuten. Im Gegensatz zu anderen Aktionen ändert das auch nichts am Dorf-Shutdownstatus. Im Webinterface steht "A" für Automatik, "X" für keine Automatik.
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 oder dreisekündiges Drücken des schwarzen Tasters am Spendenterminal (bis die grüne LED ausgeht)
- 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 oder dreisekündiges Drücken des schwarzen Tasters am Spendenterminal (bis die grüne LED angeht)
- 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