Für eine (minimale) Feedback-Funktion ins Cockpit steuert der RasPi via GPIO LEDs an, die dem Fahrer Zustände wie “System einsatzbereit” und Ähnliches signalisieren. Um die gefahrene Strecke sowie die aktuelle Position des Rennfahrzeuges auf dem Kurs in eine Karte einzuzeichnen, liefert ein am RasPi via USB angeschlossenes GPS-Modul die Positionsdaten. Auch diese landen wie die Sensorwerte von CAN-Bus in der Datenbank und werden dann via Google Maps auf der Webseite dargestellt.
Live-Video
Für die Live-Video-Funktion kommt eine WLAN-fähige Action-Cam zum Einsatz, mit welcher der RasPi via WLAN-Stick kommuniziert, um den Verkabelungsaufwand im Fahrzeug zu senken. Damit das Boxenteam von extern (über den UMTS-Stick) auf das “interne” Netz zugreifen kann, ließe sich beispielsweise mit Iptables ein Port-Forwarding auf die Kamera einrichten.
Da aber sowieso bereits der Webserver Apache läuft, wurde hier einfach ein Reverse-Proxy eingerichtet: Apache leitet alle Anfragen an eine bestimmte URL an die Webcam weiter. Dazu aktivieren Sie das Apache-Proxy-Modul mit folgender Konfiguration:
ProxyPass /live/ http://10.5.5.9:8080/live/ ProxyPassReverse /live/ http://10.5.5.9:8080/live/
Damit leiten Sie Anfragen an die UMTS-Webadresse des RasPi an die interne URL der Kamera (im Beispiel http://10.5.5.9:8080/live/) um. Auf ähnlichem Weg lässt sich auch eine Authentifizierung per Username und Passwort einrichten, falls die Webcam das nicht unterstützt.
Erster Einsatz
Diese Telemetrielösung wurde im Rahmen einer Diplomarbeit von Helmut Hammerschmied im Studiengang Fahrzeugtechnik an der FH Joanneum GmbH entwickelt. Sie ist im Rennfahrzeug jr13-evo verbaut und wird beim Formula-Student-Wettbewerb in Detroit im Mai 2014 ihren ersten “scharfen” Renneinsatz absolvieren.
Glossar
- CAN-Bus
-
CAN steht für Control Area Network. Dieses serielle Bussystem entwickelte Bosch 1983 für die Vernetzung von Steuergeräten in Automobilen. Inzwischen hat sich CAN zum ISO-Standard entwickelt.
- DynDNS
-
Eine Technik, bei der Nameserver-Einträge dynamisch modifiziert werden, um Rechner erreichbar zu machen, deren IP-Adresse sich häufig ändert.
- Ajax
-
Asynchronous Javascript and XML. Hierbei holt sich eine Webanwendung via Javascript laufend aktuelle Daten vom Server und stellt sie auf einer Webseite dar.
- JSON
-
Javascript Object Notation. Ein kompaktes, textbasiertes, für Mensch und Rechner (per
eval()) einfach lesbares Datenaustauschformat. - Reverse-Proxy
-
Ein solcher reicht Anfragen aus dem Internet an definierte interne Server weiter. Dadurch kann er die interne Server-Infrastruktur verbergen und zudem Aufgaben wie etwa Verschlüsselung oder Authentifizierung übernehmen.
Infos
- Team joanneum racing graz: http://www.joanneum-racing.at
- RasPi-OS-Images: http://www.raspberrypi.org/downloads
- PEAK Linux-Treiber: http://www.peak-system.com/fileadmin/media/linux/
- CAN-Utilities: https://gitorious.org/linux-can/can-utils/
- USB-Modeswitch: http://www.draisberghof.de/usb_modeswitch/
- SQLite-Workshop: Wolfgang Dautermann, “Schmuckstück”, LinuxUser 03/2012, S. 81, http://www.linux-community.de/24991
- Javascript-Framework jQuery: http://www.jquery.com
- jQuery-Plotting-Plugin jqPlot: http://www.jqplot.com





