projekte:datenreise

Dies ist eine alte Version des Dokuments!


Um unsere Visibility in der Öffentlichkeit zu erhöhen entstand heute die Idee, eine Datenreise durch die gesamte Stadt zu realisieren. Dazu ist der Plan an verschiedenen Stellen in Münster kleine Stationen (Schaufenster, etc) aufzustellen, die auf möglichst unterhaltsame und anschauliche Weise Daten übertragen. Zum Beispiel könnte man dann ein Foto vom Hawerkamp, vom Hafen oder sonst was übertragen und zwar Bit für Bit, oder Byte für Byte. Ganz geil wäre noch, wenn die aktuellen Daten auf einem Bildschirm angezeigt werden.

Die Daten werden von eine zentralen Instanz bereitgestellt. Die Stationen holen sich die Daten übers Inet von einem Server, übertragen sie auf die lustige und anschauliche Art und schieben sie wieder auf den Server zurück. Dadurch kann man alle Stationen monitoren und man kann das System dynamisch erweitern oder Stationen wieder entfernen. Sogar eine Erweiterung in eine andere Stadt ist denkbar.

Zentrale Instanz

Auf dem Warpzone Server gibt es eine VM (datenreise.warpzone.ms), die Stand heute noch nix kann. Ich will aber mal beschreiben was sie können soll:

Frontend

Das Frontend soll möglichst einfach sein, damit die Einstieghürde für potentielle Mitmacher möglichst gering ist. Die Schnittstelle soll möglichst vielseitig sein, aber auch ein Mindestmaß an Sicherheit bieten. Daher kommen für die Übertragung der Daten nur Protokolle in Frage, die eine Authentifizierung ermöglichen. Toll wären: HTTP, FTP, SCP. Ggf noch SMTP zum Einschicken? Die einzelnen Stationen sollen einfach die Daten als Datei runterladen und als Datei wieder hochladen können. Jeder hat dann sein eigenes abgeschlossenes Homeverzeichnis, aus dem er auch nicht rauskommt.

Noch zu lösen: Dann noch das Problem mit den Dateinamen. Statisch wäre einfacher, birgt aber die Gefahr des Überschreibens. Und ein Upload ist leider keine atomare Aktion. Der Backenddienst könnte also in einen Upload reinpfuschen. Erst Upload und dann umbenennen ist ggf zu komplex?

Backend

Im Backend brauchen wir ein Script, das die Daten aus den Verzeichnissen klaubt. Dass darf natürlich nicht während eines Upload passieren. Die Daten sollen in eine Datenbank geschrieben werden. Daraus können dann die Daten/Statistiken für die Webseite zusammengebaut werden. Dann müssen die Daten auch in das Home der nächsten Station gelegt werden. Wann das passieren muss, ist auch noch zu definiern.

Sicherheit

Da wir auch Externe einbinden möchten, müssen wir auch mit Scherzkeksen rechnen, die zB. große Files hochschieben oder Pornobilder in unser Landschaftsbild einbauen. Eine gewisse Plausibilitätsprüfung muss also ran. Vielleicht kann man sagen, ab 70% Bitfehlern auf einer Station (durch Injektion oder kaputte Station) kriegt sie dieselben Daten nochmal und beim 10ten Mal wird sie unter Generierung eines Alarms temporär aus dem Prozess ausgenommen und bekommt Dummydaten.

Um das Projekt auch überregional bekannt zu machen brauchen wir natürlich eine Webseite. Dort wäre eine Karte nett, auf der alle Stationen verzeichnet sind. Bei Klick auf die Stationen kriegt man Infos über die Station:

  • Foto
  • Entstehungsgeschichte
  • Funktionsweise
  • aktuelle Bitfehler (Vergleich von ausgehenden und eingehenden Daten)
  • aktueller Durchsatz
  • ggf. Webcam

Natürlich wäre es cool, wenn die Nichtzonies auch was zum Projekt beitragen könnten. So könnten sie z.B. Daten zur Übertragung (Fotos, Texte) bereitstellen, oder eigene Stationen basteln, die dann ins Projekt integriert werden.

Digitale Übermittlung

Laser

2 Laser übertragen die Daten. Einer gibt den Takt auf einen Fotosensor und der andere wird angeschaltet, je nachdem ob 0 oder 1. Das coole ist hier, dass über 2 Laserpointer theoretisch Daten injectet werden können.

Murmelbahn

Im getakteten Rythmus rollt eine Murmel vorbei, oder halt nicht. Keine Kugel Bit 0 / Kugel Bit 1.

Farberkennung

Murmeln einer bestimmten Farbe rollen in eine Kammer und werden mit einer RGB LED und einem Fotosensor gescannt. Jede Farbe steht für ein Tupel.

Slow Ethernet

Die Daten werden nach dem Ethernetstandard übertragen, aber mit leuchtenden „Kabeln“ und halt nur mit 0.00001MBit, so dass man sieht, was passiert.

Fahnenschwenker

Eine Figur mit 2 schwenkbaren Armen steht auf einem Dach und bewegt je nach darzustellendem Byte die Arme ein. Eine Kamera auf einem anderen Hausdach erkennt die Armstellung und speist das Byte wieder ein.

Analoge Übermittlung

Wasserwaage

Je nach Bytewert wird eine bestimmte Menge Wasser in ein Wasserglas geschüttet und gewogen. Das Wiegeergebnis ist das übertragene Byte (bzw. 100% Füllstand = vollster Farbwert, 0%=schwarz). Danach muss das Wasser wieder zurückgepumpt werden.

Entfernung

Ein Hindernis wird auf einen Ultraschallsensor zu bewegt oder entfernt. Wenn es zum Stillstand kommt, ist die Entfernung zur Messeinheit das zu übertragende Byte. (Bzw. Volle Entfernung = 100% Farbwert, niedrigste 0%)

Alternative Übermittlung

Crypt/Decrypt

Die Daten werden verschlüsselt (XOR(Data,„Warpzone“), oder so) und schickt es an die nächste Station. Dort werden die Daten nur verschlüsselt dargestellt und übertragen. Die Station danach entschlüsselt wieder und die Daten sind wieder lesbar.

  • projekte/datenreise.1334075801.txt.gz
  • Zuletzt geändert: 2017/03/01 19:04
  • (Externe Bearbeitung)