Raspberry Pi als mobiler GPS-Tracker

Eine beliebte Anwendungsm√∂glichkeit f√ľr den Raspberry Pi bietet sich in Kombination mit einem GPS-Empf√§nger. Mit einigen kleinen Scripts und Tools wird aus dem Raspberry ein vollwertiger GPS-Tracker, der den Positionsverlauf lokal abspeichert. Die Auswertung kann dann „offline“ nachtr√§glich erfolgen.

Benötigt werden:

  • Raspberry Pi
  • SD-Speicherkarte, mindestens 8 GB
  • WLAN (WiFi-Adapter) f√ľr die Programmierung des Raspberry Pi
  • GPS-USB-Empf√§nger, z.B.¬†Pharos GPS 360
  • USB-Speicherstick (optional)
  • Externe Stromversorgung f√ľr den Raspberry Pi (optional)

Raspbian installieren

Es gibt zahlreiche Tutorials und Anleitungen, wie man das Betriebssystem „Raspbian“ auf dem Raspberry Pi installiert.

Eine guter Ansatz, wenn man einen Apple-PC mit MacOS benutzt, ist das Tool ApplePi Baker. Die Installation ist um einiges schneller, als wenn man Raspbian direkt auf dem Raspberry Pi installiert.

Zun√§chst l√§dt man sich¬†Raspbian¬†auf dem Mac herunter und speichert es auf dem Desktop. Dann formatiert man die SD-Speicherkarte mit dem FAT32-Dateisystem. Hierf√ľr eignet sich¬†SDformatter.

Man w√§hlt die SD-Karte aus dem Men√ľ aus und klickt auf¬†Format. Anschlie√üend √∂ffnet man ApplePi Baker und w√§hlt die SD-Karte aus dem Men√ľ an der linken Seite aus. Dann klickt man auf Restore Backup und anschlie√üend w√§hlt man das heruntergeladene Betriebssystem-Image vom Desktop aus.

Jetzt muss nur noch die SD-Karte in den Raspberry Pi, und schon ist die Grundinstallation des Betriebssystems fertig.

Statische (feste) IP-Adresse einrichten

Der nächste Schritt ist nicht zwingend notwendig, aber wir empfehlen, dem Raspberry Pi eine statische IP-Adresse zuzuweisen, um ihn später einfacher im Netzwerk administrieren zu können. Der Zugriff ist dann deutlich einfacher, insbesondere, wenn kein Bildschirm direkt am Raspberry Pi angeschlossen ist.

Zunächst klickt man mit rechts auf das Netzwerk-Icon in der oberen rechten Ecke. Dort wählt man WiFi Networks (dhcpcdui) Settings aus.

Man muss das entsprechende Netzwerk-Interface, in diesem Fall wlan0, auswählen, und folgende Daten eingeben:

IP Address : 192.168.2.56

Router : 192.168.2.1

DNS Servers : 8.8.8.8

DNS Search : 8.8.4.4

Diese Daten variieren nat√ľrlich entsprechend dem lokal vorhandenen Netzwerk; ggf. m√ľssen die Daten angepasst werden.

VNC installieren

Wir empfehlen das Paket¬†TightVNC, um einen graphischen Fernzugriff auf den Raspberry Pi √ľber das VNC-Protokoll zu erm√∂glichen.

Hierzu öffnet man ein Terminal-Fenster und gibt folgenden Befehl ein:

sudo apt-get install tightvncserver

Ggf. muss die Ausf√ľhrung nochmal explizit best√§tigt werden.

Anschließend startet man TightVNC mit folgendem Befehl:

tightvncserver

Direkt nach dem Start wird man aufgefordert, ein Passwort zur Absicherung des Fernzugriffs zu vergeben.

Um TightVNC automatisch beim Bootvorgang des Raspberry Pi zu starten, ist ein Eintrag in /etc/init.d/ notwendig. Hierzu wechselt man im Terminal in den Ordner /etc/init.d/ und erstellt ein Script mit folgendem Inhalt:

#! /bin/sh
# /etc/init.d/vncboot

### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog 
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time # Description: Start VNC Server at boot time.
### END INIT INFO

USER=pi HOME=/home/pi

export USER HOME

