Haben nun auch einen GPS-Empfänger (Datenblatt (pdf)) bekommen. Hier ein paar Highlights:
- Model: GY-GPS6MV2
- Power Supply Range: 3 V to 5 V
- Ceramic antenna
- EEPROM for saving the configuration data when powered off
- Backup battery
- LED signal indicator
- Antenna Size: 25 x 25 mm
- Module Size: 25 x 35 mm
- Default Baud Rate: 9600 bps
Klein und billig:
Wie kann der nun in Betrieb gehen? Wie in diesem Beitrag gut erklärt, die Serielle Schnittstelle aktivieren und den Empfänger einrichten.
Den GPS-Empfänger mit dem rPi Verbinden, für das P1 Modell sind nur 4 Verbindungen nötig:
1 2 3 4 |
VCC - 3,3V - PIN 1 (von oben links)(grau) RX - TXD0 - PIN 8 GPIO14 (lila) TX - RXDO - PIN 10 GPIO15 (grün) GND - Minus - PIN6 (3.von oben, rechts)(blau) |
Hier kann man die Anschlüsse und mein Gehäuse für den GPS-Empfänger gut erkennen:
Also kurz zusammengefasst:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
sudo apt-get update sudo apt-get upgrade # (nur Kali Linux) Verzeichnis für den Boot Bereich erstellen mkdir /fat32 # (nur Kali Linux) Verzeichnis mounten mount /dev/mmcblk0p1 /fat32/ # in Datei entfernen: console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 sudo nano /boot/cmdline.txt # und in Datei ergänzen oder die Datei neu anlegen mit diesem Inhalt: init_uart_baud=9600 sudo nano /boot/config.txt # (nur Kali Linux) Verzeichnis umount umount /fat32 # in Datei auskommentieren: # T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt1001 # T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 sudo nano /etc/inittab sudo reboot # (optional) zum checken ob Daten ankommen sudo apt-get -y install minicom stty -F /dev/ttyAMA0 9600 minicom -b 9600 -o -D /dev/ttyAMA0 # GPS Programme install sudo apt-get -y install gpsd gpsd-clients # Datei wie folgt ergänzen: /etc/default/gpsd # Default settings for gpsd. # Please do not edit this file directly - use `dpkg-reconfigure gpsd' to # change the options. #START_DAEMON="true" #GPSD_OPTIONS="-n -G" #DEVICES="/dev/ttyAMA0" #USBAUTO="false" #GPSD_SOCKET="/var/run/gpsd.sock" sudo nano /etc/default/gpsd # GPSD manuel starten /etc/init.d/gpsd start # Starten cgps #Usage: cgps [-h] [-V] [-l {d|m|s}] [server[:port:[device]]] # # -h Show this help, then exit # -V Show version, then exit # -s Be silent (don't print raw gpsd data) # -l {d|m|s} Select lat/lon format # d = DD.dddddd # m = DD MM.mmmm' # s = DD MM' SS.sss" # -m Display heading as the estimated magnetic heading # Valid only for USA (Lower 48 + AK) and Western Europe. cgps -s # oder: gpsmon [-?hVln] [-D debuglevel] [-t type] [server[:port:[device]]] gpsmon |
Die Ausgabe von cgps -s
Es können also leicht der Standort (Längen und Breitengrad), Geschwindigkeit, Höhe, anzahl der Sateliten usw. angezeigt werden (Fotos alle im Raum).
Nun wollen wir die Daten in eine Datei schreiben. Das geht mit gpspipe z.B. schreiben wir erst mal 10 Sätze in die Datei gps-data.txt.
1 |
gpspipe -r -n 10 -o gps-data.txt |
Liefert z.B. folgende Daten in der Datei (Beschreibung der Felder – siehe University of Nebraska Cooperative Extension EC 01-157F):
1 2 3 4 5 6 7 8 9 10 |
{"class":"VERSION","release":"3.6","rev":"3.6","proto_major":3,"proto_minor":7} {"class":"DEVICES","devices":[{"class":"DEVICE","path":"/dev/ttyAMA0","activated":"2015-02-05T18:53:09.576Z","flags":1,"driver":"Generic NMEA","native":1,"bps":9600,"parity":"N","stopbits":1,"cycle":1.00}]} {"class":"WATCH","enable":true,"json":false,"nmea":true,"raw":0,"scaled":false,"timing":false} $GPRMC,185310.00,A,5226.33701,N,00944.56788,E,0.203,,050215,,,A*74 $GPVTG,,T,,M,0.203,N,0.377,K,A*21 $GPGGA,185310.00,5226.33701,N,00944.56788,E,1,07,3.07,49.5,M,46.0,M,,*63 $GPGSA,A,3,22,13,25,18,12,15,24,,,,,,4.26,3.07,2.96*06 $GPGSV,3,1,12,01,06,015,,06,01,107,10,12,49,234,28,13,10,157,13*78 $GPGSV,3,2,12,14,12,319,,15,38,187,10,17,37,060,08,18,13,261,33*74 $GPGSV,3,3,12,22,15,296,18,24,80,287,22,25,11,239,25,28,05,058,*73 |
Nun noch mal die ganze Schaltung zum nachbauen:
Bald kann es also mit einem Accu losgehen…