Archived
132 lines
13 KiB
TeX
132 lines
13 KiB
TeX
|
|
\section{Basisstation}
|
|
\label{sec:Basisstation}
|
|
Für die Errichtung der Referenzstation stellte sich zunächst die Frage, wie das System aufgebaut werden soll. Dabei sind die bereits beschriebenen Anforderungen im Abschnitt \ref{sec:referenzstation_req} entstanden. Um das System den Anforderungen entsprechend erstellen zu können, wurde die Hardwareauswahl in dem vorangegangenen Kapitel \ref{cha:Hardwareauswahl} bereits beschrieben. Deshalb wird in diesem Abschnitt, die noch fehlende Installation und Konfiguration der Komponenten thematisiert. Weiterhin werden für die vollständige Montage Formteile benötigt, welche mit einem 3D-Drucker produziert werden sollen.
|
|
|
|
\subsection{Installation Betriebssystem}
|
|
Im ersten Schritt muss die Betriebsbereitschaft des Servers hergestellt werden. Dafür muss ein Betriebssystem installiert werden. Dazu soll das in Unterabschnitt \ref{ssec:debian} beschriebene Debian genutzt werden.
|
|
\par
|
|
Da der Server über übliche Anschlüsse für einen Monitor verfügt, kann die Installation über den Installationsassistenten mittels Tastatur und Bildschirm durchgeführt werden. Dafür wurde die iso-Datei von Debian so auf einen USB-Stick geschrieben, dass dieser bootfähig ist. Während der Installation wurden die meisten Einstellungen bei ihrem Standard belassen.
|
|
\par
|
|
Nach der erfolgreichen Installation des Betriebssystems wurde sich zunächst als root-Benutzer angemeldet, um die ersten grundlegenden Einstellungen zu tätigen.
|
|
|
|
\subsubsection{Netzwerk}
|
|
Nach der Installation bezieht der Server seine Netzwerkkonfiguration über einen DHCP-Server. Für eine feste Installation eines Servers ist die manuelle Konfiguration der Netzwerkschnittstelle dringend empfohlen, damit die IP-Adresse zu jeder Zeit persistent und bekannt ist. Dafür müssen zwei Dateien editiert werden und der Name des Netzwerkinterfaces muss bekannt sein.
|
|
Die erste Datei mit dem Pfad \url{/etc/network/interfaces} enthält die Konfigurationen aller auf dem System verfügbaren Interfaces. Da der Server lediglich über ein Interface verfügt, kann in der Datei auch der Name des Interfaces abgelesen werden.
|
|
\par
|
|
Die zweite Datei ist unter dem Pfad \url{/etc/resolv.conf} zu finden und definiert die zu benutzenden DNS-Server. Dabei wird in jeder Zeile nach dem folgenden Muster ein Nameserver angegeben: \flqq nameserver xxx.xxx.xxx.xxx\frqq. In dem Netz der FH-Dortmund lauten die IP-Adressen der Nameserver \mintinline{text}|172.22.1.10| und \mintinline{text}|172.22.1.20|.
|
|
\par
|
|
Die Netzwerkkonfiguration wurde durch einen Mitarbeiter im Hardwarelabor der FH-Dortmund festgelegt und im System eingepflegt. Wenn die Bearbeitung der Datei abgeschlossen ist, muss das Netzwerkinterface neu gestartet werden. Dies kann mit dem Befehl \mintinline{bash}|ifdown <interface>| gefolgt von \mintinline{bash}|ifup <interface>| oder einem Neustart des Computers erfolgen.
|
|
|
|
\subsubsection{Sudo}
|
|
Sudo ist ein Programm aus den Paketquellen von Debian, dass es anderen Nutzern erlauben kann, Befehle mit root-Rechten auszuführen. Diese Vorgehensweise empfiehlt sich, damit nicht alle Befehle automatisch mit root-Rechten ausgeführt und das vollständige System über ein normales Benutzerkonto gesteuert werden kann. Das Paket kann mit dem Paketverwaltungstool \mintinline{bash}|apt-get| installiert werden. Davor sollten die Paketquellen jedoch aktualisiert und möglich Paketupdates installiert werden. Um die Aktualisierung und die Installation auszuführen, müssen diese Befehle ausgeführt werden:
|
|
|
|
\begin{minted}[linenos, gobble=5]{bash}
|
|
apt-get update
|
|
apt-get upgrade
|
|
apt-get install sudo
|
|
\end{minted}
|
|
|
|
Im Anschluss müssen die Benutzer, welche neben dem root-Benutzer ebenfalls Befehle mit erweiterten Rechten ausführen können sollen, in die Benutzergruppe \mintinline{text}|sudo| hinzugefügt werden. Für den bei der Installation automatisch erstellen Benutzer \mintinline{text}|rtk| sieht der Befehl wie folgt aus: \mintinline{bash}|usermod -aG sudo rtk|.
|
|
Danach wird der root-Benutzer abgemeldet und nur noch der rtk-Benutzer verwendet. Befehle können nun mit einem vorangestellten \mintinline{bash}|sudo| als Administrator ausgeführt werden.
|
|
|
|
\subsubsection{SSH-Server}
|
|
Der SSH-Server wird ebenfalls über die Paketquellen installiert, der Paketname entspricht der Überschrift dieses Abschnitts. Mit einem SSH-Server wird die Verwaltung des Systems über das Netzwerk ermöglicht und damit der Zugriff auf das Terminal erheblich zu vereinfacht. Der Server kann mit den Standardeinstellungen betrieben werden, für eine erhöhte Sicherheit wird jedoch der Log-in mit dem root-Benutzer verboten. Dafür wird in der Konfigurationsdatei (\url{/etc/ssh/sshd_config}) die Zeile \mintinline{text}|PermitRootLogin no| ergänzt und der SSH-Server anschließend mit \mintinline{bash}|sudo service sshd restart| neu gestartet.
|
|
\par
|
|
Ab diesem Zeitpunkt der Installation kann der Server ohne Monitor und Tastatur betrieben werden. Es ist nur noch eine die Netzwerkverbindung und die Stromversorgung notwendig. Für den Log-in wird ein SSH-Client, die Zugangsdaten und die Adresse des Servers benötigt.
|
|
|
|
\subsection{ser2net vorbereiten}
|
|
Die Konfiguration der GNSS-Module von u-blox lässt sich am einfachsten mit dem u-center (siehe Abschnitt \ref{sssec:u-blox}) erledigen. Da das u-center ausschließlich unter Windows verfügbar und ein Programm mit grafischer Oberfläche ist, kann es nicht auf dem Server ausgeführt werden. Allerdings ist es nicht praktikabel, das GNSS-Modul aus dem System der Referenzstation zu entfernen, um es an einem anderen Computer zu konfigurieren. Deshalb bietet sich die Installation von ser2net an, damit die Verbindung zwischen dem u-center und dem GNSS-Modul über eine Netzwerkverbindung aufgebaut werden kann.
|
|
\par
|
|
Die Installation erfolgt über die Paketquellen mit \mintinline{bash}|sudo apt-get install ser2net|. Das Programm wird dem Betriebssystem als Service hinzugefügt und läuft damit ständig. Da die Verbindung nur zur Verfügung stehen soll, wenn diese auch benötigt wird, kann der automatische Start des Service beim Bootvorgang mit dem Befehl
|
|
|
|
\begin{minted}[linenos, gobble=4]{bash}
|
|
sudo systemctl disable ser2net
|
|
\end{minted}
|
|
|
|
deaktiviert werden. Die nächsten beiden Befehle sind zum Starten und Stoppen des Services. Nach der Deaktivierung läuft der Service weiter, bis der Computer neu gestartet oder der Service mit dem ersten Befehl gestoppt wird.
|
|
|
|
\begin{minted}[linenos, gobble=4]{bash}
|
|
sudo systemctl stop ser2net
|
|
sudo systemctl start ser2net
|
|
\end{minted}
|
|
|
|
Um ein serielles Interface über ser2net im Netzwerk freizugeben, muss dieses in der Konfigurationsdatei (\url{/etc/ser2net.yaml}) deklariert werden. Dafür muss der Gerätepfad des GNSS-Moduls bekannt sein. Dieser kann herausgefunden werden, indem das Modul an einen USB-Port angesteckt und in dem Verzeichnis \url{/dev} nach einer neuen Datei geschaut wird, welche mit \mintinline{text}|tty| beginnt. In der Konfigurationsdatei wird der folgende Yaml-Block ergänzt:
|
|
|
|
\begin{minted}[linenos, gobble=4, tabsize=4]{yaml}
|
|
connection: &ZEDF9P
|
|
accepter: tcp,1234
|
|
enable: on
|
|
connector: serialdev,/dev/ttyUSB0,38400n81,local
|
|
\end{minted}
|
|
|
|
Sollte der Service zum Zeitpunkt der Konfiguration aktiv gewesen sein, muss es mit dem genannten Befehl gestoppt und kann anschließend je nach Bedarf aktiviert werden. Sobald der Service aus Abschnitt \ref{ssec:pushService} aktiv ist, muss dieser gestoppt werden, bevor eine Verbindung zu ser2net aufgebaut wird. Wenn dies nicht geschieht, ist es nicht vorhersehbar, an welchen Service die ankommenden Daten des GNSS-Moduls geleitet werden.
|
|
|
|
\subsection{RTKLib installieren}
|
|
Die in den Grundlagen unter \ref{sssec:rtklib} beschriebene RTKLib ist nicht über die Paketquellen verfügbar und muss deshalb auf dem Server kompiliert werden. Um das Projekt von GitHub klonen zu können, muss Git installiert werden. Außerdem wird als Abhängigkeit die Bibliothek \mintinline[]{text}|libpng-dev| benötigt. Der Compiler inklusive weiterer benötigter Tools wie \mintinline[]{text}|make| ist in dem Paket \mintinline[]{text}|build-essential| enthalten. Für die vollständige Installation wird die folgende Befehlsfolge in dem Home-Verzeichnis des rtk-Benutzers benötigt:
|
|
|
|
\begin{minted}[linenos, gobble=4]{bash}
|
|
sudo apt-get update
|
|
sudo apt-get install git
|
|
sudo apt-get install libpng-dev
|
|
sudo apt-get install build-essential
|
|
|
|
git clone https://github.com/rtklibexplorer/RTKLIB.git
|
|
cd RTKLIB/app/consapp/
|
|
make
|
|
make install
|
|
\end{minted}
|
|
|
|
\subsection{Dachinstallation}
|
|
Die Installation auf dem Dach wurde in ihren groben Zügen bei der in der Einleitung des Kapitels \ref{cha:Hardwareauswahl} beschriebenen Begehung des Installationsortes geplant. Von diesem Plan wurde die in dem Kapitel folgende Hardwareauswahl abgeleitet. Im ersten Schritt sollen nun alle Vorbereitungen getroffen werden, welche von dem Installationsort unabhängig sind. Im Anschluss wird die eigentliche Montage auf dem Dach vorgenommen.
|
|
|
|
\subsubsection{Befestigungen}
|
|
Die anzubringenden Komponenten benötigen Halterungen und Befestigungspunkte. Diese werden im Folgenden beschrieben:
|
|
|
|
\begin{itemize}
|
|
\item die \textbf{Antenne} soll am Ende des C-Profils, welches zur Verlängerung des Pfostens dient, befestigt werden. Dafür wurde ein Formteil konstruiert (siehe Abbildung \ref{fig:antenneHalterung}). Im Wesentlichen besteht dieses Teil aus einem Quader, welcher in das C-Profil eingeführt werden kann. Der Quader verfügt über eine Bohrung, damit dieser mittels einer Schrauben-Mutter-Kombination am C-Profil fixiert werden kann. Am oberen Ende befindet sich ein Gewinde, auf welches die Antenne aufgeschraubt werden kann,
|
|
|
|
\item der \textbf{Installationskasten} soll unterhalb des vorhandenen Kastens am Pfosten angebracht werden. Als Maße stehen der gemessene Durchmesser des Pfostens (\(90mm\)) und der aus dem Datenblatt \cite[]{kasten} verfügbare Lochabstand der Befestigungslöcher des Kastens. Mit diesen Werten konnte eine Halterung konstruiert werden, welche aus zwei Halbschalen besteht. Eine Halbschale verfügt über abstehende Arme mit vorhandenen Löchern für M4-Schrauben, an denen der Kasten befestigt werden kann. Die M4-Schrauben können von hinten mit der passenden Mutter gesichert werden. In die gleiche Halbschale können passgenau M8-Muttern eingelegt werden. Die andere Halbschale verfügt über die Löcher und Vertiefungen, um diese mit zwei M8-Schrauben an der anderen Halbschale befestigen zu können. Die Halterungen wurden für den oberen und den unteren Teil des Kastens jeweils einmal gedruckt. Eine Halterung ist in Abbildung \ref{fig:halbschalen} zu sehen,
|
|
|
|
\item für den \textbf{Server} wird eine Halterung benötigt, damit dieser an der Hutschiene im Installationskasten befestigt werden kann. Es bot sich an, die mitgelieferten Winkel und Schrauben des Computers in die Konstruktion einzubeziehen. Die Winkel sind für die Wandmontage gedacht und werden nach Herstellervorgaben auf der Rückseite des Computers befestigt, sodass nach der Montage der Winkel Befestigungspunkte neben dem Computer benutzbar sind. Die Winkel haben einen Versatz, der den Computer theoretisch etwas von der Wand hervorstehen lassen würde. Um die Befestigung an der Hutschiene zu ermöglichen, wurden die Winkel um \(180^\circ\) verdreht. Dadurch entsteht auf der Rückseite des Computers ein breites Trapez mit geringer Höhe. Diese Form wurde als Grundplatte für den Adapter genutzt. Auf dieser Grundplatte befinden sich neben der Aufnahme für die Hutschiene herausstehende Kegel, welche genutzt werden, um den Adapter mittels der am Winkel vorgesehenen Löcher zur Wandmontage zu fixieren, (siehe Abbildung \ref{fig:pcHalter})
|
|
|
|
\item die letzte Konstruktion soll das \textbf{GNSS-Modul} ebenfalls an der Hutschiene fixieren. Das Formteil ist ein etwas in die Länge gezogene Quader. An einem Ende befindet sich der Mechanismus für die Hutschiene. Für das Modul ist eine Vertiefung mit Aussparungen für die Anschlüsse eingefügt worden. Das Modul wird durch das Einschieben einer Deckplatte gesichert. Das Formteil wird in Abbildung \ref{fig:gnssHalter} gezeigt.
|
|
\end{itemize}
|
|
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\begin{minipage}[b]{0.40\textwidth}
|
|
\centering
|
|
\includegraphics[width=\textwidth]{img/antenneHalterung.png}
|
|
\caption{Formteil für die Befestigung der Antenne}
|
|
\label{fig:antenneHalterung}
|
|
\end{minipage}
|
|
\hfill
|
|
\begin{minipage}[b]{0.40\textwidth}
|
|
\centering
|
|
\includegraphics[width=\textwidth]{img/halbschalen.png}
|
|
\caption{Halterung für den Installationskasten am Mast}
|
|
\label{fig:halbschalen}
|
|
\end{minipage}
|
|
\end{figure}
|
|
|
|
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\begin{minipage}[b]{0.40\textwidth}
|
|
\centering
|
|
\includegraphics[width=\textwidth]{img/pcHalter.png}
|
|
\caption{Montageplatte für den Server auf einer Hutschiene}
|
|
\label{fig:pcHalter}
|
|
\end{minipage}
|
|
\hfill
|
|
\begin{minipage}[b]{0.40\textwidth}
|
|
\centering
|
|
\includegraphics[width=\textwidth]{img/gnssHalter.png}
|
|
\caption{Gehäuse für das GNSS-Modul zur Befestigung auf einer Hutschiene}
|
|
\label{fig:gnssHalter}
|
|
\end{minipage}
|
|
\centering
|
|
\end{figure}
|