Dorit Mielke, Steffen Fiedler, Leopold von Bismarck, …

From Dusk Till Dawn (FDTD)

Eine visuelle, interaktive Installation mobiler Kommunikationstechnologien in einer urbanen Umgebung.

From Dusk Till Dawn

From Dusk Till Dawn

Technische Beschreibung

1) Hardware
Das Hardwarekonzept der Installation beruht auf einer simplen und preiswerten Architektur. Kernstück des Systems ist ein herkömmlicher PC mit folgender Ausstattung: Board: AMD Athlon 1,6 Ghz, 512 MB Arbeitsspeicher, Grafik: ATI Radeon 7000, OS: Windows XP. Die duale Videoschnittstelle der Grafikkarte erlaubt es, zwei Anzeigegeräte anzuschließen. Diese steuert zwei Videoprojektoren (NEC HT 1000: 1024 x 768 (XGA), 1000 ANSI Lumen, Kontrast: 3000:1) über ihre DVI- bzw. RGB-Schnittstelle an. Hierbei ist darauf zu achten, dass ein individueller Farbabgleich durchgeführt wird um Unterschieden bei der Farbübertragung der Schnittstellen vorzubeugen. Die Projektoren werden im Abstand von ca. 4 Metern zur Leinwand positioniert. Daraufhin werden Helligkeit, Farbintensität und Schärfe des Videosignals eingestellt. Als Bluetooth-Sensor dient ein Gerät (USB-Dongle) der Marke Allnet (ALL 1578: Class I, Version 2.0). Die moderne Bluetooth-Version erlaubt Kommunikation mit Entfernungen bis zu 100 Metern. Dadurch können Endgeräte auch in der U-Bahn, in den vorbeifahrenden Autos sowie auf den gegenüberliegenden Straßenseiten erfasst werden. Jegliche Hardware wird auf dem Kioskdach untergebracht und mit einem Regenschutz versehen. Um bei laufendem Betrieb auf die Installation einwirken zu können, wird der Hauptcomputer darüber hinaus mit einem Laptop verbunden und mittels einer Fernwartungssoftware (VNC: Virtual Network Computing) gesteuert.


2) Software
Die softwareseitige Realisierung der Installation gliedert sich in drei Komponenten. Zum einen wurde ein hardwarenaher Scanner zum Erfassen der im Umkreis befindlichen Bluetooth-Geräte benötigt. Des Weiteren wurde eine graphische Visualisierung der erfassten Geräte im Verlauf der Zeit entwickelt. Diese beiden Komponenten wurden über eine SQL-Datenbank miteinander verknüpft. Hier wurde MySQL in der aktuellen Community-Edition verwendet. Der Bluetooth-Scanner wurde unter Verwendung des Microsoft Bluetooth Stack, der mit dem Service Pack 2 in das Betriebssystem Windows XP integriert wurde, entwickelt. Als Programmiersprache bot sich aufgrund der Hardwarenähe und des geringen Ressourcenbedarfs C an. Auf der Hardwareseite wurde ein handelsüblicher Class 2 Bluetooth Dongle benutzt. Die Software erlaubt im derzeitigen Stadion auch den Einsatz mehrer Dongles um die erfasste Zone zu vergrößern. Der Scanner ermittels unter Verwendung von Windows Sockets kontinuierlich die in Reichweite befindlichen Bluetooth-Geräte und erfasst neben der Hardware-Adresse des Bluetooth-Interfaces auch den Gerätenamen. Ein Scanintervall nimmt etwa 5 Sekunden in Anspruch, was sich für unser Einsatzgebiet als absolut ausreichend erwies. Die Ergebnisse der Scans wurden in die mysql-Datenbank geschrieben. Als Interface zur Datenbank diente die von MySQL in Form einer Dynamic Link Library (DLL) zur Verfügung gestellte C API, die sich problemlos in den Scanner integrieren ließ. Die Datenbank enthielt außerdem eine Tabelle mit den von dem Institute of Electrical and Electronics Engineers (IEEE) vergebenen Organizationally Unique Identifier (OUI). Diese einzigartigen Identifikationsnummern bilden die ersten 24 Bit der insgesamt 48 Bit langen Hardware-Adressen der Bluetooth-Geräte. Die OUIs werden Organisationen, im Regelfall Hardware-Herstellern, zugeteilt, die dann ihrerseits die restlichen 24 Bit der vollständigen Hardware-Adresse vergeben können. Über diese Tabelle konnte somit aus der Hardware-Adresse der erfassten Bluetooth-Geräte deren Hersteller ermittelt und in die Visualisierung integriert werden. Die Flash-basierte Visualisierung importiert die Daten aus der MySQL Datenbank im XML-Format. Hierzu wurde der Umweg über ein PHP-Skript gewählt, welches gleichzeitig nur die seit der letzten Abfrage geänderten Daten an Flash übermittelt um den sehr hohen Aufwand beim parsen der XML-Datenstrukturen durch Flash zu verringern.

