Wagenbau 2005

Das Team erstermai.net möchte an aller erster Stelle den Autoren und Organisatoren zahlreicher Projekte freier Software danken. Ohne ihren Einsatz und ihre Großzügigkeit ihre Arbeit zum Nutzen der Allgemeinheit durchzuführen, wäre unser Projekt nicht machbar. Besonderer Dank gilt den Beteiligten an Linux (kernel), GNU, Debian, KDE, XMMS, KDE-Bluetooth, familiar, Opie, OpenEmbedded, VNCServer, Xawtv, OpenSSH, aber natürlich auch all den anderen Projekten, die ein Teil des Ganzen bilden.

Die Konstrukteure und Organisatoren 2005

Hier stellen sich die Konstrukteure, Künstler und Organisatoren des Wagens und der Tour 2005 vor.

Die Entstehung des “Wagen 2005″

Aus den vergangenen Jahren war noch das von unserem Profischreiner robust und skalierbar verarbeitete Chassis des vorherigen Maiwagens vorhanden. Die Weiterverwendung dieses Chassis stand außer Frage, durch die Planung der Computerisierung und die weitere Verstärkung der Soundanlage kamen jedoch viele weitere Arbeitsschritte hinzu.
Gerade im Bereich Computer und Elektronik war klar, dass hier ein komplexes System mit vielen Ebenen und Fehlerquellen aufeinander gesetzt werden würde und somit der Entwurf, auch wegen der vielen Abhängigkeiten, früh beginnen mußte. Parallel dazu wurde auch schon früh die Ausarbeitung der Event Identity, des Sponsoring und allgemeiner Finanzpläne vorangetrieben. Der eigentliche Wagenausbau folgte erst am Schluß und machte einen deutlich geringeren Anteil des Aufwandes aus, als in den vergangenen Jahren.

Computersystem

Das Computersystem wurde allgemein als Plattform für die Tour 2005, aber auch für die Zukunft entworfen und wurde recht funktionsunabhängig und skalierbar umgesetzt. Für die Tour 2005 wurde jedoch eine Hauptfunktionalität projektiert und schließlich auch realisiert: Abspielen von mp3-Musik und vor allem die drahtlose Funkfernsteuerung der Musik und der Playlisten von Handys bzw. PocketPCs aus.

Bezüglich eines solche Computersystems auf dem Maiwagen waren sowohl bei der Software, als auch bei der Hardware, viele Hürden zu überwinden. Die Einsatzumgebung unterscheidet sich deutlich von der üblichen Nutzung eines PCs auf dem Schreibtisch mit den normalen Mensch-Maschine Schnittstellen. Auf dem Maiwagen sind Stromverbrauch, Hitze/Feuchtigkeit, Erschütterungen und fehlende Mensch-Maschine Schnittstellen durchaus sehr problematisch. Und vor allem ist unser Budget sehr gering!

Software

Als Plattform an sich kam von Anfang an nur GNU/Linux in Frage, nicht nur aus ideologischen Gesichtspunkten, sondern vor allem da die Einrichtung und Verwaltung eines Systems der am Wagen geforderten Art nur damit vernünftigt machbar ist.

Die Entwicklungsumgebung. Links ein PC mit Debian, die Bemused-Protokoll Dokumentation im Konqueror zeigend, unter der Haube das openembedded build-system. In der Mitte Dual-Screen an einem G5 mit OS X, ein Carbon Emacs mit dem Quellcode von opiemused. Rechts ein Laptop mit Debian, einige ssh-shells zum iPaq und zum build-system, sowie XMMS und kbemused zum Testen. In der Mitte auf dem Tisch: der iPaq mit Sleeve für WLAN, opiemused wird hier noch über NFS auf den iPaq geladen. Intensive Nutzung von osx2x.

