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

Aktuelle Ausgabe

06/2019
Home Improvement

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Verschlungene Pfade

    Mit Schleifen, Fallunterscheidungen und Funktionen programmieren Sie komplexe Skripte auf einfache und elegante Weise.

  • Extrem genau

    Mit einem A/D-Wandler messen Sie bei Bedarf Spannungen. Der MCP3424 macht dabei konstruktionsbedingt eine gute Figur.

  • Verbindungsaufnahme

  • Süßer Wecker

    Dem RasPi fehlen sowohl eine Echtzeituhr als auch ein BIOS, ein zeitgesteuertes Wecken erfordert also Zusatzkomponenten. Hier springt der Witty Pi Mini in die Bresche, ein µHAT von UUGear.

  • Windows to go

    Das Aufsetzen zuverlässiger und sicherer Remote-Desktop-Lösungen erfordert einiges Know-how. Die RasPi-basierte Pinbox von Pintexx reduziert den Konfigurationsaufwand auf ein Minimum.

  • Prima Klima

    In Museen ist es Pflicht, zu Hause nützlich: das permanente Prüfen und zentrale Erfassen der Feuchtigkeit und Temperatur in Räumen.

  • Auf einen Blick

    Ein maßgeschneiderter Infoscreen auf RasPi-Basis mit stromsparendem E-Ink-Display zeigt Termine, Bilder, Mitteilungen und Wetterinformationen an.

  • Sanft berührt

    Mit einem RasPi und dem Controllermodul PiXtend lassen sich mühelos Roboterarme ansteuern und deren Bewegung automatisieren.

  • Popcorn-Kino

    Mit Kodi 18.0 unterstützt LibreELEC 9.0 jetzt die von vielen Streaming-Diensten genutzte DRM-Verschlüsselung. Die Integration von Netflix, Amazon und Co. erfordert allerdings Handarbeit.

  • So nah und doch so fern

    Der RasPi kommt häufig als Server oder Steuerrechner für spezielle Zwecke zum Einsatz. Mit Anydesk erhalten Sie dazu eine Steuersoftware mit grafischer Oberfläche.