Software

Es folgen nun einige Details zur Software, die bei „Kamp‑Lintfort leuchtet” verwendet wurde.

C#, Java, Python, JavaScript und PHP sind nur einige der im Projekt verwendeten Programmiersprachen. Weitere technische Einzelheiten und Informationen findet man hier.

Als Betriebssystem für die Server wurde das OpenSource Betriebssystem Ubuntu verwendet.

Da die .NET-Laufzeitumgebung zum jetzigen Zeitpunkt nur für Windows Betriebssysteme verfügbar ist, nutzen die Ubuntu-Server eine Mono-Laufzeitumgebung, um in C# geschriebene Programme ausführen zu können.

Es gibt sowohl einen internen als auch einen externen Server. Für beide wurde die Programmiersprache C# (sprich: C-Sharp) verwendet.

Server Intern

Der interne Server dient als Steuereinheit für die DMX-Scheinwerfer. Er kennt das DMX-Protokoll (s.u.) und kommuniziert mit den Scheinwerfern. Er bietet darüber hinaus die Möglichkeit, Bilddaten, die an die Scheinwerfer übergeben werden, für andere Clients bereitzustellen. Der LiveView zum Beispiel bezieht seine Daten direkt von dem internen Server.

Server Extern

Der externe Server schirmt den internen Server vor Zugriffen von außen ab und kümmert sich um vorangestellte Aufgaben, wie etwa das Entpacken und Prüfen der von Benutzern eingereichten Animationsdateien, oder das Entgegennehmen von Live-Play Kommandos, die für das Spielen auf der Projektionswand notwendig sind. Er ist somit nicht nur das schützende Element, sondern auch die Kommunikations-Schnittstelle zwischen Kunstwerk und Benutzer.

Der Sensor Server ist ein Raspberry PI. Zusammen mit einem Arduino leitet er Kommandos an den internen Server weiter. Auf dem Raspberry Pi läuft das Betriebssystem Raspbian, eine an den Raspberry Pi angepasste Debian-Version.

Jeder Raspberry Pi unterstützt eine bestimmte Anzahl von Sensoren, deren Kommandos er auswerten kann. Ein Python Programm übernimmt dabei die Rolle des Übersetzers und wandelt die Kommandos in für den internen Server verständliche Befehle um.

Neben den bereits genannten Schnittstellen hat das Team um „Kamp‑Lintfort leuchtet” weitere API's zur Verfügung gestellt.

Java

Die Java-API ermöglicht den Nutzern, eigene Java-Clients zu programmieren, die mit den Servern kommunizieren. Diese Kommunikation sieht beide Wege vor, nämlich die des Lesens (Was ist gerade auf der Wand zu sehen?) und die des Schreibens (Einreichung einer Animation). Bei der API handelt es sich um eine Java-Erweiterung für die digitale Erstellung von Bildern und Animationen. Sie eignet sich besonders für die Programmierung mit Processing. Zusätzlich können Sensoren in die Animationen integriert werden.

JavaScript

Nicht nur die Website arbeitet mit JavaScript. Es gibt zusätzlich auch eine eigene API für diese Sprache. Die Schnittstelle ist in erster Linie entwickelt worden um den Sensoren bei Spielen auf der Projektionswand einen Kommunikationskanal zu den Servern anzubieten.

Fakten und Informationen

Website

Die Website benutzt Technologien der modernen Webentwicklung und basiert auf den Stützpfeilern HTML, CSS, JavaScript und PHP.

Die Gestaltung der Website wird durch das Framework Bootstrap unterstützt und ermöglicht so eine angepasste Darstellung auf Smartphones und anderen Geräten. Bootstrap verwendet JavaScript und dessen Erweiterung jQuery.

Editor

Der Editor, welcher für die Einreichungen von eigenen Beiträgen entwickelt wurde, baut ebenfalls auf moderne Web-Technologien wie JavaScript inklusive jQuery, HTML sowie CSS. PHP-Skripte ermöglichen das Exportieren von Dateien, die an den Server weitergereicht werden können. Das Zeichnen auf den Fenstern wird durch moderne HTML5-Funktionen ermöglicht, die das Canvas-Element benutzen.

Liveview

