add thesis contents
This commit is contained in:
parent
b8edaf2e4e
commit
e43dc698e8
|
@ -6,7 +6,9 @@
|
|||
*.blg
|
||||
*.toc
|
||||
*.tdo
|
||||
latex/auto/
|
||||
*/auto/
|
||||
*.el
|
||||
*.zip
|
||||
*.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
|
||||
|
||||
%% Deutsche Anpassungen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage[english]{babel}
|
||||
% \usepackage[ngerman]{babel}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\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{textcomp}
|
||||
\usepackage{paralist}
|
||||
|
@ -210,14 +211,14 @@ numbers=noenddot,
|
|||
%% Erzeugung von Verzeichnissen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\pagenumbering{Roman}
|
||||
|
||||
\section*{Autorenreferat}
|
||||
\section*{Abstract}
|
||||
\label{sec:abstract}
|
||||
\input{sections/abstract}
|
||||
% \input{sections/abstract}
|
||||
|
||||
%\include{danksagung}
|
||||
%\include{acknowlegements}
|
||||
|
||||
\newpage
|
||||
\tableofcontents % Inhaltsverzeichnis
|
||||
% \newpage
|
||||
\tableofcontents % Table of Contents
|
||||
%\addcontentsline{toc}{section}{\listfigurename}
|
||||
\newpage
|
||||
\listoftodos[TODOs]
|
||||
|
@ -243,7 +244,7 @@ numbers=noenddot,
|
|||
|
||||
\change[inline]{improve glossary \url{https://en.wikibooks.org/wiki/LaTeX/Glossary}}
|
||||
|
||||
\input{glossar.tex}
|
||||
% \input{../glossar.tex}
|
||||
|
||||
\listoffigures
|
||||
\lstlistoflistings{Quellcodeverzeichnis}
|
||||
|
@ -294,30 +295,30 @@ numbers=noenddot,
|
|||
%% \label{sec:motivation}
|
||||
%% \input{sections/motivation}
|
||||
|
||||
\newpage
|
||||
\section{Foundation}
|
||||
% \newpage
|
||||
\section{Basics}
|
||||
\label{sec:basics}
|
||||
\input{sections/basics}
|
||||
% \input{sections/basics}
|
||||
|
||||
\newpage
|
||||
% \newpage
|
||||
\section{Requirements}
|
||||
\label{sec:requirements}
|
||||
\input{sections/requirements}
|
||||
% \input{sections/requirements}
|
||||
|
||||
%% \newpage
|
||||
%% \section{Werkzeuge und Bibliotheken}
|
||||
%% \input{sections/tools_libs}
|
||||
|
||||
\newpage
|
||||
% \newpage
|
||||
\section{Concept}
|
||||
\label{sec:concept}
|
||||
\input{sections/concept}
|
||||
% \input{sections/concept}
|
||||
|
||||
\section{Analysis, Tests and Decisions}
|
||||
\label{sec:ana-test-decision}
|
||||
\input{sections/analysis_test_decision}
|
||||
% \input{sections/analysis_test_decision}
|
||||
|
||||
\newpage
|
||||
% \newpage
|
||||
\section{Conclusion and Future Work}
|
||||
\input{sections/conclusion}
|
||||
|
||||
|
@ -334,12 +335,11 @@ numbers=noenddot,
|
|||
\appendix
|
||||
% suppress page number in toc for parts
|
||||
\addtocontents{toc}{\cftpagenumbersoff{part}}
|
||||
%\pagenumbering{Alph}
|
||||
%Seitennummerierung fortlaufend
|
||||
\addpart{Anhang}
|
||||
%\pagenumbering{Alph} %Seitennummerierung fortlaufend
|
||||
\addpart{Appendix}
|
||||
\pagenumbering{Roman}
|
||||
\setcounter{page}{2} % Seitennummerierung fortlaufend
|
||||
\input{sections/appendix}
|
||||
% \input{sections/appendix}
|
||||
|
||||
%\include{selbststaendigkeitserklaerung}
|
||||
|
||||
|
|
|
@ -38,10 +38,18 @@
|
|||
booktitle = {Proceedings of the 6th {EAI} International Conference on Smart Objects and Technologies for Social Good}
|
||||
}
|
||||
|
||||
@misc{Ouanounou2020secureLoRa,
|
||||
author = {Emmanuel Ouanounou},
|
||||
title = {{LoRaWAN \& MQTT: What to Know When Securing Your IoT Network}},
|
||||
howpublished = "\url{https://www.cyberark.com/resources/threat-research-blog/lorawan-mqtt-what-to-know-when-securing-your-iot-network}",
|
||||
year = {2020},
|
||||
note = "[Online; letzter Zugriff 18.11.2020]"
|
||||
@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]"
|
||||
}
|
||||
|
||||
@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