Open/Close Anzeiger
Open/Close-Anzeiger Status: stable | |
---|---|
Beschreibung | Statusanzeige des Hackerspaces |
Autor: | schinken|rel=author |
Version | 0.8 |
PayPal |
Die Idee
Wäre es nicht gut zu wissen, wann jemand im Backspace ist, bevor man hinfährt? Genau diese Frage haben wir uns auch gestellt, und wollten ein automatisches und zuverlässiges System realisieren. Es existieren andere Lösungen von anderen Hackerspaces wie der OpenClose-Monitor von Stratum0, welcher über das IRC gesteuert wird.
Wir wollten einen anderen Weg gehen :)
Spaceapi
Die Daten liegen auch in der Standardisierten SpaceApi unter status.bckspc.de/spacestatus.php
Anwesenheitserkennung
Ein Cronjob läuft alle 5 Minuten und holt sich dabei die MAC-Adressen mittels 3 Verfahren:
- UniFi API (Daten direkt von den WLAN-Accesspoints)
- nmap scan über das subnetz
- fping übers subnetz + arp table befragen
Hierdurch lässt sich eine hohe zuverlässigkeit erzielen. Diese Daten werden dann dedupliziert und in eine MySQL-Datenbank geschrieben.
Das Script dazu findest du hier: https://github.com/Schinken/Backspace-OpenClose/tree/master/scanner
Der User muss dann in einem Webinterface seine MAC-Adressen eintragen, und hat dabei Wahl zwischen mehreren Sichtbarkeitsstufen:
- (0) Show Username and Device
- (1) Show Username
- (2) Show "Someone is there"
- (3) Hide everything
Die Sicherheitsstufen werden pro MAC-Adresse vergeben.
Statistiken
Aus dieser Datenbank werden auch Graphen generiert:
API
Die API ist unter
http://status.bckspc.de/status.php
zu erreichen. Über den GET-Paramter response kann das Response-Format vorgegeben werden. Verfügbar sind hier json, xml, img und ascii.
Die API ist auch im Format der Hackerspace-API unter http://status.bckspc.de/spacestatus.php zu erreichen.
Open/Close Anzeige
Siehe Open/Close anzeige in der Sidebar.
Weitere Ideen
- Auswerten wann der letzte User aus dem Space gegangen ist (+1h), dann Musikanlage und andere elektrische Geräte automatisch ausschalten lassen
Android Widget
Funktionsweise
Das Widget liegt auf dem Homescreen und zeigt an, ob der Space offen (Hintergrund blau) oder geschlossen (Hintergrund rot) ist. Wenn er offen ist, ist die Anzahl der Members zu sehen. Das Widget fragt alle 30 Minuten den Status online ab oder bei Tap. Ändert sich der Zustand von closed auf open wird eine Notifikation angezeigt, die verschwindet sobald man sie löscht oder der Space wieder schließt.
Installation
- Unter Einstellungen -> Apps -> Unbekannte Herkunft erlauben
- Die Installationsdatei hier herunterladen und Installationsprozess durchführen
- Auf dem Homescreen lange drücken, Widgets -> backspace door auswählen
Bugs
- wenn space offen und phone kann wegen !internet nicht auf den status zugreifen, wird die notification bei der nächsten verbindung wieder angezeigt
- keine verbindung -> alten status anzeigen?
Wishlist
- backspace Logo als Hintergrund
- Custom User-Agent
Code
https://github.com/krisha/StatusWidget (Attention: no license ;))