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
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.