Open/Close Anzeiger: Unterschied zwischen den Versionen

 
(16 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Anwesenheitserkennung==
+
{{Infobox Projekt
 +
|name            = Open/Close-Anzeiger
 +
|kategorie      = Software
 +
|status          = stable
 +
|autor          = [[Benutzer:schinken|schinken]]
 +
|beschreibung    = Statusanzeige des Hackerspaces
 +
|image          = Projekt img openclose.png
 +
|imagesize      = 300
 +
|version        = 0.8
 +
}}
 +
[[Category:Software]]
  
* Erkennung per MAC-Adresse
+
== Die Idee ==
** MAC-Adressen per WebInterface gruppierbar (nach User)
 
** User hat die Möglichkeit zu entscheiden ob sein Nick angezeigt werden darf
 
  
* Erkennung per Lichtsensor
+
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.
** Wenn Licht länger als 10 Minuten durchgehend an, für mindestens eine Stunde annehmen dass jemand da ist (wie wird Sonnenlicht ausgeschlossen?)
+
Es existieren andere Lösungen von anderen Hackerspaces wie der [https://stratum0.org/mediawiki/index.php/Open/Close-Monitor OpenClose-Monitor] von [https://stratum0.org Stratum0], welcher über das IRC gesteuert wird.
  
* Erkennung ob Schloss offen oder geschlossen ist
+
Wir wollten einen anderen Weg gehen :)
  
 +
== Spaceapi ==
  
Die Erkennungen setzen aufeinander auf.
+
Die Daten liegen auch in der standardisierten SpaceApi unter http://status.bckspc.de/spacestatus.php
* Falls Tür geschlossen, keine MAC-Adresse aber für 10 Minuten licht -> jemand da
+
 
* Falls Tür geöffnet, keine MAC-Adresse -> jemand da
+
== Anwesenheitserkennung ==
* Falls Tür geschlossen, MAC-Adresse für x Minuten vorhanden -> jemand da
+
 
* Falls Tür geöffnet , MAC-Adresse da und/oder Licht an -> jemand da
+
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:
 +
 
 +
[[Datei:Status graph illustration.png]]
 +
 
 +
(http://status.bckspc.de/)
 +
 
 +
== 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 [http://hackerspaces.nl/spaceapi/ 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 ==
 
== Android Widget ==
 +
 +
{{Ambox|text=Die hier vorgestellte App funktioniert seit längerer Zeit nicht mehr (letzter Stand: Februar 2020).}}
  
 
=== Funktionsweise ===
 
=== Funktionsweise ===
Zeile 35: Zeile 89:
 
* Custom User-Agent
 
* Custom User-Agent
  
[[Kategorie:Projekt]]
+
=== Code ===
[[Kategorie:Aktuell]]
+
https://github.com/krisha/StatusWidget (Attention: no license ;))

Aktuelle Version vom 2. Februar 2020, 22:53 Uhr

Crystal Clear action run.png
Open/Close-Anzeiger

Status: stable

Projekt img openclose.png
Beschreibung Statusanzeige des Hackerspaces
Autor: schinken
Version 0.8
PayPal Spenden für Open/Close Anzeiger

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 http://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:

Status graph illustration.png

(http://status.bckspc.de/)

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

  1. Unter Einstellungen -> Apps -> Unbekannte Herkunft erlauben
  2. Die Installationsdatei hier herunterladen und Installationsprozess durchführen
  3. 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 ;))