Nachforschungen ergaben, dass das Bemused Protokoll und einige der in diesem Rahmen vorhandenen Programme wohl am besten für das Projekt geeignet wären. Das Bemused Protkoll ermöglicht die Steuerung gängiger Musikprogramme über Bluetooth von verschiedenen Arten von Smartphones aus. Es waren zum Projektierungszeitpunkt ein Java MIDPv2 +JSR82 und ein Symbian Client vorhanden. Außerdem waren einige Server für Linux vorhanden, die das Musikprogramm XMMS – welches zum Einsatz vorgesehen wurde – gut ansteuern können. Sämtliche Programme sind Freie Software im Sinne der GPL. Nach einigen Codesichtungen wurde dem kbemused Server des KDE-Bluetooth Framework dank sehr guter Codequalität und mächtiger Konfigurierbarkeit absolute Vorrangpriorität eingeräumt. Nun fehlte allerdings noch ein bemused Client für den iPaq (unter Linux+Opie). Zum Zeitpunkt des Projekts gab es so etwas nicht und die Clients der Smartphones alleine sind in einiger Hinsicht limitiert oder Aufgrund des winzigen Nutzerintefaces nicht so angenehm zu gebrauchen.
Also wurde ein eigener Client mit dem Namen “opiemused” für die iPaq-Linux-Opie Plattform entwickelt. Momentan besteht er aus 2500 Zeilen C++ Code, allerdings wird noch mehr Codedokumentation, sowie eine verbesserte Konfigurationsfunktionalität benötigt, bevor er hier veröffentlicht wird. Opiemused repliziert funktionell das XMMS-Interface auf den iPaq.
Der Entwicklungsaufwand inklusive Tests war durchaus beträchtlich und erhöhte den Gesamtaufwand für den Maiwagen 2005 erheblich. Allerdings ist kann das Programm in den folgenden Jahren wiederverwendet werden.
Schließlich wurde beschlossen, um den Computer auch dieses Jahr schon besser zu nutzen, noch automatische Webcambilder und eine musikgesteuerte Lichtshow zu nutzen. Letztere ist im nächsten Abschnitt genauer dokumentiert. Die Einrichtung der Webcam war zum Glück sehr einfach. Ein winziges keepalive-skript und das Progamm “webcam” aus dem xawtv-Paket sorgen dafür, dass die USB-Webcam alle 5 Sekunden ein Bild auf die Platte schreibt. Daraus wurde nach der Tour ein 10 Minuten Video erstellt, welches es ermöglicht die 9 Stunden nochmal im Schnelldurchlauf zu erleben.

Das System allgemein mußte für eine stabile und angenehme Nutzung ohne Maus, Tastatur und Monitor eingerichtet werden. Nach der Installation eines rudimentären Debian GNU/Linux System wurde deshalb ein XVNCServer eingerichtet, um für eine virtuelle grafische Oberfläche zu sorgen. Die grafische Oberfläche ist notwendig, da es für XMMS und kbemused keine ausreichenden rein kommandozeilen-orientierten Alternativen bzw. Steuerungen gibt. Das System wurde derart eingerichtet, dass es auch nach einem harten reset immer stabil wieder die grafische Oberfläche erreicht und das webcam-Programm, sowie XMMS und kbemused sofort zur Bluetooth-Ansteuerung bereitstehen. Die Robustheit dieses Prozesses war nach erfolgreicher Einrichtung immer gewährleistet, allerdings waren die Treiber der WLAN-Karte im Linuxkernel nicht 100% ausgreift, was ab und zum Verlust der WLAN-Verbindung führte. Da diese jedoch nur zur Administration gebraucht wurde, wurde alternativ noch TP-Ethernet, sowie PAN-TCP/IP über Bluetooth zum resetten des WLAN eingerichtet. Für die Nutzung des Wagens an sich war dies kein Problem.

Der MaiPC residierte zur seiner Einrichtungszeit in einem Karton. Gut zu sehen sind das 230V AC ATX Netzteil, der PC samt seiner Steckkarten, das uC-Testboard und das Lichtshowtest-Steckboard, sowie Boxen für Soundtests. Ganz rechts unten hängt das Bluetooth USB-dongle.