Im Folgenden sollen die einzelnen Komponenten des Systems genauer beschrieben werden.

a) BlueWS
Die BlueWS Software wurde unter Verwendung des Microsoft Bluetooth Stacks in C geschrieben. Die Herausforderung bei der Bluetooth-Programmierung stellte zunächst die relativ schlechte Dokumentation des Bluetooth-Stacks dar. Es stellte sich heraus, dass die Kommunikation mit dem BT-Stack zum einen mittels Windows Sockets, zum anderen über die vom BT-Stack bereitgestellte API erfolgen konnte. Es entstanden so zwei Versionen der Scan-Software. Erstaunlicherweise stellte sich die etwas exotische Methode via Windows Sockets als robuster heraus.

b) MySQL Datenbank
Nachdem die erste Generation der BlueWS Software ihre Daten noch in einer normalen Textdatei abgespeichert hatte, war es aus Kompatibilitätsgründen und zur besseren Ausfallsicherheit nötig, die Daten bei der fertigen Lösung in einer Datenbank zu speichern. Die Struktur der Datenbank war entsprechend der Problemstellung recht übersichtlich. Einzig interessant ist die Wahl einer ID als Primärschlüssel, welches es erlaubt für jede zusammenhängende Aufenthaltszeit im Erfassungsraum einen eigenen Eintrag zu erstellen. Dabei wurde von uns experimentell eine minimale Dauer von 30-60 Sekunden ohne Erfassung ermittelt, nach der ein Mobiltelefon als „weg“ gesetzt wurde. Aufgrund des Scanintervalls von 5 Sekunden und der Tatsache, dass einige Geräte nicht bei jedem Scan erkannt wurden, haben sich geringere Werte als unpraktikabel erwiesen. Das Verlassen des Geräts wird so zwar schneller erkannt, es ergeben sich jedoch zahlreiche Wiedereintritte, die nicht auf einer wirklichen Positionsänderung beruhen, sondern lediglich auf einmaliges Nichterkennen bei einem Scan zurückzuführen waren.

c) Macromedia Flash
Zu Beginn des Projekts standen zwei unterschiedliche Konzepte zur Visualisierung zur Auswahl. Einmal eine Lösung mit „Processing“, einer in Java geschriebene Entwicklungsumgebung mit einem starken Fokus auf grafische Darstellung. Im Gegensatz zu Flash ist der grundlegende Funktionsumfang allerdings stark eingeschränkt. Es lassen sich ohne weiteres keine Objekte auf der Zeichenfläche verschieben, da diese bei jedem Aufruf neu gezeichnet wird. Um ein solches Verhalten zu emulieren hätte ein kompletter Layer für Objekte und Ebenen programmiert werden müssen. Daher wurde Flash das Werkzeug der Wahl für unsere Visualisierung. Die klassische Bewegungsabfolge in Flash erfolgt ähnlich einem Film über Einzelbilder in welchen Symbole platziert werden können. Neben dieser normalen Methode (den direkten Zeichnen auf der Bühne) unterstützten die neuen Versionen von Flash mit der „Programmiersprache“ Actionsscript auch kompliziertere Befehlsabfolgen. Zusätzlich lassen sich in neueren Flash Versionen Klassen definieren, welches eine objektorientierte Programmierung möglich macht.

Hardware / Software

Hardware:
PC (Board: AMD Athlon 1,6 Ghz, 512 MB Arbeitsspeicher, Grafik: ATI Radeon 7000, OS: Windows XP)
Videoprojektoren (NEC HT 1000: 1024 x 768 (XGA)
Bluetooth-Sensor (ALL 1578: Class I, Version 2.0)

Software:
BlueWS Software
MySQL Datenbank
Macromedia Flash