Open/Close Anzeiger: Unterschied zwischen den Versionen

 
(3 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 3: Zeile 3:
 
|kategorie      = Software
 
|kategorie      = Software
 
|status          = stable
 
|status          = stable
|autor          = [[Benutzer:schinken|schinken|rel=author]]
+
|autor          = [[Benutzer:schinken|schinken]]
 
|beschreibung    = Statusanzeige des Hackerspaces
 
|beschreibung    = Statusanzeige des Hackerspaces
 
|image          = Projekt img openclose.png
 
|image          = Projekt img openclose.png
Zeile 20: Zeile 20:
 
== Spaceapi ==
 
== Spaceapi ==
  
Die Daten liegen auch in der Standardisierten SpaceApi unter status.bckspc.de/spacestatus.php
+
Die Daten liegen auch in der standardisierten SpaceApi unter http://status.bckspc.de/spacestatus.php
  
 
== Anwesenheitserkennung ==
 
== Anwesenheitserkennung ==
Zeile 70: Zeile 70:
  
 
== Android Widget ==
 
== Android Widget ==
 +
 +
{{Ambox|text=Die hier vorgestellte App funktioniert seit längerer Zeit nicht mehr (letzter Stand: Februar 2020).}}
  
 
=== Funktionsweise ===
 
=== Funktionsweise ===

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 ;))