Description of Rinex ser2net and Debian

This commit is contained in:
2024-06-13 21:27:09 +02:00
parent fcabeb3a8e
commit 6dbccec375
3 changed files with 67 additions and 12 deletions
+6
View File
@@ -87,10 +87,12 @@
"gesockelt", "gesockelt",
"GLONASS", "GLONASS",
"GPIO", "GPIO",
"Hopfield",
"hypersetup", "hypersetup",
"Ionosphärische", "Ionosphärische",
"ionosphärischen", "ionosphärischen",
"Kalibrierungsdaten", "Kalibrierungsdaten",
"Klobuchar",
"magnetoresistiv", "magnetoresistiv",
"Mehrdeutigkeitslösung", "Mehrdeutigkeitslösung",
"mintinline", "mintinline",
@@ -104,12 +106,16 @@
"Pulsweitenmodulation", "Pulsweitenmodulation",
"Reely", "Reely",
"Remotedesktop", "Remotedesktop",
"RINEX",
"Röhrig", "Röhrig",
"RTCM", "RTCM",
"Rucken", "Rucken",
"Rückwärtstransformation", "Rückwärtstransformation",
"Saastamoinen",
"SBAS",
"Sparkfun", "Sparkfun",
"SRAM", "SRAM",
"Strato",
"STRSVR", "STRSVR",
"struct", "struct",
"subsubsection", "subsubsection",
+41 -12
View File
@@ -130,7 +130,9 @@
Mit Messstationen werden im Sekunden Takt Rohdaten unterschiedlicher GNSS und die Entfernung zu den EGNOS-Satelliten gesammelt. Die gesammelten Daten werden von mehreren Mission Control Center (MMC) verarbeitet um daraus DGNSS-Nachrichten zu formulieren. Die Nachricht enthält unter anderem Korrekturen für die Satellitenuhren, Korrekturen der Umlaufbahnen und Werte zur Berechnung der ionosphärischen Einflüsse. Diese Nachricht wird dann die Satelliten weiter gegeben, welche diese dann wiederrum über das L1-Band senden und damit GNSS-Empfängern in Reichweite zur Verfügung stellen. Mit Anwendung der verschickten Korrekturdaten kann eine Positionsbestimmung mit \(1m\) Genauigkeit erzielt werden.\cite[vgl.][S. 393ff]{Bauer2018} Mit Messstationen werden im Sekunden Takt Rohdaten unterschiedlicher GNSS und die Entfernung zu den EGNOS-Satelliten gesammelt. Die gesammelten Daten werden von mehreren Mission Control Center (MMC) verarbeitet um daraus DGNSS-Nachrichten zu formulieren. Die Nachricht enthält unter anderem Korrekturen für die Satellitenuhren, Korrekturen der Umlaufbahnen und Werte zur Berechnung der ionosphärischen Einflüsse. Diese Nachricht wird dann die Satelliten weiter gegeben, welche diese dann wiederrum über das L1-Band senden und damit GNSS-Empfängern in Reichweite zur Verfügung stellen. Mit Anwendung der verschickten Korrekturdaten kann eine Positionsbestimmung mit \(1m\) Genauigkeit erzielt werden.\cite[vgl.][S. 393ff]{Bauer2018}
\subsection{RINEX} \subsection{RINEX}
s. 502 - Das ist doch das für Übertragung an PostProcessing in Canada? Das RINEX-Format ist aus der Notwendigkeit einer unabhängigen Möglichkeit des Datenaustausches zwischen GNSS-Modulen unterschiedlicher Hersteller entstanden. Das Format wurden nach seinen Anforderungen benannt und heißt daher ausgeschrieben \textbf{R}eceiver \textbf{IN}dependent \textbf{EX}change. Die erste Version des Formats wurde 1989 von Werner Gurtner veröffentlicht. Nach einigen weiteren Versionen, welche das Format unter anderem für weitere GNSS erweiterte, wird die Versionspflege inzwischen von der IGS und dem RTCM-SC104 übernommen.
\par
Das RINEX-Format bietet die Dateitypen für Beobachtungs- (*.obs), Navigations- (*.nav) und Meteorologischendaten (*.sbs) an. Für diese Arbeit werden für die Einmessung der Antenne lediglich die Beobachtungsdaten benötigt, welche mit einem Header für allgemeingültige Daten beginnt und danach unter anderem Daten zu den Messzeiten, Pseudostrecken, Trägerphasen, Signalrauschen und Dopplereffekt enthält. Die gesammelten Daten während der einmessung können dann durch eine PostProcessingService verarbeitet werden, dabei werden weitere Daten von Beobachtungsstationen verwendet um eine möglichst genaue Position der Antenne errechnen zu können.\cite[vgl.][S. 107ff]{Ogaja}
\subsection{RTCM} \subsection{RTCM}
RTCM ist ein Standard zur Echtzeitübertragung von Daten zwischen GNSS-Empfängern. Dieses Format wurde zunächst in 1985 von der namensgebenden Organisation \textbf{R}adio \textbf{T}echnical \textbf{C}ommission for \textbf{M}aritime Services veröffentlicht. Aktuell ist die Version 2.3 aus dem Jahr 2001 noch stark verbreitet, welche sich stark an den Nachrichtenstruktur von GPS orientiert. Mit jeder neuen Version wurden Möglichkeiten geschaffen um weitere Daten übertragen zu können. Um das in Abschnitt \ref{sssec:rtkDescription} beschrieben RTK anwenden zu können empfiehlt sich die Version 3 des Formats. Insbesondere die Version 3.2 und 3.3 eigenen sich besonders gut, da ab diesen Versionen auch die neueren GNSS mit einbezogen werden können und diese Versionen Raum für Erweiterungen lassen.\cite[vgl.][S. 249ff]{Bauer2018} RTCM ist ein Standard zur Echtzeitübertragung von Daten zwischen GNSS-Empfängern. Dieses Format wurde zunächst in 1985 von der namensgebenden Organisation \textbf{R}adio \textbf{T}echnical \textbf{C}ommission for \textbf{M}aritime Services veröffentlicht. Aktuell ist die Version 2.3 aus dem Jahr 2001 noch stark verbreitet, welche sich stark an den Nachrichtenstruktur von GPS orientiert. Mit jeder neuen Version wurden Möglichkeiten geschaffen um weitere Daten übertragen zu können. Um das in Abschnitt \ref{sssec:rtkDescription} beschrieben RTK anwenden zu können empfiehlt sich die Version 3 des Formats. Insbesondere die Version 3.2 und 3.3 eigenen sich besonders gut, da ab diesen Versionen auch die neueren GNSS mit einbezogen werden können und diese Versionen Raum für Erweiterungen lassen.\cite[vgl.][S. 249ff]{Bauer2018}
@@ -141,14 +143,13 @@
\centering \centering
\begin{tabular}{|l|l|} \begin{tabular}{|l|l|}
\hline \hline
\textbf{RTCM 3 Msg-Nr.} & \textbf{Inhalt} \\ \hline \textbf{RTCM 3 Msg-Nr.} & \textbf{Inhalt} \\ \hline
1005 & Koordinaten der Referenzstation \\ \hline 1005 & Koordinaten der Referenzstation \\ \hline
1006 & Koordinaten der Refernzstation und Antennenhöhe \\ \hline 1074 & GPS MSM4 \\ \hline
1074 & GPS MSM4 \\ \hline 1084 & GLONASS MSM4 \\ \hline
1084 & GLONASS MSM4 \\ \hline 1094 & Galileo MSM4 \\ \hline
1094 & Galileo MSM4 \\ \hline 1124 & BeiDou MSM4 \\ \hline
1124 & BeiDou MSM4 \\ \hline 1230 & GLONASS L1 und L2 Code-Phase Biases \\ \hline
1230 & GLONASS L1 und L2 Code-Phase Biases \\ \hline
\end{tabular} \end{tabular}
\caption{Auszug von Ethernet Übertragungsstandards nach IEEE 802.3} \caption{Auszug von Ethernet Übertragungsstandards nach IEEE 802.3}
\label{tab:rtcmMsg} \label{tab:rtcmMsg}
@@ -261,19 +262,47 @@ User-Agent: NTRIP ProductName/Version<CR><LF>
Ein PoE Extender wird dafür genutzt die Reichweite eines mit PoE versehenen Twisted-Pair-Kabel zu verlängern. Die Reichweite wird durch die begrenzte Segmentlänge des verwendeten Mediums beschränkt. Im Fall von Twisted-Pair-Kabeln beträgt diese \(100m\). Der Extender nutzt die über PoE verfügbare Energie zur Signalaufbereitung und gibt das Signal inklusive PoE wieder aus, dabei ist zu beachten, dass aufgrund der verbrauchten Energie das ausgangsseitige PoE um einen Typen verringert wird und somit weniger Leistung zur Verfügung stellt. Ein PoE Extender wird dafür genutzt die Reichweite eines mit PoE versehenen Twisted-Pair-Kabel zu verlängern. Die Reichweite wird durch die begrenzte Segmentlänge des verwendeten Mediums beschränkt. Im Fall von Twisted-Pair-Kabeln beträgt diese \(100m\). Der Extender nutzt die über PoE verfügbare Energie zur Signalaufbereitung und gibt das Signal inklusive PoE wieder aus, dabei ist zu beachten, dass aufgrund der verbrauchten Energie das ausgangsseitige PoE um einen Typen verringert wird und somit weniger Leistung zur Verfügung stellt.
\par \par
Speziellere Extender können zusätzlich als Switch fungieren. Diese Extender verfügen typischerweise über zwei Ethernet Ausgänge. Die verfügbare PoE Leistung wird dann auf diese beiden Ports aufgeteilt. !!!Datenblatt!!! Speziellere Extender können zusätzlich als Switch fungieren. Diese Extender verfügen typischerweise über zwei Ethernet Ausgänge. Die verfügbare PoE Leistung wird dann auf diese beiden Ports aufgeteilt. !!!Datenblatt!!!
\subsubsection{PoE Splitter} \subsubsection{PoE Splitter}
Der PoE Splitter trennt die Daten und den Strom vom Ethernetkabel. Diese Geräte haben typischerweise drei Anschlüsse, dabei ist der erste der PoE Eingang. Bei den anderen beiden handelt es sich um die Ausgänge für die Daten und den Strom. Bei dem Anschluss für die Daten ohne Strom handelt es sich normalerweise wieder um ein Ethernet anschluss mit einer RJ-45 Buchse. Der Strom wird über Anschlussklemmen oder einen Terminalblock ausgegeben. Die Ausgegebene Spannung hängt von dem gewählten Splitter ab, wird aber meistens von der höheren PoE Spannung (siehe Unterabschnitt \ref{sssec:PoE}) auf typische Spannungen von Netzteilen wie \(12V\) reduziert. !!!Datenblatt!!! Der PoE Splitter trennt die Daten und den Strom vom Ethernetkabel. Diese Geräte haben typischerweise drei Anschlüsse, dabei ist der erste der PoE Eingang. Bei den anderen beiden handelt es sich um die Ausgänge für die Daten und den Strom. Bei dem Anschluss für die Daten ohne Strom handelt es sich normalerweise wieder um ein Ethernet anschluss mit einer RJ-45 Buchse. Der Strom wird über Anschlussklemmen oder einen Terminalblock ausgegeben. Die Ausgegebene Spannung hängt von dem gewählten Splitter ab, wird aber meistens von der höheren PoE Spannung (siehe Unterabschnitt \ref{sssec:PoE}) auf typische Spannungen von Netzteilen wie \(12V\) reduziert. !!!Datenblatt!!!
\section{Software} \section{Software}
\subsection{Linux} Im folgenden wird die benötigte Software für diese Arbeit beschrieben. Dabei wird zunächst das Betriebssystem der Basisstation beschrieben, gefolgt von der verwendeten Software mit spezifischen Bezug auf die GNSS-Thematik.
\subsubsection{USBIP} \subsection{Debian}
\subsubsection{Systemd / Systemctl?} Als Betriebssystem wird das freie Debian ohne grafische Oberfläche verwendet. Debian ist eine GNU/Linux-Distribution, welche bereits seit 1993 entwickelt und weiterentwickelt wird und als Basis für viele weitere sehr erfolgreichen und bekannten Betriebssystemen wie Ubuntu verwendet wird. Daher kann Debian als ein stabiles und hartes Betriebssystem angesehen werden, welches auch in der Industrie für viele Server eingesetzt wird und bei Cloud-Services als Betriebssystem für virtuelle Maschinen angeboten wird.
\subsubsection{Systemd}
Systemd wird von dem Wiki Ubuntuusers\cite{systemd} als ein Teil des Betriebssystems, welcher für die Verwaltung und das Starten der Dienste des Systems zuständig ist, da alle Prozesse während des Bootvorgangs von Systemd gestartet werden erhält Systemd immer die Prozess-ID 1.
\par
Die Konfiguration erfolgt über eine Datei für jeden Service, in welcher unter anderem folgende Einstellungen getätigt werden können:
\begin{itemize}
\item eine Kurzbeschreibung des Service,
\item eine Bedingung für den Start,
\item die Art des Service,
\item das als Service auszuführende Programm
\item und den Betriebsmodus des Betriebssystems.
\end{itemize}
Durch dieses System wird es ermöglicht, dem Betriebssystem mit geringen Entwicklungsaufwand weitere Services hinzuzufügen, was in dieser Arbeit für Installation der Basissation von Vorteil ist.
\subsection{ser2net}
Die auf GitHub und über die Paketquellen von Debian veröffentliche Software ser2net\cite{ser2net} wird dem Betriebssystem bei Installation als Service hinzugefügt. Mit diesem Service können unter anderem verfügbare Geräte mit einem seriellen Interface dem Netzwerk über eine TCP-Verbindung zugänglich gemacht werden. Dafür müssen die zu veröffentlichen Interfaces inklusive der verwendeten Einstellungen wie die Baudrate in der Konfigurationsdatei unter dem Pfad \url{/etc/ser2net/ser2net.yaml} definiert werden.
\par
Dadurch ist es möglich das GNSS-Modul der Basisstation, der U-Blox Software (siehe Abschnitt \ref{sssec:u-blox}) auf einem im Netzwerk erreichbaren Computer mit Windows als Betriebssystem zur Verfügung zu stellen.
\subsection{com0com und com2tcp}
Diese beiden Programme bilden das Gegenstück zu ser2net auf einem Computer mit Windows als Betriebssystem. Dabei stellt das Programm den Treiber für virtuelle COM-Ports zur Verfügung und ermöglicht es mehrere dieser virtuellen Ports miteinander zu verbinden. Dies ist nötig, weil nur ein Programm zur Zeit auf einen COM-Port zugreifen kann. Durch die Brücke von zwei virtuellen COM-Ports kann ein Port von der U-Blox Software genutzt werden.
\par
Der andere Port wird von dem zweiten Programm (com2tcp) genutzt um die Verbindung zu ser2net herzustellen. Dafür muss die IP-Adresse des Servers und der Port auf dem das Interface veröffentlicht wird bekannt sein.
\subsection{GNSS} \subsection{GNSS}
\subsubsection{GNSS PostProcessing} \subsubsection{GNSS PostProcessing}
\subsubsection{RTKLib} \subsubsection{RTKLib}
\label{sssec:rtklib} \label{sssec:rtklib}
\subsubsection{U-Blox} \subsubsection{U-Blox}
\label{sssec:u-blox}
\subsection{RTK2go} \subsection{RTK2go}
\label{ssec:rtk2go} \label{ssec:rtk2go}
+20
View File
@@ -106,4 +106,24 @@
version = {1}, version = {1},
} }
@Online{systemd,
author = {Ubuntuusers},
date = {2024-05-26},
editor = {noisefloor},
title = {systemd},
url = {https://wiki.ubuntuusers.de/systemd/},
urldate = {2024-06-13},
}
@Software{ser2net,
author = {Corey Minyard},
date = {2024-04-24},
title = {ser2net},
language = {C},
type = {software},
url = {https://github.com/cminyard/ser2net},
urldate = {2024-06-13},
version = {4.6.2},
}
@Comment{jabref-meta: databaseType:biblatex;} @Comment{jabref-meta: databaseType:biblatex;}