De:Software logger: Unterschied zwischen den Versionen

Aus OpenSeaMap-dev
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „{{Vorlage:Water depth}} Jens hat einen Software-Logger für NMEA-0183-Daten gebaut. <br>Er läuft auf dem PC oder Laptop und sieht aus wie ein kleiner Kartenp…“)
 
K (OpenSeaMap Software-Logger: Linkfix)
 
(17 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Vorlage:Water depth}}
+
{|border="0" cellpadding="6" cellspacing="0" width="100%"
 +
!style="background:#E3E3E3;" | Sprachen:
 +
!style="background:#E3E3E3;" | Deutsch
 +
!style="background:#E3E3E3;" | [[Software_logger|English]]
 +
!style="background:#E3E3E3; width:100%;" |
 +
|}
  
Jens hat einen Software-Logger für NMEA-0183-Daten gebaut. <br>Er läuft auf dem PC oder Laptop und sieht aus wie ein kleiner Kartenplotter.
+
{{Vorlage:de:Water depth}}
  
[http://seesea.sourceforge.net/datalogger/index.html Die Beschreibung findest Du bei SourceForge.]
+
Es gibt mehrere Software-Logger, die auf dem Notebook laufen:
 +
__TOC__
  
[http://sourceforge.net/projects/seesea/files/DataLogger/Releases/ Runterladen kannst Du den Logger hier.]
+
== OpenSeaMap Software-Logger ==
 +
[[Datei:SW-DataLogger3.png|thumb|300px|Software-Logger]]
 +
Für '''NMEA-0183'''-Daten hat Jens einen Software-Logger gebaut.  
  
Der Logger kann:
+
Funktioniert wie ein Kartenplotter:
: NMEA-Daten aufzeichnen
+
* zeigt Schiffsposition auf Karte
: NMEA-Daten auf dem PC anzeigen
+
* zeigt Navigationsdaten (Kurs, Geschwindigkeit, Wind, Log, Tiefe, Position, etc)
: OpenSeaMap und die Schiffsposition auf dem PC anzeigen
+
* loggt NMEA-Daten
 +
Der Logger läuft auf Linux- und Windows-Plattformen, da er in Java geschrieben wurde.
 +
 
 +
: [http://seesea.sourceforge.net/datalogger/index.html Beschreibung des Loggers (englisch)]
 +
: [[h:De:Bordnetz|Anschluss des Loggers an das Bordnetz]]
 +
: [http://sourceforge.net/projects/seesea/files/DataLogger/Releases/ Runterladen kannst Du den Logger hier.]
 +
 
 +
<div style="clear:both;"></div>
 +
 
 +
== GPSD ==
 +
 
 +
Auf Linux-Plattformen, gibt es das  Programmpaket [http://catb.org/gpsd 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:
 +
 
 +
<pre>
 +
# 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"
 +
</pre>
 +
 
 +
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)
 +
 
 +
<pre>
 +
#!/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
 +
</pre>
 +
 
 +
== OpenCPN ==
 +
 
 +
Für die Chartplotter-Software [https://opencpn.org OpenCPN] gibt es diverse [https://opencpn.org/OpenCPN/plugins/vdr.html Plugins],
 +
darunter auch den [https://opencpn.org/OpenCPN/plugins/vdr.html NMEA-Logger] VDR (Voyage Data Recorder). Funktioniert mit Windows und Linux.

Aktuelle Version vom 18. Mai 2021, 07:00 Uhr

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.