LiveView ist im Prinzip ein normaler Client. Allerdings mit einem Umweg über einen NodeJS-Server. Der NodeJS-Server verbindet sich unabhängig davon, ob ein Benutzer die Website aufruft, mit dem internen Server und erhält so ständig die aktuellen Bilddaten. Er wandelt diese in hexadezimale Farbwerte um und leitet diese an die Website weiter.

Sobald ein Benutzer die Website aufruft, verbindet sich sein Webbrowser nicht mit dem internen Server selbst, sondern mit dem beschriebenen NodeJS-Server. Dieser ist durch seine Architektur in der Lage, sehr viele Anfragen von Benutzern zu verarbeiten und gibt die empfangenen Bilddaten an die Website weiter, welche diese dann im LiveView darstellt.

LED-Technik

Die verwendeten Scheinwerfer, so genannte PAR-Scheinwerfer, verwenden das sogenannte DMX-Protokoll, welches üblicherweise auch in der Bühnentechnik benutzt wird. Die Scheinwerfer sind in der Lage jede Farbe des RGB-Spektrums darzustellen und ermöglichen so eine vielseitige und farbreiche Installation.

Das DMX-Protokoll ordnet jedem Scheinwerfer eine feste Adresse zu. Durch diese Adresse kann jeder Scheinwerfer einzeln angesteuert werden und ihm ein entsprechender Farbwert zugewiesen werden.

126 PAR-Scheinwerfer mit jeweils sieben LEDs bringen die Installation zum Leuchten. Sie sind seitlich in selbst konstruierten Styroporkisten montiert und beleuchten das Innere jeder Kiste mit allen Farben des RGB-Spektrums.

Netzwerk

Von der Installation zum Betrachter.

Im Schalthaus

Die Installation, genauer gesagt die Scheinwerfer, werden über einen Server im Schalthaus gesteuert. Über Kabelverbindungen leitet der Server entsprechende Anweisungen an die Scheinwerfern weiter. Er wird über eine Funkverbindung angesteuert und kann so per Fernwartung gesteuert werden.

In der Hochschule

Zwischen dem Schalthaus und der Hochschule existiert eine WLan-Verbindung (Luftlinie ca. 150 Meter). Diese dient der Kommunikation zwischen internem Server (im Schalthaus) und externem Server (in der Hochschule). Der Server in der Hochschule bietet die oben genannten Schnittstellen, die über das Internet erreichbar sind.

Beim Benutzer

Der Benutzer hat verschiedene Möglichkeiten auf das Projekt zuzugreifen. So können die oben beschriebenen Schnittstellen genutzt werden um eigene Programme zu entwickeln oder der Editor um Beiträge zu erstellen. Zur Erklärung ein Beispiel: Die Website von „Kamp‑Lintfort leuchtet” den Editor. Dieser verbindet sich bei Einreichung eines Beitrages über das Internet mit dem Server in der Hochschule. Dort werden die Daten aufbereitet und für den Server im Schalthaus verpackt. Über die W-Lan-Verbindung wird der Server im Schalthaus dann mit diesen Daten versorgt. Zuletzt leitet der Server im Schalthaus über Kabelverbindungen die Daten an die Scheinwerfer und bringt diese zum Leuchten.

NON-IT

Neben der notwendigen Informationstechnologie wurde viel Zeit und Arbeit in den Aufbau der Kisten und der gesamten Installation investiert. Jede Seite der Styroporkiste ist von Hand ausgeschnitten schließlich verklebt und geklammert worden. So entstanden 126 Styroporkisten, in welche die 126 Scheinwerfer installiert wurden. Jede Kiste wurde zusätzlich mit Alufolie umwickelt, um das Überlenden zu verhindern, was zu einer Verfälschung der Farben der jeweils benachbarten Kisten führen würde.

Hinter der Fensterfront steht ein Baugerüst. Unmittelbar davor stapeln sich die Kisten bis in 9 Meter Höhe. Die Scheinwerfer sind einzeln an dem Gerüst montiert und ragen seitlich in die Kisten hinein, um diese von innen zu beleuchten. Die Scheinwerfer sind untereinander verkabelt und lassen sich so individuell über den Server ansteuern.