Daten-Logging am Fahrrad und Motorrad mit dem RasPi

Datenübertragung

Die erfassten Daten landen in Textdateien, die der RasPi mittels eines Webservers (Lighttpd) einem weiteren Rechner zum Auswerten bereitstellt. Eine Gruppe hat dazu ein Smartphone als mobilen Access Point verwendet. Raspberry Pi und Laptop wurden so konfiguriert, dass sie sich automatisch via DHCP mit diesem WLAN verbanden. Das ermöglichte den Austausch der Daten, indem eine Software die Dateien direkt via Webserver auswählte.

Alternativ ließe sich der RasPi als WLAN-Access-Point verwenden – eine der Gruppen setzte auf diese Variante. Allerdings unterstützt nicht jeder WLAN-USB-Adapter diese Funktion. Prüfen lässt sich das über das Kommando /usr/sbin/iw list: Erscheint in der Ausgabe unter Supported interface modes * AP für Access Point, gelingt die Konfiguration. Es sind noch drei weitere Schritte nötig, um den RasPi entsprechend einzurichten.

Als Erstes weisen Sie dem WLAN-Gerät über einen Eintrag in /etc/network/interfaces eine statische IP-Adresse zu (Listing 2). Danach benötigen Sie einen DHCP-Server, der anderen Geräten eine IP-Adresse zuteilt. Dazu installieren Sie den ressourcenschonenden Udhcpd-Server (Listing 3, Zeile 1). Die Software läuft beinahe ohne weitere Konfiguration. Sie müssen lediglich in /etc/default/udhcpd die Zeile DHCPD_ENABLED="no" auf "yes" umstellen sowie eine minimale Konfigurationsdatei erzeugen (Listing 3, Zeile 2). Udhcpd verteilt dann IP-Adressen im Bereich 192.168.0.20 bis 192.168.0.254. Bei Bedarf passen Sie die Einstellungen weiter an, für den vorliegenden Fall war das nicht notwendig.

Listing 2

 

iface wlan0 inet static
  address 192.168.0.1
  netmask 255.255.255.0

Listing 3

 

$ sudo apt-get install udhcpd
$ sudo sh -c 'echo "interface wlan0" > /etc/udhcpd.conf'
$ sudo apt-get install hostapd

Als Letztes installieren Sie die Software Hostapd, die das WLAN-Gerät in einen Access Point verwandelt (Listing 3, Zeile 3). Danach ändern Sie in /etc/default/hostapd die Zeile #DAEMON_CONF="" in DAEMON_CONF="/etc/hostapd.conf" – damit findet der Daemon seine Konfigurationsdatei. Listing 4 zeigt ein Beispiel für eine solche.

Listing 4

 

# Minimalkonfiguration für
# ein unverschlüsseltes Netz
interface=wlan0
ssid=MeineSSID
# Ergänzungen für
# WPA2-PSK-Verschlüsselung
wpa=2
wpa_passphrase=MeinWPAPasswort
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Mit den Befehlen aus den ersten beiden Zeilen von Listing 5 starten Sie die beiden Daemons. Überprüfen Sie mit einem anderen Gerät (Laptop, Tablet, Handy), ob diese das WLAN finden und sich mit diesem verbinden. Klappt das, sorgen Sie mit den Befehlen aus den letzten beiden Zeilen dafür, dass die Software nach einem Neustart des Raspberry Pi automatisch startet.

Listing 5

 

$ sudo service hostapd start
$ sudo service udhcpd start
$ sudo update-rc.d hostapd enable
$ sudo update-rc.d udhcpd enable

TIPP

Für die Projekte kam Raspbian Wheezy mit SysVinit zum Einsatz. Die neueste Raspbian-Variante Jessie verwendet stattdessen Systemd zum Systemstart, wodurch sich die Art ändert, wie Sie Dienste aktivieren und starten. Mehr dazu lesen Sie in einem Artikel in Linux User 10/2015 [10].

