Compare commits
No commits in common. "982fef42fa411113deb10a96fc03018b61f77af7" and "b8edaf2e4ea5f4f264b6b55b0ea732fa8989db5c" have entirely different histories.
982fef42fa
...
b8edaf2e4e
|
@ -6,9 +6,7 @@
|
||||||
*.blg
|
*.blg
|
||||||
*.toc
|
*.toc
|
||||||
*.tdo
|
*.tdo
|
||||||
*/auto/
|
latex/auto/
|
||||||
*.el
|
|
||||||
*.zip
|
*.zip
|
||||||
*.pdf
|
*.pdf
|
||||||
!expose/*.pdf
|
!latex/*.pdf
|
||||||
!paper/*.pdf
|
|
|
@ -30,12 +30,11 @@ numbers=noenddot,
|
||||||
\pagestyle{headings} % lebender Kolumnentitel
|
\pagestyle{headings} % lebender Kolumnentitel
|
||||||
|
|
||||||
%% Deutsche Anpassungen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%% Deutsche Anpassungen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\usepackage[english]{babel}
|
\usepackage[ngerman]{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}
|
||||||
|
@ -211,14 +210,14 @@ numbers=noenddot,
|
||||||
%% Erzeugung von Verzeichnissen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%% Erzeugung von Verzeichnissen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\pagenumbering{Roman}
|
\pagenumbering{Roman}
|
||||||
|
|
||||||
\section*{Abstract}
|
\section*{Autorenreferat}
|
||||||
\label{sec:abstract}
|
\label{sec:abstract}
|
||||||
% \input{sections/abstract}
|
\input{sections/abstract}
|
||||||
|
|
||||||
%\include{acknowlegements}
|
%\include{danksagung}
|
||||||
|
|
||||||
% \newpage
|
\newpage
|
||||||
\tableofcontents % Table of Contents
|
\tableofcontents % Inhaltsverzeichnis
|
||||||
%\addcontentsline{toc}{section}{\listfigurename}
|
%\addcontentsline{toc}{section}{\listfigurename}
|
||||||
\newpage
|
\newpage
|
||||||
\listoftodos[TODOs]
|
\listoftodos[TODOs]
|
||||||
|
@ -244,7 +243,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}
|
||||||
|
@ -295,30 +294,30 @@ numbers=noenddot,
|
||||||
%% \label{sec:motivation}
|
%% \label{sec:motivation}
|
||||||
%% \input{sections/motivation}
|
%% \input{sections/motivation}
|
||||||
|
|
||||||
% \newpage
|
\newpage
|
||||||
\section{Basics}
|
\section{Foundation}
|
||||||
\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}
|
||||||
|
|
||||||
|
@ -335,11 +334,12 @@ 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} %Seitennummerierung fortlaufend
|
%\pagenumbering{Alph}
|
||||||
\addpart{Appendix}
|
%Seitennummerierung fortlaufend
|
||||||
|
\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,18 +38,10 @@
|
||||||
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{pngkeyGenericCompany,
|
@misc{Ouanounou2020secureLoRa,
|
||||||
author = {PNGkey.com},
|
author = {Emmanuel Ouanounou},
|
||||||
title = {{Generic Branding - Generic Company Logo Png}},
|
title = {{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}",
|
howpublished = "\url{https://www.cyberark.com/resources/threat-research-blog/lorawan-mqtt-what-to-know-when-securing-your-iot-network}",
|
||||||
year = {2021},
|
year = {2020},
|
||||||
note = "[Online; accessed 2021-03-05]"
|
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]"
|
|
||||||
}
|
}
|
Binary file not shown.
Before Width: | Height: | Size: 68 KiB |
|
@ -1,42 +0,0 @@
|
||||||
% 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}
|
|
|
@ -1,37 +0,0 @@
|
||||||
% 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}
|
|
|
@ -1,123 +0,0 @@
|
||||||
% 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
|
|
|
@ -1,44 +0,0 @@
|
||||||
\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