De:Software logger: Unterschied zwischen den Versionen

Aus OpenSeaMap-dev
Wechseln zu:Navigation, Suche
K (GPSD: Formatierung)
(GPSD)
 
(12 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%;" |
 +
|}
  
== SeeSea ==
+
{{Vorlage:de: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 Kartenplotter.
+
Es gibt mehrere Software-Logger, die auf dem Notebook laufen:
 +
__TOC__
  
[http://seesea.sourceforge.net/datalogger/index.html Die Beschreibung findest Du bei SourceForge.]
+
== OpenSeaMap Software-Logger ==
 +
[[Datei:SW-DataLogger3.png|thumb|300px|Software-Logger]]
 +
Für '''NMEA-0183'''-Daten hat Jens einen Software-Logger gebaut.  
  
[http://sourceforge.net/projects/seesea/files/DataLogger/Releases/ Runterladen kannst Du den Logger hier.]
+
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.
  
Der Logger kann:
+
: [http://seesea.sourceforge.net/datalogger/index.html Beschreibung des Loggers (englisch)]
: NMEA-Daten aufzeichnen
+
: [[De:Bordnetz|Anschluss des Loggers an das Bordnetz]]
: NMEA-Daten auf dem PC anzeigen
+
: [http://sourceforge.net/projects/seesea/files/DataLogger/Releases/ Runterladen kannst Du den Logger hier.]
: OpenSeaMap und die Schiffsposition auf dem PC anzeigen
 
: auf Linux- und Windows-Plattformen laufen, da er in Java geschrieben wurde.
 
  
 +
<div style="clear:both;"></div>
  
 
== GPSD ==
 
== GPSD ==
  
Auf Linux-Plattformen gibt es das  Programmpaket [http://catb.org/gpsd gpsd].  
+
Auf Linux-Plattformen, gibt es das  Programmpaket [http://catb.org/gpsd gpsd].  
 
Es enthält neben dem Hintergrund-Prozess (Daemon) gpsd  
 
Es enthält neben dem Hintergrund-Prozess (Daemon) gpsd  
 
eine Sammlung nützlicher tools wie xgps, gpsfake und gpspipe.  
 
eine Sammlung nützlicher tools wie xgps, gpsfake und gpspipe.  
 
GPSD kann NMEA-Daten von mehreren USB-, seriellen oder Netzwerkschnittstellen  
 
GPSD kann NMEA-Daten von mehreren USB-, seriellen oder Netzwerkschnittstellen  
 
aufnehmen und lokal oder über das Netzwerk vielen Clients zur Verfügung stellen.  
 
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.  
+
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. unter Ubuntu 12.04 funktioniert.  
+
Die Folgenden Zeilen zeigen ein mögliches Szenario, was z.B. mit einem PC mit Ubuntu 16.04 oder
Hierzu startet man beispielsweise die folgenden Prozesse in einer Shell oder einem Skript:
+
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:
  
  gpsd -G /dev/ttyS0              # start the daemon reading the serial GPS interface. Option -G provides data also to other hosts.
+
<pre>
opencpn &                        # start Chartplotter opencpn. In settings, choose data source "Network LIBGPS"
+
  # these two lines is all you need to have a software logger on Linux
  gpspipe -tr >> my_nmea_data.log  # attach to gpsd and append NMEA data with time stamp to your logfile
+
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:
 
  # man kann weitere Clients starten, sogar auf einem anderen Rechner im Netzwerk:
 
  xgps localhost                  # graphically show satellite coverage
 
  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 ==
 
== OpenCPN ==
  
Für die Chartplotter-Software [http://opencpn.org OpenCPN] gibt es diverse [http://opencpn.org/ocpn/downloadplugins Plugins],  
+
Für die Chartplotter-Software [https://opencpn.org OpenCPN] gibt es diverse [https://opencpn.org/OpenCPN/plugins/vdr.html Plugins],  
darunter auch einen Logger mit der Bezeichnung VDR (Voyage Data Recorder).
+
darunter auch den [https://opencpn.org/OpenCPN/plugins/vdr.html NMEA-Logger] VDR (Voyage Data Recorder). Funktioniert mit Windows und Linux.

Aktuelle Version vom 25. März 2021, 09:23 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.