add thesis contents
This commit is contained in:
parent
b8edaf2e4e
commit
e43dc698e8
|
@ -6,7 +6,9 @@
|
||||||
*.blg
|
*.blg
|
||||||
*.toc
|
*.toc
|
||||||
*.tdo
|
*.tdo
|
||||||
latex/auto/
|
*/auto/
|
||||||
|
*.el
|
||||||
*.zip
|
*.zip
|
||||||
*.pdf
|
*.pdf
|
||||||
!latex/*.pdf
|
!expose/*.pdf
|
||||||
|
!paper/*.pdf
|
Binary file not shown.
After Width: | Height: | Size: 68 KiB |
|
@ -30,11 +30,12 @@ numbers=noenddot,
|
||||||
\pagestyle{headings} % lebender Kolumnentitel
|
\pagestyle{headings} % lebender Kolumnentitel
|
||||||
|
|
||||||
%% Deutsche Anpassungen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%% Deutsche Anpassungen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\usepackage[ngerman]{babel}
|
\usepackage[english]{babel}
|
||||||
|
% \usepackage[ngerman]{babel}
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1]{fontenc}
|
||||||
\usepackage[utf8]{inputenc}
|
\usepackage[utf8]{inputenc}
|
||||||
\usepackage[section]{placeins} %bessere Kontrolle über Grafiken
|
\usepackage[section]{placeins} %bessere Kontrolle über Grafiken
|
||||||
\usepackage{lmodern} %Type1-Schriftart für nicht-englische Texte
|
% \usepackage{lmodern} %Type1-Schriftart für nicht-englische Texte
|
||||||
\usepackage{url}
|
\usepackage{url}
|
||||||
\usepackage{textcomp}
|
\usepackage{textcomp}
|
||||||
\usepackage{paralist}
|
\usepackage{paralist}
|
||||||
|
@ -210,14 +211,14 @@ numbers=noenddot,
|
||||||
%% Erzeugung von Verzeichnissen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%% Erzeugung von Verzeichnissen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\pagenumbering{Roman}
|
\pagenumbering{Roman}
|
||||||
|
|
||||||
\section*{Autorenreferat}
|
\section*{Abstract}
|
||||||
\label{sec:abstract}
|
\label{sec:abstract}
|
||||||
\input{sections/abstract}
|
% \input{sections/abstract}
|
||||||
|
|
||||||
%\include{danksagung}
|
%\include{acknowlegements}
|
||||||
|
|
||||||
\newpage
|
% \newpage
|
||||||
\tableofcontents % Inhaltsverzeichnis
|
\tableofcontents % Table of Contents
|
||||||
%\addcontentsline{toc}{section}{\listfigurename}
|
%\addcontentsline{toc}{section}{\listfigurename}
|
||||||
\newpage
|
\newpage
|
||||||
\listoftodos[TODOs]
|
\listoftodos[TODOs]
|
||||||
|
@ -243,7 +244,7 @@ numbers=noenddot,
|
||||||
|
|
||||||
\change[inline]{improve glossary \url{https://en.wikibooks.org/wiki/LaTeX/Glossary}}
|
\change[inline]{improve glossary \url{https://en.wikibooks.org/wiki/LaTeX/Glossary}}
|
||||||
|
|
||||||
\input{glossar.tex}
|
% \input{../glossar.tex}
|
||||||
|
|
||||||
\listoffigures
|
\listoffigures
|
||||||
\lstlistoflistings{Quellcodeverzeichnis}
|
\lstlistoflistings{Quellcodeverzeichnis}
|
||||||
|
@ -294,30 +295,30 @@ numbers=noenddot,
|
||||||
%% \label{sec:motivation}
|
%% \label{sec:motivation}
|
||||||
%% \input{sections/motivation}
|
%% \input{sections/motivation}
|
||||||
|
|
||||||
\newpage
|
% \newpage
|
||||||
\section{Foundation}
|
\section{Basics}
|
||||||
\label{sec:basics}
|
\label{sec:basics}
|
||||||
\input{sections/basics}
|
% \input{sections/basics}
|
||||||
|
|
||||||
\newpage
|
% \newpage
|
||||||
\section{Requirements}
|
\section{Requirements}
|
||||||
\label{sec:requirements}
|
\label{sec:requirements}
|
||||||
\input{sections/requirements}
|
% \input{sections/requirements}
|
||||||
|
|
||||||
%% \newpage
|
%% \newpage
|
||||||
%% \section{Werkzeuge und Bibliotheken}
|
%% \section{Werkzeuge und Bibliotheken}
|
||||||
%% \input{sections/tools_libs}
|
%% \input{sections/tools_libs}
|
||||||
|
|
||||||
\newpage
|
% \newpage
|
||||||
\section{Concept}
|
\section{Concept}
|
||||||
\label{sec:concept}
|
\label{sec:concept}
|
||||||
\input{sections/concept}
|
% \input{sections/concept}
|
||||||
|
|
||||||
\section{Analysis, Tests and Decisions}
|
\section{Analysis, Tests and Decisions}
|
||||||
\label{sec:ana-test-decision}
|
\label{sec:ana-test-decision}
|
||||||
\input{sections/analysis_test_decision}
|
% \input{sections/analysis_test_decision}
|
||||||
|
|
||||||
\newpage
|
% \newpage
|
||||||
\section{Conclusion and Future Work}
|
\section{Conclusion and Future Work}
|
||||||
\input{sections/conclusion}
|
\input{sections/conclusion}
|
||||||
|
|
||||||
|
@ -334,12 +335,11 @@ numbers=noenddot,
|
||||||
\appendix
|
\appendix
|
||||||
% suppress page number in toc for parts
|
% suppress page number in toc for parts
|
||||||
\addtocontents{toc}{\cftpagenumbersoff{part}}
|
\addtocontents{toc}{\cftpagenumbersoff{part}}
|
||||||
%\pagenumbering{Alph}
|
%\pagenumbering{Alph} %Seitennummerierung fortlaufend
|
||||||
%Seitennummerierung fortlaufend
|
\addpart{Appendix}
|
||||||
\addpart{Anhang}
|
|
||||||
\pagenumbering{Roman}
|
\pagenumbering{Roman}
|
||||||
\setcounter{page}{2} % Seitennummerierung fortlaufend
|
\setcounter{page}{2} % Seitennummerierung fortlaufend
|
||||||
\input{sections/appendix}
|
% \input{sections/appendix}
|
||||||
|
|
||||||
%\include{selbststaendigkeitserklaerung}
|
%\include{selbststaendigkeitserklaerung}
|
||||||
|
|
||||||
|
|
|
@ -38,10 +38,18 @@
|
||||||
booktitle = {Proceedings of the 6th {EAI} International Conference on Smart Objects and Technologies for Social Good}
|
booktitle = {Proceedings of the 6th {EAI} International Conference on Smart Objects and Technologies for Social Good}
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{Ouanounou2020secureLoRa,
|
@misc{pngkeyGenericCompany,
|
||||||
author = {Emmanuel Ouanounou},
|
author = {PNGkey.com},
|
||||||
title = {{LoRaWAN \& MQTT: What to Know When Securing Your IoT Network}},
|
title = {{Generic Branding - Generic Company Logo Png}},
|
||||||
howpublished = "\url{https://www.cyberark.com/resources/threat-research-blog/lorawan-mqtt-what-to-know-when-securing-your-iot-network}",
|
howpublished = "\url{https://www.pngkey.com/png/detail/141-1417312_generic-branding-generic-company-logo-png.png}",
|
||||||
year = {2020},
|
year = {2021},
|
||||||
note = "[Online; letzter Zugriff 18.11.2020]"
|
note = "[Online; accessed 2021-03-05]"
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{pngkeyGenericCompany,
|
||||||
|
author = {PNGkey.com},
|
||||||
|
title = {{Generic Branding - Generic Company Logo Png}},
|
||||||
|
howpublished = "\url{https://www.pngkey.com/png/detail/141-1417312_generic-branding-generic-company-logo-png.png}",
|
||||||
|
year = {2021},
|
||||||
|
note = "[Online; accessed 2021-03-05]"
|
||||||
}
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
% Fazit + Ausblick
|
||||||
|
|
||||||
|
Die vorliegende Arbeit hat zwei moderne Prokolle zur föderierten
|
||||||
|
Echtzeitkommunikation und dem Internet der Dinge vorgestellt.
|
||||||
|
LoRaWAN und Matrix wurden grundlegend erklärt um Komponenten, Architektur und
|
||||||
|
Arbeitsweise zu verstehen.
|
||||||
|
|
||||||
|
% In \fullref{sec:solutions} wurden Ansätze dargelegt, um Kommunikation mit Matrix über \ac{LoRaWAN} zu ermöglichen.
|
||||||
|
|
||||||
|
% \begin{itemize}
|
||||||
|
% \item{chirpstack ist zu kompliziert für rein lokale simulation!??!?}
|
||||||
|
% \item{meshsim war nicht im zeitlichen Rahmen zum Laufen zu kriegen}
|
||||||
|
% \item{blog posts veraltet, software inkompatibel zum aktuellen STand!?}
|
||||||
|
% \item{nicht mehr unterstützter Anwendungsfall, in bearbeitungszeit nicht möglich sich komplett einzuarbeiten}
|
||||||
|
% \end{itemize}
|
||||||
|
|
||||||
|
% Resultat: Zeitaufwand komplett verschätzt
|
||||||
|
|
||||||
|
% \improvement[inline]{was hat nach jetziger Sicht auch noch Sinn?}
|
||||||
|
|
||||||
|
% Matrix low-bandwidth mode hat schon gute Vorarbeit geleistet.\improvement{schöner erklären}
|
||||||
|
% Insbesondere die Kombination CoAP mit CBOR für kleinere Payloads, Flate $+$ Noise für
|
||||||
|
% effiziente Verschlüsselung und Anpassungen für UDP geben einen guten Ansatz.
|
||||||
|
|
||||||
|
% dieser könnte weiter verfolgt werden
|
||||||
|
|
||||||
|
% hardware projects: https://www.hackster.io/erictsai/lora-tooth-small-ble-sensors-over-wifi-lora-gateways-0aa109
|
||||||
|
|
||||||
|
% more: https://www.adafruit.com/?q=lora&sort=BestMatch
|
||||||
|
|
||||||
|
% 'officially proposed' 868 mhz lora<->RPi shield from TTN: https://shop.imst.de/wireless-modules/lora-products/8/ic880a-spi-lorawan-concentrator-868-mhz
|
||||||
|
% \section{Schlussbetrachtung}
|
||||||
|
|
||||||
|
% Aufgrund des zeitlichen Rahmens der vorliegenden Forschungsarbeit im Modul PTI09440 waren praktische Experimente nicht umsetzbar.
|
||||||
|
|
||||||
|
% \begin{itemize}
|
||||||
|
% \item[]{Idee war praktische Umsetzung}
|
||||||
|
% \item[]{Meshsim und p2p waren allerdings nur Demo Showcases}
|
||||||
|
% \item[]{nicht gewartete Software als Neueinsteiger macht sich anstrengend}
|
||||||
|
% \item[]{der Hardware part bei LoRaWAN müsste wohl auch getestet werden...
|
||||||
|
% kostet aber fett kohle (anschaffung! instandhaltung weniger problematisch)}
|
||||||
|
% \end{itemize}
|
|
@ -0,0 +1,37 @@
|
||||||
|
% Introduction
|
||||||
|
\improvement[inline]{Motivation, Arbeitsziele}
|
||||||
|
|
||||||
|
Laut einem Beschluss der \ac{EU} soll angestrebt werden, mit Umwelt-, Verkehrs-
|
||||||
|
und Gesundheitsdaten möglichst offen umzugehen %\cite{openDataEUabout}:
|
||||||
|
|
||||||
|
\begin{quote}
|
||||||
|
\glqq just try to be fancy and get a clickbait-like quote in here\grqq
|
||||||
|
\end{quote}
|
||||||
|
|
||||||
|
In der Ära von \emph{Cloud Computing} und dem \ac{IoT}
|
||||||
|
wird ein zunehmender Anteil von Daten %\improvement{needs citation}
|
||||||
|
abseits von Rechenzentren von günstigen, speicherarmen,
|
||||||
|
energieeffizienten Sensoren erfasst.
|
||||||
|
Für die Verarbeitung und Auswertung ist es notwendig, die Daten an einen Ort
|
||||||
|
mit ausreichender Speicherkapazität und Rechenleistung zu
|
||||||
|
übertragen %(siehe Abb. \ref{fig:schema-dataflow}).
|
||||||
|
Der zuverlässige Transport ist zentrale Voraussetzung um ein Datawarehouse zu ermöglichen.
|
||||||
|
|
||||||
|
% \begin{figure}
|
||||||
|
% \centering
|
||||||
|
% \includegraphics[width=0.85\textwidth]{images/schema-dataflow.png}
|
||||||
|
% \caption[Schema Übertragungswege]{Schema Übertragungswege}
|
||||||
|
% \label{fig:schema-dataflow}
|
||||||
|
% \end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
% \newpage
|
||||||
|
\subsection{Motivation}
|
||||||
|
|
||||||
|
|
||||||
|
% \newpage
|
||||||
|
\subsection{Central Question}
|
||||||
|
|
||||||
|
|
||||||
|
% \newpage
|
||||||
|
\subsection{Content of Paper}
|
|
@ -0,0 +1,123 @@
|
||||||
|
% lösungsansätze
|
||||||
|
% Mit welchen Methoden soll das Problem bearbeitet werden?
|
||||||
|
|
||||||
|
Im vorherigen Abschnitt wurden die Architektur und Komponenten von LoRaWAN und
|
||||||
|
Matrix eingeführt.
|
||||||
|
In diesem Abschnitt werden Lösungsmöglichkeiten für die Kombination der beiden
|
||||||
|
Prokotolle beschrieben.
|
||||||
|
|
||||||
|
\subsection{Server im low-bandwidth Modus}
|
||||||
|
|
||||||
|
% \begin{figure}
|
||||||
|
% \centering
|
||||||
|
% \includegraphics[width=0.8\textwidth]{images/solution-ulb.png}
|
||||||
|
% \caption[Matrix mit CoAP-Proxy und Chirpstack]{Matrix low-bandwidth mode mit CoAP-Proxy und
|
||||||
|
% Chirpstack\protect}
|
||||||
|
% \label{fig:matrix-ulb-chirpstack}
|
||||||
|
% \end{figure}
|
||||||
|
|
||||||
|
Wie in \ref{subsub:matrix_stateoftech} beschrieben, wurde 2019 ein
|
||||||
|
\emph{low-bandwidth Modus} für Matrixserver experimentell umgesetzt.
|
||||||
|
Eine Variante einen Matrixserver Daten über LoRaWAN übertragen zu lassen, könnte
|
||||||
|
man den Server im low-bandwidth Modus betreiben und den daran angeschlossenen
|
||||||
|
\ac{CoAP}-Proxy als Application mit dem \emph{Application Server} des Chirpstack
|
||||||
|
verknüpfen (siehe Abb.\ref{fig:matrix-ulb-chirpstack}).
|
||||||
|
|
||||||
|
Dafür könnten die bestehenden Softwarekomponenten mit entsprechender
|
||||||
|
Konfiguration wiederverwendet werden.
|
||||||
|
Die prototypischen Impelemntierungen sowohl im Matrixserver als auch dem
|
||||||
|
CoAP-Proxy müssten ausgebaut und gewartet werden.
|
||||||
|
|
||||||
|
\subsection{Matrix Bridge als LoRaWAN Applikation}
|
||||||
|
|
||||||
|
% \begin{figure}
|
||||||
|
% \centering
|
||||||
|
% \includegraphics[width=0.8\textwidth]{images/solution-bridge.png}
|
||||||
|
% \caption[Matrix Bridge LoRa mit CoAP-Proxy und Chirpstack]{Matrix Bridge
|
||||||
|
% LoRa mit CoAP-Proxy und
|
||||||
|
% Chirpstack\protect}
|
||||||
|
% \label{fig:matrix-bridge-lora}
|
||||||
|
% \end{figure}
|
||||||
|
|
||||||
|
Eine Alternative wäre die Entwicklung einer Matrix Bridge für das LoRaWAN
|
||||||
|
Protokoll.
|
||||||
|
Diese kann über einen CoAP Proxy mit dem \emph{Application Server} des
|
||||||
|
Chirpstack verknüpft werden (siehe Abb.\ref{fig:matrix-bridge-lora}).
|
||||||
|
|
||||||
|
Für die Umsetzung könnten Ideen und Implementierungsansätze des
|
||||||
|
\emph{low-bandwidth Modus} wiederverwendet werden.
|
||||||
|
Vorteil an dieser Variante ist, dass bestehende Matrixserver keiner Änderung
|
||||||
|
bedürfen, sondern die Übertragung mittels LoRaWAN von einem registierten Client
|
||||||
|
übernommen wird.
|
||||||
|
Eine solche Bridge erfordert weniger Wartungsaufwand.
|
||||||
|
Außerdem kann durch Beitreten und Verlassen von Räumen explizit diese ausgewählt
|
||||||
|
werden, welche relevant für die Übertragung über die LoRaWAN Verbindung
|
||||||
|
stattfinden soll.
|
||||||
|
|
||||||
|
% Mit Hilfe der Kombination von \emph{Meshsim} und \emph{CoAP-Proxy} werden zwei
|
||||||
|
% Matrix-Applikationsserver installiert und verknüpft.
|
||||||
|
|
||||||
|
% Der Chirpstack wird zum Aufbau einer privaten Experimentierplattform und
|
||||||
|
% Simulation einer LoRaWAN Umgebung genutzt.
|
||||||
|
|
||||||
|
% Durch möglichst minimale Anpassung an den jeweiligen Softwarekomponenten sollen
|
||||||
|
% Matrix-Anwendungsdaten über das simulierte LoRaWAN Netzwerk übertragen werden.
|
||||||
|
% % - p2p matrix https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix/
|
||||||
|
% over https://libp2p.io/
|
||||||
|
|
||||||
|
Ein weiterer Aspekt ist die Art der Datenübertragung im LoRaWAN Funknetzwerk.
|
||||||
|
|
||||||
|
% \newpage
|
||||||
|
\subsection{bidirektionale Verbindung mit Geräteklasse C}
|
||||||
|
|
||||||
|
Die Kombination aus LoRaWAN Gateway und Endknoten kann so gewählt werden, dass
|
||||||
|
einer der im Verbund teilnehmenden Matrixserver die Rolle das Netzwerkservers
|
||||||
|
übernimmt und mittels Chirpstack an ein LoRaWAN Hardware Gateway angeschlossen.
|
||||||
|
Alle anderen Matrixserver werden an Endknoten angeschlossen.
|
||||||
|
|
||||||
|
Diese Endknoten müssen zwangsweise als Klasse C Geräte konfiguriert werden,
|
||||||
|
sodass sie ständig Daten vom Gateway empfangen können.
|
||||||
|
Die Datenübertragung um LoRaWAN findet somit bidirektional (Gateway->Endknoten
|
||||||
|
und Endknoten->Gateway) statt.
|
||||||
|
|
||||||
|
% \improvement[inline]{in welchen Fällen ist das günstig?}
|
||||||
|
|
||||||
|
% architecture: https://www.chirpstack.io/project/architecture/
|
||||||
|
|
||||||
|
% based on https://github.com/brocaar/chirpstack-docker
|
||||||
|
|
||||||
|
% \begin{itemize}
|
||||||
|
% \item{run the stack twice}
|
||||||
|
% \item{connect them either with a packet forwarder or the gateway bridge}
|
||||||
|
% \item{Whats the smallest easiest thing to test this???}
|
||||||
|
% % \item{connect both application servers with a dendrite/synapse each}
|
||||||
|
% \end{itemize}
|
||||||
|
|
||||||
|
% node simulation (+server, monitor):
|
||||||
|
% - simulation https://github.com/devlaam/lora_simulator/tree/master/src/main/scala
|
||||||
|
|
||||||
|
\subsection{unidrektionale Verbindung}
|
||||||
|
|
||||||
|
Eine unidirektionale Funkverbindung mit Endknoten der Klasse A oder B könnte
|
||||||
|
alternativ umgesetzt werden.
|
||||||
|
In dieser Variante würde jeder Matrixserver mit einem Chirpstack verknüpft und
|
||||||
|
jeder Chirpstack erhält ein Gateway und einen Endknoten.
|
||||||
|
Die Endknoten werden ausschließlich zum Versenden von Daten genutzt.
|
||||||
|
Die Gateways ausschließlich zum Empfang von Daten.
|
||||||
|
Das bedeutet beide Geräte übertragen die Daten jeweils unidirektional.
|
||||||
|
|
||||||
|
%\impvement[inline]{welche funktechnischen problem können hier auftreten?}
|
||||||
|
|
||||||
|
In dieser Konstellation können einfachere Endknoten (Klasse A oder B statt
|
||||||
|
Klasse C) genutzt werden, jedoch benötigt jeder teilnehmende Matrixserver auch
|
||||||
|
ein LoRaWAN Hardware Gateway.
|
||||||
|
% Uni- oder Bidirektional?\cite{pop2017does}
|
||||||
|
|
||||||
|
% \subsection{libp2p}
|
||||||
|
|
||||||
|
% kritik: libp2p zwar 2020, aber für unseren anwendungsfall nicht möglich, da
|
||||||
|
% service discovery/rendevouz server über lorawan in diesem rahmen nicht
|
||||||
|
% umgesetzt werden kann (und existiert noch nicht)
|
||||||
|
|
||||||
|
% will not work because of service/server discovery impossible without IP based
|
||||||
|
% relay/rendevouz server
|
|
@ -0,0 +1,44 @@
|
||||||
|
\begin{titlepage}
|
||||||
|
\pdfbookmark[1]{Title Page}{title}
|
||||||
|
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[scale=0.25]{images/generic-company-logo.png}
|
||||||
|
|
||||||
|
\vspace{1cm}
|
||||||
|
\begin{huge}
|
||||||
|
Master Thesis
|
||||||
|
\end{huge}
|
||||||
|
|
||||||
|
\begin{LARGE}
|
||||||
|
Title of the thesis
|
||||||
|
\end{LARGE}
|
||||||
|
|
||||||
|
\vspace{1.4cm}
|
||||||
|
\begin{large}
|
||||||
|
Surname, First Name
|
||||||
|
\end{large}
|
||||||
|
|
||||||
|
% \vspace{0.5cm}
|
||||||
|
|
||||||
|
born on \today \\
|
||||||
|
\vspace{1cm}
|
||||||
|
|
||||||
|
Studiengang Master Informatik
|
||||||
|
|
||||||
|
\vspace{0.7cm}
|
||||||
|
Your institution \\
|
||||||
|
Your Faculty \\
|
||||||
|
Your Research Group
|
||||||
|
|
||||||
|
\vspace{2.7cm}
|
||||||
|
\begin{tabular}{l l}
|
||||||
|
\textbf{Adviser} & \textbf{Institution} \\
|
||||||
|
% \hline
|
||||||
|
Prof. Dr. Awesome Teacher & Institution 1\\
|
||||||
|
M.Sc. Another Mentor & Institution or Company \\
|
||||||
|
\\
|
||||||
|
\\
|
||||||
|
Deadline: & \today
|
||||||
|
\end{tabular}
|
||||||
|
\end{center}
|
||||||
|
\end{titlepage}
|
Loading…
Reference in New Issue