case "$1" in start) echo "Starting VNC Server" #Insert your favoured settings for a VNC session su - $USER -c "/usr/bin/vncserver :1 -geometry 1280x800 -depth 16 -pixelformat rgb565" ;;

stop) echo "Stopping VNC Server" /usr/bin/vncserver -kill :1 ;;

*) echo "Usage: /etc/init.d/vncboot {start|stop}" exit 1 ;; esac

exit 0

 

Die Datei wird unter dem namen vncboot gespeichert und mit dem Befehl

chmod 755 vncboot

als ausf√ľhrbar markiert.

Nach einem Reboot des Raspberry Pi kann man den Login mit einem beliebigen VNC-Client versuchen. Wichtig ist, beim Zugriff √ľber die IP-Adresse im VNC-Client den ersten virtuellen Monitor des Raspberry Pi mit „:1“ hinter der IP-Adresse auszuw√§hlen.

Eine ausf√ľhrliche Beschreibung findet sich auch hier.

GPS einrichten

Daf√ľr gibt es hier¬†eine Anleitung.

Zuerst wird der USB-GPS-Empf√§nger am Raspberry Pi eingesteckt, danach pr√ľft man mit folgendem Befehl, ob der Stick vom System korrekt erkannt wurde:

sudo lsusb

Jetzt sollte der Eintrag Prolific Technologies (oder der jeweilige Hersteller des verwendeten USB-Sticks) angezeigt werden.

Jetzt wird der GPS-Dämon GPSD mittels nachfolgendem Befehl installiert:

sudo apt-get install gpsd gpsd-clients python-gps

Danach kann man versuchen, mittels

cgps -s

eine Standortangabe zu erhalten.

Falls das GPS einen Time-Out meldet, kann man folgenden Befehl versuchen:

sudo killall gpsd
sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock

Jetzt sollte man mittels

xgps

im Terminal aktuelle und g√ľltige GPS-Koordinaten sehen k√∂nnen. Das ist der erste gro√üe Schritt hin zum GPS-Tracker!

GPS-Tracker und Datenspeicherung

Als nächstes muss der Prozess zur Ermittlung der GPS-Koordinaten automatisiert werden, so dass der Raspberry Pi nach dem Einschalten automatisch den Standort erfasst und die GPS-Rohdaten bzw. Koordinaten auf dem USB-Speicherstick abspeichert.
Hierzu wird, wenn man die Daten auf einem externen Speicher ablegen möchte, zunächst der USB-Speicherstick am Raspberry Pi eingesteckt.

Dann gibt man

lsblk

im Terminal ein, um den Pfad zum USB-Stick zu finden. Wenn man den Pfad identifiziert hat, benötigt man nur noch ein Script das automatisch startet, wenn der Raspberry Pi gebootet wird.

Hierzu geht man in den pi Ordner :

$ cd ~

und erstellt und speichert dort eine neue Script-Datei:

$ sudo nano gpspipe

Dann kopiert man die folgenden Befehle in die Datei und speichert sie. Wichtig ist dabei, die Stelle ******* mit der Pfadangabe zum USB-Speicherstick zu ersetzen.

#!/bin/bash
gpspipe -r -o /media/pi/*******/rawgps.txt

Als nächstes öffnet man die Konfigurationsdatei .bashrc:

$ sudo nano .bashrc

In der Datei scrollt man bis ans Ende und ergänzt nachfolgende Zeile:

./gpspipe

Jetzt √§ndert man die Berechtigungen f√ľr das Script √ľber den Befehl:

sudo chmod 755 gpspipe

Ab sofort speichert der Raspberry Pi nach dem Bootvorgang automatisch die Rohdaten auf den USB-Stick und arbeitet somit als echter GPS-Tracker.

Ein Tutorial zu Startup-Scripts findet sich hier.

Daten visualisieren und anzeigen

Schlussendlich geht es darum, die aufgezeichneten Rohdaten des GPS-Tracker zu visualisieren und anzuzeigen. Wenn man erst einmal die abgespeicherten Rohdaten hat, kann man diese √ľber verschiedene Wege (es gibt hierzu zahlreiche Anleitungen im Internet) bei Google Maps darstellen.

Eine schnelle und einfache L√∂sung bietet hierf√ľr das Tool¬†GPS Visualizer.