Hardware

Es wurde beschlossen, 2005 auf jegliche Displays und nicht Netz-basierte Eingabegeräte zu verzichten. Der Computer sollte also ein echtes eingebettetes System werden. Dies wurde als kein großes Problem angesehen und wie schon bereits beschrieben softwareseitig ohne Schwierigkeiten gelöst. Die Stromversorgung und die stabile Lagerung der Platte wurden allerdings mit viel mehr Sorge betrachtet. Die Stromversorgung wurde schließlich mit einem nicht ganz günstigen, gekauften 12V DC ATX-Netzteil gelöst, da wir unbedingt ein günstiges ATX-Board einsetzen wollten und keinen Laptop oder Mini-ATX. Nach Studien der Leistungsaufnahme aller gängigen x86 Prozessoren der letzten 10 Jahre und gleichzeitiger Berücksichtigung des Faktors “juchuu billig!” konnte der in jeder Hinsicht sehr leistungsarme AMD K6/2 400MHz überzeugen, den wir samt Board und etwas RAM für sehr wenig Geld bei eBay erwarben. Tests am Rechnersystem durch unseren Profielektroniker ergaben eine allgemein akzeptable Leistungsaufnahme für das Gesamtsystem und damit war für den Computer der Weg auf den Wagen frei. Blieb nur noch die Platte. Da die Stoßbelastung auf der Tour für die Platte durchaus ein Problem darstellen würde, wurde eigenes ein spezielles Gehäuse gebaut, das durch Schaumstoff und Gummiaufhängungen Stöße sehr stark dämpft und die ständigen Vibrationen ganz ausschaltet. Das Gehäuse bewährte sich schließlich hervorragend. Die meisten peripheren Komponenten des Computers wurden von Teammitgliedern geliehen, um das Budget zu entlasten. Zusätzlich zu CPU+Mainboard+RAM bestand der Computer also aus Festplatte (10 Gigabyte wurden als ausreichend angesehen), Ethernet, WLAN, Bluetooth, Soundkarte und Webcam – das uC-Board und die Lichtshow werden hier nicht als Teil des Computers angesehen, auch wenn sie über den seriellen Port verbunden waren.

PC und Lichtshow in ihrer endgültigen Konfiguration auf dem Wagen – hier ohne das Plexiglasdach. Ganz links vorne befindet sich die Schalterbox, schräg rechts dahinter die Webcam nach hinten filmend. In der Mitte residiert vorne die Lichtshow samt Board, dahinter das 12V DC ATX-Netzteil. Rechts hinten befindet sich der PC. Seine 3 Steckkarten sind an der Holzbrücke fest verschraubt.

Elektronik der Lichtshow

Dieses Feature des Wagen 2005 war ein gemischter Erfolg. Technologisch sicher grandios, ein sehr großer Aufwand und im Endeffekt trotz einiger Hürden eine ziemlich erfolgreiche Zusammenarbeit mehrerer Teammitglieder, kann man die Lichtshow für die Tour 2005 als nicht sonderlich sinnvoll anssehen. Erstens fiel sie wegen eines Last-Minute bugs zum größten Teil aus und zweitens ist sie in der Ausführung am Wagen 2005 doch leider zu unscheinbar, um abseits von Videos wirklich Aufsehen zu erregen. Andererseits ist sie als Technikdemonstration und als Basis für zukünftige Entwicklungen am Wagen ein ungeheuer wichtiger Schritt und ihre Konstruktion hat doch auch sehr viel Spaß gemacht. Die Lichtshow besteht aus 3 Komponenten: dem Visualierungsplugin (Software), dem Mikrokontrollerboard und dem Lichtshowboard+Lichtshowplatte. Computer und uC-Board sind über ein serielles RS232 Kabel verbunden, uC-Board und Lichtshow über ein 10-adriges Breitbandkabel.

