USB-Herelist: Unterschied zwischen den Versionen

aus Metalab Wiki, dem offenen Zentrum für meta-disziplinäre Magier und technisch-kreative Enthusiasten.
Zur Navigation springenZur Suche springen
(Added code!)
Zeile 44: Zeile 44:
== Links ==
== Links ==
* Die Diskussion findet sich auf der Liste von 2007-October beginnend mit [http://lists.metalab.at/pipermail/metalab/2007-October/002453.html diesem Eintrag].
* Die Diskussion findet sich auf der Liste von 2007-October beginnend mit [http://lists.metalab.at/pipermail/metalab/2007-October/002453.html diesem Eintrag].
* Code: [[Bild:Usbherelist-2007-12-14.tar.bz2]]. Fifo fifo1 muss für httpd-server noch angelegt werden


----
----
Diese Seite wird verschoben, falls ein toller Name gefunden wurde.
Diese Seite wird verschoben, falls ein toller Name gefunden wurde.

Version vom 14. Dezember 2007, 21:31 Uhr

USB-Herelist verwaltet eine Liste von Personen, die sich im Metalab befinden.

Funktion

  • USB-Gerät (Stick, Kamera, MP3-Player) werden ins Terminal gesteckt
  • Das Programm benutzt lsusb um die Gerätinformationen auszulesen (Hersteller, ID, Produkt) und bildet daraus einen SHA1-Hash
  • Insbesondere wird das Gerät nicht gemountet.
  • Falls noch nicht bekannt, kann man das Gerät zu seinem Nicknamen registrieren lassen (auch mehrere Geräte).
  • Sonst: Bei reinstecken wird zwischen "im Lab" und "nicht im Lab" (auf der Herelist/nicht auf der Herelist) ge-toggled.
  • Gespeicherte Informationen: Nickname, SHA1 der lsusb-Informationen.
  • Nach einer Timeout-Zeit (derzeit 12h) wird man vom System auch ausgetragen.

Erweiterbarkeit

  • Gewünscht ist, dass die Information auf der Webseite dynamisch angezeigt wird. Dazu ist noch eine Schnittstelle zu definieren

Bezug zu anderen Projekten

  • consti: KnockKnock:
    • Liest SNMP (Laptops die im Lab sind) und Barcodes. Läuft noch nicht.
    • Sobald funktionsfähig, wird USB-Herelist auch in dieselbe Datenbank speichern. Die Schnittstelle, die andere Metalab-Komponenten beliefert, wird dann daraus die Informationen beziehen.

Schnittstellen

  • Vorteil ist, dass beliebige Schnittstellen möglich sind
    • Bei Auftreten von Events: kommen, gehen -> UDP-Broadcasts, HTTP-GET-Requests an Web-Projekte
    • Auf Anfrage ausgeben der Liste -> kleiner HTTP-Server, XML und plain text
  • Vorschlag für MOS: -> Diskussion, MOS-Bugtracker
    • HTTP-GET-Requests an eine URL mit /update-herelist.php?event=Nickname%20has%20left.
    • HTTP-GET-Request serving auf einem Port mit plaintext-Liste oder, falls nötig, äußerst einfachem XML-RPC.
    • Wenn man ganz motiviert ist, kann man mit AJAX (lies: XMLHttpRequest) den Bildschirm in Echtzeit updaten.
  • Schön ist auch, dass nirgends Polling benötigt wird.

Begrenzung

  • USB-Herelist kann nicht zur Authentifizierung verwendet werden, dazu ist die Information zu unsicher.
  • Insbesondere ist es kein Anmelde-, Schlüssel- oder RFID-Ersatz
  • Es ist kein Logging vorgesehen. Die einzige Information die gespeichert wird ist der derzeitige Zustand.

Wert der Information

  • Die Benutzung ist freiwillig, daher ist die Information sicher immer unvollständig.
  • Leute, die das System benutzen, sagen damit anderen (evtl. über die Webseite), "Hi, ich bin im Lab!"
  • Wenn ein USB-Gerät geklaut wurde oder nachgebaut, oder wenn jemand den Namen eines Anderen für sein Gerät einträgt, kann die Liste gefälscht werden. Bei 2 Produkten, die keine ProductID angeben, kann eine Überschneidung sogar unabsichtlich passieren. Das sollte aber auffallen.

Der Informationsgehalt lässt sich mit dem von Wikipedia vergleichen: unvollständig, fälschbar, nicht sicher, aber so gut wie immer richtig.

Wozu das alles

  • Es ist oft nett, zu wissen, ob eine Person A im Lab ist, weil man vl. von A etwas braucht, quatschen will, etc.
  • Das Schönste daran finde ich, dass es freiwillig ist.

Links


Diese Seite wird verschoben, falls ein toller Name gefunden wurde.