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.