Pinpad v1/Raumstatus: Unterschied zwischen den Versionen

Aus RaumZeitLabor Wiki
(Projektkategorie „Infrastruktur / obsolet“ setzen)
 
(38 dazwischenliegende Versionen von 8 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{AchtungKasten1 |title= Projekt eingestellt |msg=Diese Informationen sind zum Teil leider nicht mehr aktuell, da der [[Hausbus]] so nicht mehr existiert und an [[Hausbus3]] gearbeitet wird. Momentan wird der Raumstatus über den Kontakt in der Tür von einem Spark Core (Arduino mit WLAN) ausgelesen, und an den MQTT Broker gepusht. Dies ist allerdings nur eine temporäre Lösung. Unsere Statuswebseite funktioniert bereits, die Android App allerdings noch nicht.}}
{{ProjektInfoBox
{{ProjektInfoBox
|name        = Raumstatus
|name        = Raumstatus
|status      = stable
|status      = stable
|image      =
|image      = Status-maemo-widget.png
|description =  
|imagesize  = 90
|author      = [[Benutzer:sECuRE|sECuRE]]
|description = RZL offen?
|category    = Infrastruktur
|subcategory = obsolet
|author      = [[Benutzer:SEC|sECuRE]]
|username    =  
|username    =  
|version    =  
|version    =  
Zeile 12: Zeile 16:
|download    =  
|download    =  
}}
}}
= Einleitung =
 
= Nutzung =
 