Für die Lichtshow wurde ein eigenes XMMS-Plugin entwickelt, das im Gegensatz zum opiemused Programm allerdings kaum Aufwand gekostet hat. Es wurde einfach der Code simple Spectrum Analyser Plugin genommen, eigene Frequenzverrechnungsalgorithmen angewendet, eine Ausgabe auf den seriellen Port hinzugefügt und die Ausgabe auf den Monitor gestrichen. Der größte Teil der softwareseitigen Arbeit bestand darin, durch Ausprobieren die besten Schwellwerte und Faktoren für die Visualisierung von Höhen und Beat festzustellen.

Das Mikrokontrollerboard wurde auch in Hinsicht auf zukünftige Funktionen selbst entworfen, geätzt und bestückt. Für den Wagen 2005 wurde nur die Lichtshow genutzt. Ein kleines Programm auf dem uC setzt das simple serielle Protokoll in Signale am uC-Ausgabe Port B um. Dabei werden alle 8 Pins genutzt. Die 4 unteren Pins geben als Säule die Stärke des Beat wieder und die 4 oberen jeweils einzeln ob für einen bestimmten Frequenzbereich ein Stärkeschwellwert überschritten wurde. Diese 8 Level können nun beliebig in LED-Anordnungen genutzt werden. Vom uC-Board führt nun ein Anschluß mit den 8 Signalen, sowieo VCC und GND fort. Mittels Flachbandkabel war dies nun mit dem Lichtshowboard verbunden. Als Mikrokontroller wurde aufgrund seiner Mächtigkeit und einfacher Nutzung, vor allem auch mit Blick auf zukünftige Anwendungen, der Atmel AVR Atmega16 verwendet.

Das Lichtshowboard besitzt eine einfache Transistorschaltung, um die Signale in die Schaltung von LEDs umzusetzen. Die LEDs sind in einem Dreieck-Design in einer Platte eingelassen, insgesamt sind 28 LEDs vorhanden. Die LEDs werden symmetrisch angesteuert. 1, 3 oder 6 LEDs gehören jeweils zu einem Signal. Dadurch wird die Musik schließlich in Blubber- oder Laufartige Effekte transformiert. Demovideo der Lichtshow.

Erweiterungen am Wagen für 2005

Die wichtigsten Veränderungen am Chassis waren die Verlängerung für die Basstube und für die größeren Batterien, sowie das Plexiglasgehäuse für den Computer. Dies kann am besten anhand einer kleinen Bildershow vorgestellt werden.

Der noch leere Wagen gewährt tiefe Einblicke in sein Inneres. Rechts der Standplatz für die Wanne, an der Wand sind Endstufe und Boxen zu sehen. Links am Boden sind die Boxenverteiler und die Deichselachse befestigt.
Nun sind die 100Ah Batterie und das Gehäuse für die Festplatte montiert. Links ist auch der Halter für das Backup-radio zu sehen. Darüberhinaus ist die Trennwand hier schon montiert.
Es wird gleichzeitig montiert und gemalt. Vorne sind schon Teile des PC-Aufbaus vorhanden.
Der PC ist zum Teil montiert links zu sehen. In der Mitte die Endstufe durch das Wannenloch und rechts die Basstube im neuen Anbau.
Der neue Anbau ist noch offen und zeigt links die 66Ah Batterie und in der Mitte die Basstube.
Der noch nicht fertig montierte PC durch das Plexiglasgehäuse von oben.
Der Meister bei der Arbeit.
Die beiden Batterien werden geladen.
Die Werkstatt. Im Vordergrund finden Tests an Lichtshowtest-Steckboard, uC-Testboard und uC-Board statt.
Links ist die Schalterbox für Autoradio (im Notfall), Endstufe und PC zu sehen. In der Mitte befindet sich die Lichtshow, dahinter ist der fertig montierte PC.
Ansicht von hinten. Da die LEDs aus Flexibilitätsgründen nicht fest auf ein Board montiert sind, existiert ein Kabelgewirr an der Lichtshow. Die Webcam ist von unten fest verschraubt.