Als dritte Möglichkeit böte sich ein nachträgliches Auswerten an, indem man einfach die SD-Karte des RasPi in den Kartenleser eines Laptops einlegt und die erfassten Daten direkt ausliest. Soll diese Nachbearbeitung auf einem Windows-PC erfolgen, müssen Sie eine FAT-Partition für den Austausch der Daten anlegen. Handelt es sich nur um wenige Daten, ersparen Sie sich das Umpartitionieren und speichern diese einfach im Verzeichnis /boot: Das liegt auf dem Raspberry Pi standardmäßig auf einer FAT-Partition.

Schließlich wäre es möglich, die Daten via LAN-Kabel zu übertragen, indem entweder beide Geräte eine feste IP-Adresse im selben Netz erhalten oder Sie über die LAN-Schnittstelle auf dem RasPi einen DHCP-Server betreiben, sodass der Laptop seine Netzwerkadresse von dort bezieht. Die Netzwerkkarte im Raspberry Pi ist intelligent genug, um zu erkennen, wenn Sie sie direkt mit einer anderen Karte verbinden. Sie brauchen dazu also weder einen Hub noch ein Crossover-Kabel.

Auswertung am PC

Das weitere Verarbeiten beziehungsweise Auswerten der Messdaten erfolgt durch ein C#-Programm, das die Daten einliest, in Arrays speichert und auswertet. Die Werte des Lenkwinkelsensors sowie die Geschwindigkeitsmessdaten stellt die Software über Datenpunkte in einem Chart dar. Die GPS-Daten zeichnet sie über die von Google Maps bereitgestellte API in entsprechendes Kartenmaterial ein. Mehr dazu lesen Sie bei Interesse im Kasten "GPS-Visualisierung mit Google Maps und Co.".

GPS-Visualisierung mit Google Maps und Co.

Google bietet die Möglichkeit, mit speziellen URLs GPS-Daten zu visualisieren und ein generiertes Bild abzurufen. Dieser Dienst kam zum Einsatz, um die GPS-Daten darzustellen. Eine entsprechende URL folgt dem folgenden Muster:

https://maps.googleapis.com/maps/api/staticmap?zoom=14&size=300x300&maptype=roadmap&path=color:red|47.0700,15.4095|47.0700,15.4000|47.0730,15.4000

Die Parameter fallen einigermaßen selbsterklärend aus. Mit path= übergeben Sie durch Pipe-Zeichen ("|") getrennte GPS-Koordinaten; Google liefert die passende Karte zur entsprechenden Strecke. Der Service versteht noch etliche weitere Parameter und bietet weitere Möglichkeiten [6]. Für umfangreicheren Gebrauch benötigen Sie aber einen kostenpflichtigen API-Key. Im Rahmen des Projekts war das allerdings nicht notwendig.

Falls Sie die Konkurrenz bevorzugen: Den gleichen Service bietet auch Bing Maps [7]. Hier gibt es aber kein Freispiel, Sie brauchen in jedem Fall einen API-Key. Um das Ganze mit freien OpenStreetMap-Daten zu realisieren, nutzen Sie zum Beispiel den Mapquest Open Static Map Service [8]. Hier benötigen Sie ebenfalls einen API-Key.

Eine Gruppe hat neben der dargestellten Strecke in Google Maps zusätzlich eine berechnete Route nachgestellt (Abbildung 5, links oben). Dem liegt die Idee zugrunde, aus den Messwerten der Geschwindigkeiten sowie dem Lenkeinschlag die Fahrt in einem Koordinatensystem nachzubilden. Aus der Geschwindigkeit schließt die Software auf den Weg, die Zeit zwischen den Messwerten ist ja bekannt. Außerdem analysiert das Programm die Werte des Potentiometers und verstärkt diese teilweise, um Kurven richtig zu interpretieren und anzuzeigen. Das ermöglicht es, die Route nachzustellen und in eine Bitmap zu zeichnen.