Ob der Raum gerade offen ist (sprich ob die Tür geöffnet ist) wird jede Minute ermittelt und im Web zur Verfügung gestellt. Somit sollte niemand vor verschlossener Tür stehen, wenn er Lust hat, spontan ins RaumZeitLabor zu kommen. Der Status kann entweder via Web (auf http://www.raumzeitlabor.de (oben rechts)), IRC oder via Widget auf deinem Mobiltelefon abgerufen werden.
 
== IRC ==
In den Räumen #oqlt und #raumzeitlabor (hackint) kann der Status via ''!!raum'' abgefragt werden. Zusätzlich können über '!weristda' die anwesenden RaumZeitLaboranten ausgegeben werden. Voraussetzung hierfür ist, dass diese in der [[BenutzerDB]] die MAC-Adressen ihrer Netzwerkadapter hinterlegt haben.
Mit !stream wird der aktuell über den MPD abgespielte Musiktitel angezeigt.
 
== Mobile Webapp ==
http://status.raumzeitlabor.de/mobile.php (iPhone optimiert)
 
Es gibt auch ein [https://market.android.com/details?id=org.raumzeitlabor.status Android-Widget].
 
== Web 2.0 Zeugs ==
Der Status wird auf der Webseite angezeigt: [http://status.raumzeitlabor.de/] (rechts oben). Ein Graph mit der Wochenstatistik ist unter [http://status.raumzeitlabor.de/status-1week.png] verfügbar.
 
Der Status wird auch auf [http://identi.ca/RaumZeitStatus Identi.ca] und auf [http://twitter.com/raumzeitstatus Twitter] veröffentlicht. Der Account lautet bei beiden Netzwerken RaumZeitStatus
 
== RSS ==
Identi.ca hat einen öffentlichen RSS-Feed über welchen der Status auch ohne Identi.ca Account abgefragt werden kann. Den Feed gibts unter [http://identi.ca/api/statuses/user_timeline/191025.rss http://identi.ca/api/statuses/user_timeline/191025.rss]
 
 
= Funktionsweise =
 
[[Image:Rzl-status.png|200px|thumb|Funktionsweise]]


Die Scripts in firebox/ holen vom Etherrape den Raumstatus und mithilfe der
Die Scripts in firebox/ holen vom Etherrape den Raumstatus und mithilfe der
Leases-Datei des DHCP-Servers und eines Broadcast-Pings die im Netz
Leases-Datei des DHCP-Servers und eines Broadcast-Pings die im Netz
befindlichen Geräte, protokollieren beides jeweils in einer RRD-Datei und
befindlichen Geräte, protokollieren beides jeweils in einer RRD-Datei und
laden anschließend einen generierten Graphen sowie full.json und simple.txt
laden anschließend einen [http://status.raumzeitlabor.de/status-1week.png generierten Graphen] sowie [http://status.raumzeitlabor.de/api/full.json full.json] und [http://status.raumzeitlabor.de/api/simple simple.txt]
via WebDAV auf status.raumzeitlabor.de.
via WebDAV auf status.raumzeitlabor.de.


== Adressen ==
== Debugging ==
 
Es gibt jetzt ein init-script /etc/init.d/tuerstatusd, welches den Türstatus startet oder stoppt.
 
Die anwesenden Mitglieder werden über das Script unifi-check.pl geparst, welches 1x pro Minute per cron gestartet wird.


=== Für Nutzer ===
== Links für Entwickler (API) ==
* http://status.raumzeitlabor.de/ → Website mit dem aktuellen Status
* http://status.raumzeitlabor.de/api/simple<br>Text-API, welche entweder "1", "0" oder "?" enthält
* http://status.raumzeitlabor.de/status-1week.png Graph des Status über die letzte Woche
* http://status.raumzeitlabor.de/api/full.json<br>JSON-API, welche ein JSON-Dokument enthält


=== Für Entwickler ===
== Quelltext ==
* http://status.raumzeitlabor.de/api/simple → Text-API, welche entweder "1", "0" oder "?" enthält
* [http://github.com/raumzeitlabor/raumzeitstatus github: raumzeitstatus]
* http://status.raumzeitlabor.de/api/full.json → JSON-API, welche ein JSON-Dokument enthält
* http://github.com/raumzeitlabor/raumzeitstatus → Sourcecode (auf GitHub)


=== Mobile Devices ===
=== Mobile Devices ===
* http://github.com/raumzeitlabor/raumzeitlabor-status-widget → Widget für Maemo (Nokia N900)
* [http://github.com/raumzeitlabor/raumzeitstatus-maemo-widget github: raumzeitstatus-maemo-widget] (Nokia N900)
* TODO: android widget
* [http://github.com/raumzeitlabor/raumzeitstatus-android-widget github: raumzeitstatus-android-widget] (Android)
 
=== Social Networks/Web 2.0 ===
* [http://github.com/raumzeitlabor/raumzeitstatus-identica github: raumzeitstatus-identica] (Identica)
* [http://github.com/raumzeitlabor/raumzeitstatus/tree/master/twitter/ github: raumzeitstatus/twitter] (Twitter)
* [http://github.com/raumzeitlabor/raumzeitstatus-xmpp github: raumzeitstatus-xmpp] (Jabber)


== Setup ==
== Setup ==
Zeile 49: Zeile 85:
   `hostname` text,
   `hostname` text,
     PRIMARY KEY  (`ip`)
     PRIMARY KEY  (`ip`)
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8


* davconfig.pm und sqlconfig.pm befüllen
* davconfig.pm und sqlconfig.pm befüllen
Zeile 67: Zeile 103:


* status-unreachable.pl als Cronjob einrichten
* status-unreachable.pl als Cronjob einrichten
== Technische Doku ==
Auf dem Patchpanel ist der Kontakt an Blau-weiß/Blau (aufgelegt auf Pin 4-5) angeschlossen. Die restlichen Adern sind nicht belegt.


== Beteiligte/Danksagungen ==
* [[User:SEC|sECuRE]]
* AlexanderB (Türmodifikation)
* [[User:Silsha|silsha]] (ursprünglicher Code)
* Unicorn (Android-Widget)
* [[User:Scytale|Scytale]] (Zeitweises Hosting)
* [[User:Rami|rami]] (XMPP-Bot)
* Danke an alle Tester/Nutzer!


[[Kategorie:Projekt]]]
[[Kategorie:Öffentlichkeitsarbeit]]

Aktuelle Version vom 12. Dezember 2019, 18:40 Uhr

Achtung Achtung: Projekt eingestellt Achtung
Diese Informationen sind zum Teil leider nicht mehr aktuell, da der Hausbus so nicht mehr existiert und an Hausbus3 gearbeitet wird. Momentan wird der Raumstatus über den Kontakt in der Tür von einem Spark Core (Arduino mit WLAN) ausgelesen, und an den MQTT Broker gepusht. Dies ist allerdings nur eine temporäre Lösung. Unsere Statuswebseite funktioniert bereits, die Android App allerdings noch nicht.
     
Raumstatus

Release status: stable [box doku]

Beschreibung RZL offen?
Kategorie  Infrastruktur / obsolet
Autor(en)  sECuRE

Nutzung

Ob der Raum gerade offen ist (sprich ob die Tür geöffnet ist) wird jede Minute ermittelt und im Web zur Verfügung gestellt. Somit sollte niemand vor verschlossener Tür stehen, wenn er Lust hat, spontan ins RaumZeitLabor zu kommen. Der Status kann entweder via Web (auf http://www.raumzeitlabor.de (oben rechts)), IRC oder via Widget auf deinem Mobiltelefon abgerufen werden.

IRC

In den Räumen #oqlt und #raumzeitlabor (hackint) kann der Status via !!raum abgefragt werden. Zusätzlich können über '!weristda' die anwesenden RaumZeitLaboranten ausgegeben werden. Voraussetzung hierfür ist, dass diese in der BenutzerDB die MAC-Adressen ihrer Netzwerkadapter hinterlegt haben. Mit !stream wird der aktuell über den MPD abgespielte Musiktitel angezeigt.

Mobile Webapp

http://status.raumzeitlabor.de/mobile.php (iPhone optimiert)

Es gibt auch ein Android-Widget.

Web 2.0 Zeugs

Der Status wird auf der Webseite angezeigt: [1] (rechts oben). Ein Graph mit der Wochenstatistik ist unter [2] verfügbar.

Der Status wird auch auf Identi.ca und auf Twitter veröffentlicht. Der Account lautet bei beiden Netzwerken RaumZeitStatus

RSS

Identi.ca hat einen öffentlichen RSS-Feed über welchen der Status auch ohne Identi.ca Account abgefragt werden kann. Den Feed gibts unter http://identi.ca/api/statuses/user_timeline/191025.rss


Funktionsweise

Funktionsweise

Die Scripts in firebox/ holen vom Etherrape den Raumstatus und mithilfe der Leases-Datei des DHCP-Servers und eines Broadcast-Pings die im Netz befindlichen Geräte, protokollieren beides jeweils in einer RRD-Datei und laden anschließend einen generierten Graphen sowie full.json und simple.txt via WebDAV auf status.raumzeitlabor.de.

Debugging

Es gibt jetzt ein init-script /etc/init.d/tuerstatusd, welches den Türstatus startet oder stoppt.

Die anwesenden Mitglieder werden über das Script unifi-check.pl geparst, welches 1x pro Minute per cron gestartet wird.

Links für Entwickler (API)

Quelltext

Mobile Devices

Social Networks/Web 2.0

Setup

  • RRD-Datenbanken erstellen:
rrdtool create status-tuer.rrd -s 60 DS:tuer:GAUGE:120:U:U RRA:LAST:0:1:10080
rrdtool create status-geraete.rrd -s 60 DS:geraete:GAUGE:120:U:U RRA:LAST:0:1:10080
  • MySQL-Datenbank einrichten:
CREATE TABLE leases (
  `ip` varchar(39) NOT NULL,
  `mac` varchar(17) NOT NULL,
  `ipv4_reachable` tinyint(1) NOT NULL,
  `ipv6_reachable` tinyint(1) NOT NULL,
  `hostname` text,
   PRIMARY KEY  (`ip`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
  • davconfig.pm und sqlconfig.pm befüllen
  • Etherrape anschließen
  • raumstatus-meta.sh als Cronjob einrichten
  • WebDAV einrichten:
<Location /update/>
  Dav On
  AuthType Digest
  AuthName "update"
  AuthDigestDomain /update/ http://status.raumzeitlabor.de/update/
  AuthDigestProvider file
  AuthUserFile /data/www/status.raumzeitlabor.de/conf/digest-update
  Require valid-user
</Location>
  • status-unreachable.pl als Cronjob einrichten

Technische Doku

Auf dem Patchpanel ist der Kontakt an Blau-weiß/Blau (aufgelegt auf Pin 4-5) angeschlossen. Die restlichen Adern sind nicht belegt.


Beteiligte/Danksagungen

  • sECuRE
  • AlexanderB (Türmodifikation)
  • silsha (ursprünglicher Code)
  • Unicorn (Android-Widget)
  • Scytale (Zeitweises Hosting)
  • rami (XMPP-Bot)
  • Danke an alle Tester/Nutzer!