\subsubsection{Installationskasten bestücken} Der Installationskasten kann weitgehend vorbereitet werden. Dafür wurden zunächst ein Loch an der unteren Seite gebohrt, welches groß genug ist, um einen RJ45-Stecker durchzuführen. Weiterhin wurde die Hutschiene außer mittig positioniert, damit im unteren Raum mehr Platz für Kabel bleibt. Danach wurden die beiden Halbschalen an der Rückseite des Kastens befestigt, weil die Löcher für die Befestigungen durch die Komponenten teilweise verdeckt werden. Anschließend konnten die Komponenten an der Hutschiene befestigt werden. Die Komponenten wurden rechtsbündig verbaut. Dabei wurde der PoE-Splitter links neben dem Server und das GNSS-Modul rechts neben dem Server eingehackt. Diese beiden Komponenten auf je einer Seite des Computers zu befestigen, vereinfacht die Kabelführung. Der PoE-Splitter befindet sich auf der linken Seite, weil dieser die beste Klemmwirkung an der Hutschiene aufweist und so das Verrücken der anderen Komponenten verhindert. \par Um den Computer über den PoE-Splitter mit Strom zu versorgen, wurde ein Kabel mit einem Hohlbuchsenstecker konfektioniert. Das andere Ende des Kabels wurde verzinnt und an dem Blockterminal des Splitters angebracht. Das Netzwerkkabel von dem PoE-Splitter zu dem Server konnte ebenfalls schon eingesetzt werden. Mit einem USB-C auf USB-A Kabel wurde die Verbindung zwischen dem GNSS-Modul und dem Server hergestellt. Das Antennenkabel wurde durch das gebohrte Loch geführt und an dem GNSS-Modul angeschraubt. Der vorbereitete Installationskasten wird in Abbildung \ref{fig:vorbereitetKasten} dargestellt. \par Als weitere Vorbereitung wurden weitere benötigte Netzwerkkabel bereitgelegt und Adapter für die Antennenmontage wurde an dem C-Profil befestigt. \begin{figure}[ht] \centering \includegraphics[width=0.5\linewidth]{img/installationskasten.png} \caption{Der für die Montage vorbereitete Installationskasten} \label{fig:vorbereitetKasten} \end{figure} \subsubsection{Montage} Die Montage begann mit der Befestigung des Installationskastens. Dafür wurde in je eine Halbschale ein griffiges Klebeband eingebracht, um den Halt zu verbessern. Der Kasten wurde an den Pfosten gehalten und durch die dazugehörigen Halbschalen fixiert. Daraufhin wurde die Antenne an dem C-Profil befestigt und das Antennenkabel angeschlossenen. Das C-Profil wurde an den bei der Begehung besprochen Befestigungspunkten angebracht. Das Antennenkabel wurde mit Kabelbindern an dem C-Profil befestigt. \par Als Nächstes musste der PoE-Extender in den vorhandenen Anschlusskasten eingebracht werden. Dieser wurde ebenfalls an der Hutschiene befestigt. Das von dem LoRaWAN-Gateway kommende Ethernetkabel wurde aus der Hutschienen-RJ45-Buchse entnommen und in mit dem ersten Ausgang des Extenders verbunden. Der Eingang wurde mit dem nun freien Port an der Hutschiene verbunden. Danach wurde kontrolliert, ob das vorhandene System wieder einsatzbereit ist. Für die letzte herzustellende Verbindung zwischen dem PoE-Extender und dem PoE-Splitter, musste das Loch in dem vorhandenen Installationskasten etwas aufgebohrt werden. Danach konnte das Kabel verlegt werden, wobei die überschüssige Länge des Kabels im neuen Installationskasten aufgewickelt wurde. Die Abbildung \ref{fig:poeextenderkasten} zeigt den verbauten Extender im Installationskasten. Durch die Betriebs-LED des Servers und den LEDs des Netzwerkinterfaces konnte schon während der Installation festgestellt werden, dass der Server mit Strom versorgt wird und einen Link aufbauen konnten. \begin{figure}[ht] \centering \includegraphics[width=0.5\linewidth]{img/extenderkasten.png} \caption{Vorhandener Installationskasten mit eingebrachtem PoE-Extender} \label{fig:poeextenderkasten} \end{figure} \subsection{Antennenposition bestimmen} Die jetzt folgenden Schritte wurde alle von einem Remote-Arbeitsplatz durchgeführt. \par Damit die Antennenposition bestimmt werden kann, sind im grundlegenden drei Schritte notwendig: \setlist{noitemsep} \begin{enumerate} \item Rohdaten des GNSS-Moduls aufzeichnen, \item die Rohdaten in das RINEX-Format konvertieren \item und die Daten von einem PostProcessing Dienst auswerten lassen. \end{enumerate} \setlist{} Damit die Rohdaten aufgezeichnet werden können, muss das Modul so konfiguriert werden, dass es diese ausgibt. Dafür wird das u-center und die Verbindung über ser2net genutzt. Die dafür benötigte Installation unter Windows, sowie die grundlegende Nutzung vom u-center wird im Anhang \ref{cha:winAndUcenter} beschrieben. Im u-center muss der Nachrichtentyp RAWX für die USB-Schnittstelle aktiviert werden. Ob die benötigten Daten gesendet werden, kann in Packet-View vom u-center kontrolliert werden. \par Die Aufzeichnung der Daten übernimmt der Kommunikations-Server der RTKLib. Das Programm heißt in der Kommandozeilenversion \mintinline[]{text}|STR2STR| und kann einen Dateneingang auf mehrere Datenausgänge übertragen. In diesem Fall werden die Daten des GNSS-Moduls in eine Datei geschrieben. Die meisten PostProcessing Dienste verarbeiten bis zu 24 Stunden Aufzeichnungslänge. Deshalb wird für die höchste Genauigkeit genau diese Dauer für die Einmessung verwendet. Die Länge der Aufzeichnung wird über den \mintinline[]{bash}|timeout| Befehl gesteuert. Damit die Aufzeichnung nicht als Kind-Prozess der Remote-Sitzung läuft, wird das Hilfsprogramm \mintinline[]{bash}|screen| installiert, da ansonsten ein Abbruch der Verbindung auch die Aufzeichnung frühzeitig beenden würde. Aus dieser Beschreibung ergibt sich diese Befehlsfolge: \begin{minted}[linenos, gobble=4, breaklines]{bash} sudo apt-get update sudo apt-get install screen screen cd ~ timeout 24h ./RTKLIB/app/consapp/str2str/gcc/str2str -in serial://ttyACM0:9600:8:n:1:off -out observation.ubx \end{minted} Die screen-Sitzung kann mit der Tastenkombinationen \keys{\ctrl + A} gefolgt von \keys{D} verlassen werden. \par Sobald die Aufzeichnung beendet ist, müssen die Daten in das allgemeingültige RINEX-Format umgewandelt werden. Dafür bietet die RTKLib einen RINEX Konverter an. Zur Benutzung im Terminal muss das Programm \mintinline[]{bash}|convbin| aufgerufen werden. Die Konvertierung erfolgt mit: \begin{minted}[linenos, gobble=4, breaklines]{bash} cd ~ ./RTKLIB/app/consapp/convbin/gcc/convbin -od -os -oi -ot -ti 30 observation.ubx \end{minted} Für die Erklärung der verwendeten Optionen folgt ein Ausschnitt aus dem Manual der RTKLib \cite[97]{rtklibMan}: \setlist{noitemsep} \begin{itemize}[label=-] \item od include doppler frequency in rinex obs \item os include snr in rinex obs \item oi include iono correction in rinex nav header \item ot include time correction in rinex nav header \item ti tint observation data interval (s) \end{itemize} \setlist{} Die umgewandelte Datei muss anschließend an einen PostProcessing Dienst übermittelt werden, der gewählte Dienst erhält die Daten über ein Formular im Browser, deshalb ist die einfachste Variante die Datei \url{ubservation.obs} auf einen Rechner mit einer Desktopumgebung zu kopieren. Dafür wurde die Datei mit dem Programm \mintinline[]{bash}|scp| über SSH kopiert. \par Nach einigen Stunden wird die Auswertung per E-Mail versandt. In dem erhaltenen Archiv befinden sich eine PDF (siehe Anhang \ref{cha:auswerungObservation}) in der die Auswertung grafisch veranschaulicht wird und neben anderen Dateien die Datei \url{observation.sum}. In dieser wird ab Zeile 69 die Position der Antenne im Erdkoordinatensystem angegeben. Zusätzlich werden geschätzt Genauigkeiten angegeben, diese liegen je nach Achse zwischen \(1,8mm\) und \(5,2mm\). \par Die Koordinaten für X, Y und Z müssen nun über das u-center in das GNSS-Modul programmiert werden. Dafür muss in der Konfigurationsansicht der TMODE ausgewählt werden. In den Einstellungen des TMODE muss der Modus auf \texttt{fixed} eingestellt werden, danach können die Koordinaten im gleichen Fenster eingetragen werden. Damit das Modul auch die Korrekturdaten ausgibt, kann in das Fenster zur Konfiguration der Nachrichten gewechselt werden. Dort sollten die Nachrichten für die Rohdaten wieder entfernt werden, um das Datenaufkommen zu reduzieren. Danach können die RTCM3 Nachrichten mit den Nummern 1005, 1074, 1084, 1094, 1124 und 1230 aktiviert werden. Ob die Konfiguration erfolgreich war, kann wieder im Packet-View Fenster kontrolliert werden. Diese finale Konfiguration des Moduls sollte in den Flash des Moduls geschrieben werden, damit auch über einen Neustart hinweg verfügbar zu sein. Dafür kann in der Menüleiste der Punkt \texttt{Save Config} ausgewählt werden. \subsection{Service einrichten} \label{ssec:pushService} Die von dem GNSS-Modul generierten Korrekturdaten müssen kontinuierlich an den Ntrip-Caster weitergeleitet werden. Dafür wird der bereits zuvor genutzte Kommunikations-Server der RTKLib verwendet. Als Ausgang wird anstelle der Datei nun der Ntrip-Caster angegeben. \par Damit die Ausgabe automatisch protokolliert wird und der Kommunikations-Server auch nach einem Neustart des Servers automatisch startet, wird dem Betriebssystem ein Service hinzugefügt. Dafür muss eine Datei mit root-Rechten und der Endung \texttt{.service}, welche den Service definiert, unter dem Pfad \url{/etc/systemd/system} erstellt werden. Der Inhalt der erstellten Datei \texttt{rtk.service} sieht wie folgt aus: \begin{minted}[linenos, gobble=4, breaklines]{bash} [Unit] Description=Push RTCM correction data from serial to caster After=network-online.target [Service] Type=simple ExecStart=/home/rtk/pushRtcm2Caster.sh [Install] WantedBy=multi-user.target \end{minted} Das auszuführende Skript enthält zum aktuellen Zeitpunkt lediglich den Aufruf des Kommunikationsservers mit den benötigten Parametern. \begin{minted}[linenos, gobble=4, breaklines]{bash} #!/bin/bash /home/rtk/RTKLIB/app/consapp/str2str/gcc/str2str -in serial://ttyACM0:9600:8:n:1:off -out ntrips://:password@rtk2go.com:2101/GER-Dortmund \end{minted} Anschließend muss der Service aktiviert und gestartet werden. \begin{minted}[linenos, gobble=4, breaklines]{bash} sudo systemctl activate rtk sudo systemctl start rtk \end{minted} In den Logs kann die übermittelte Datenmenge oder auftretende Fehler betrachtet werden. Wenn der Caster die Daten akzeptiert, erscheint der zuvor bei rtk2go registrierte Mount Point \texttt{GER-Dortmund} in der Mount Point Tabelle unter \url{rtk2go.com:2101}