Abbildung 5: Das Programm zum Auswerten der gesammelten Daten liefert auf Wunsch eine grafische Darstellung der Route auf Basis der Karten von Google Maps.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • PHP auf dem Raspberry Pi

    Es muss nicht immer Python sein: Auch per PHP lassen sich auf dem RasPi die GPIO-Pins ansteuern, was das Ganze für Webapps interessant macht.

  • RasPi-Alternative Banana Pi im Test

    Zum Basteln genügt die Leistung des Raspberry Pi locker, doch als Mini-Server oder Multimedia-Center dürfte er ruhig ein wenig mehr Saft haben. Der Banana Pi verspricht Kompatibilität zum Raspberry Pi – bei einem Plus an Rechenleistung.

  • Raspberry Pi und Arduino via UART koppeln

    Sowohl der RasPi als auch der Arduino bringen serielle Schnittstellen mit. Kleine Anpassungen genügen, um beide darüber kommunizieren zu lassen. So können Sie viele bestehende Arduino-Projekte auch mit dem Raspberry Pi nutzen.

  • Display T. Box 7: Raspberry-Set mit Touchscreen und Gehäuse

    Viele RasPi-Projekte erfordern einen Bildschirm samt Eingabemöglichkeit, etwa einen kleinen Touchscreen und eine entsprechend optimierte GUI. Die Display T. Box 7 vereint den offiziellen RasPi-Touchscreen mit einem praktischen Gehäuse.

  • Raspberry Pi im Naturschutz

    In einem Naturschutzgebiet bedrohen Fuchs und Marder seltene bodenbrütende Vögel. Als Gegenmaßnahme dienen Lebendfallen, die ein Tandem aus Mikrocontroller und RasPi überwacht.

Aktuelle Ausgabe

04/2019
TV & Multimedia

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Finger weg

    Ein Temperatursensor verrät, ob Sie einen Gegenstand gefahrlos berühren dürfen. Beim Messen brauchen Sie dabei noch nicht einmal Kontakt zum Objekt.

  • Aus einer Hand

    Um einen Mikrocontroller zu programmieren, genügt ein Raspberry Pi. Wir zeigen, was Sie dazu noch benötigen.

  • Im Gleichtakt

    Synchronisierte Live-Loops und selbst erstellte Funktionen helfen dabei, Sonic Pi wie ein Live-Instrument zu spielen.

  • Mach mal

    Das Ftduino-Modul schlägt die Brücke zu Fischertechnik und ermöglicht es unter anderem, einen Drei-Achsen-Roboter anzusteuern.

  • Eleganter Diener

    Jeden Morgen dieselben Handgriffe, um zu sehen, ob die S-Bahn fährt und wie das Wetter wird? Ein cleverer Infoscreen auf RasPi-Basis automatisiert den Vorgang.

  • Bienenflüsterer

    Bienenzüchter, die ihre Völker besser kennenlernen möchten, müssen die fleißigen Insekten nicht pausenlos stören. Mit einem Raspberry Pi und verschiedenen Sensoren überwachen sie Temperatur, Luftfeuchtigkeit und bald auch das Gewicht des Bienenstocks.

  • Beerige Musik

    Für echten Hi-Fi-Sound braucht es mehr als einen kleinen Bluetooth-Brüllwürfel. Mit Volumio und einem Raspberry Pi rüsten Sie Ihre klassische Hi-Fi-Anlage mit smarten Funktionen auf.

  • Ton ab!

    Auf den ersten Blick erscheint der RasPi zu schwachbrüstig für den Betrieb leistungshungriger DAW-Software. Doch der Schein trügt.

  • Himbeer-TV

    Der DVB TV µHAT rüstet den Raspberry Pi mit einem DVB-T/T2-Tuner auf. Die deutsche TV-Landschaft schränkt dessen Möglichkeiten allerdings ein.

  • Git à la RasPi

    Mit wenigen Handgriffen zum Git-Hoster: Die dezentrale Arbeitsweise von Git erleichtert in Kombination mit der Netzwerkfähigkeit des RasPi das Verwalten von Quellcode.