De:Software logger

Aus OpenSeaMap-dev
Wechseln zu: Navigation, Suche
Sprachen: Deutsch English
Water depth
Depth-Website
Das Projekt
Mess-Strategie
NMEA-Daten hochladen
Metadaten Hilfe
NMEA-Logger anschliessen
Hardware Logger
Software-Logger
Mobiler Datenlogger
Bordnetz
Daten-Formate

Es gibt mehrere Software-Logger, die auf dem Notebook laufen:

OpenSeaMap Software-Logger

Software-Logger

Für NMEA-0183-Daten hat Jens einen Software-Logger gebaut.

Funktioniert wie ein Kartenplotter:

  • zeigt Schiffsposition auf Karte
  • zeigt Navigationsdaten (Kurs, Geschwindigkeit, Wind, Log, Tiefe, Position, etc)
  • loggt NMEA-Daten

Der Logger läuft auf Linux- und Windows-Plattformen, da er in Java geschrieben wurde.

Beschreibung des Loggers (englisch)
Anschluss des Loggers an das Bordnetz
Runterladen kannst Du den Logger hier.

GPSD

Auf Linux-Plattformen, gibt es das Programmpaket gpsd. Es enthält neben dem Hintergrund-Prozess (Daemon) gpsd eine Sammlung nützlicher tools wie xgps, gpsfake und gpspipe. GPSD kann NMEA-Daten von mehreren USB-, seriellen oder Netzwerkschnittstellen aufnehmen und lokal oder über das Netzwerk vielen Clients zur Verfügung stellen. Clients können dabei z.B. ein Chartplotter oder/und ein Datenlogger sein, die auch auf einem anderen Rechner im Netzwerk laufen können, z.B. auch auf einem Smartphone oder Tablet.

Die Folgenden Zeilen zeigen ein mögliches Szenario, was z.B. mit einem PC mit Ubuntu 16.04 oder einem Raspberry Pi mit Raspbian funktioniert. An diesen Computer muessen über die serielle(n) Schnittstelle(n) oder USB die GPS- bzw NMEA-183 Navigationsdaten des Bootes eingespeist werden. Dann startet man beispielsweise die folgenden Prozesse in einer Shell oder einem Skript:

 # these two lines is all you need to have a software logger on Linux
 sudo gpsd -G /dev/ttyUSB0        # start the daemon reading a USB GPS device. Option -G provides data also to other hosts.
 gpspipe -ur >> my_nmea_data.log  # attach to gpsd and append NMEA data with usec time stamps to your logfile

 # watch the log data
 tail -f my_nmea_data.log

 # man kann weitere Clients starten, sogar auf einem anderen Rechner im Netzwerk:
 xgps localhost                   # graphically show satellite coverage
 
 # optionally start chart plotter
 opencpn &                        # start Chartplotter opencpn. In settings -> connections -> add  choose data source "Network GPSD"

Der Benutzer, der gpsd startet, sollte der Gruppe 'dialout' angehören oder root sein. Falls gpsd automatisch gestartet wird, kann das device und die Option -G in der Datei /etc/default/gpsd konfiguriert werden.

Linux-Code von Andreas

(noch unkommentiert)

#!/bin/bash

gpserv=192.168.2.2
logdir=$HOME

#gpsd -G /dev/ttyUSB*

if [ "$1" = "-k" ] ; then
 killall xgps
 killall gpspipe
 exit
fi

# start logging
cd
xgps $gpserv &
pid=$!
cd $logdir

dd=`date +%F_%T | tr -d ':-'`
#pp=$HOME/src/gpsd
echo "start logging $dd"
gpxlogger $gpserv > $dd.gpx &
pid=$( echo $pid $!)
gpspipe -ur $gpserv > $dd.nmea &
pid=$( echo $pid $!)
gpspipe -uw $gpserv > $dd.json &
pid=$( echo $pid $!)
#foxtrotgps &

echo $pid

sleep 3
tail -f $logdir/$dd.nmea

OpenCPN

Für die Chartplotter-Software OpenCPN gibt es diverse Plugins, darunter auch den NMEA-Logger VDR (Voyage Data Recorder). Funktioniert mit Windows und Linux.