% !TeX document-id = {17894a24-c077-4ce3-b68f-12869a421690} %!TeX TXS-program:compile = txs:///pdflatex/[--shell-escape] %\documentclass[notes]{beamer} % print frame + notes %\documentclass[notes=only]{beamer} % only notes \documentclass{beamer} % only frames \usepackage[default]{sourcesanspro} % font used from htwk %\usepackage[T1]{fontspec} %because luatex (else use package fontenc); demands utf-8 instead of ascii \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{listings} \usepackage{graphicx} %\usepackage{minted} \usepackage{hyperref} \usepackage{booktabs} \usepackage{gnuplottex} \usepackage{tikz} \usetikzlibrary{backgrounds,calc,shadings,shapes,shadows} \usepackage[backend=bibtex]{biblatex} \bibliography{./präsentation} \usepackage[export]{adjustbox} \usetheme{default} \usebeamercolor{wolverine} \useoutertheme{smoothbars} \beamertemplatenavigationsymbolsempty{} \setbeamertemplate{footline}[frame number] \lstset{basicstyle=\ttfamily\small} % default style for listings %extra configs \setbeamercolor{title}{fg=black} \usepackage[inkscapearea=page]{svg} \usepackage[edges]{forest} \usepackage{longtable,booktabs} %Tabellen mit zeilenumbruch \usepackage{subcaption} \title{Konzeption und prototypische Realisierung\\ einer Webanwendung zur Simulation der\\ Abdeckung von Richtantennen\\ auf einer interaktiven Karte} %\subtitle{Bachelorarbeit} \author{Michael Lux} \date{22. April 2021} \begin{document} { \usebackgroundtemplate{% \includegraphics[width=\paperwidth]{pictures/balkengreen.png} } \begin{frame}[plain] \includegraphics[height=3ex]{logo/HTWK_Zusatz_de_H_Black_K.eps} \newline \center Verteidigung Bachelorarbeit \titlepage{} \end{frame} } %%Balken in Zwischenüberschriften%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %https://stackoverflow.com/questions/33517056/beamer-headline-setup \makeatletter \patchcmd{\endbeamer@frameslide}{\ifx\beamer@frametitle\@empty}{\iffalse}{}{\errmessage{failed to patch}} \makeatother \makeatletter \setbeamertemplate{frametitle}{% \ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}% \@tempdima=\textwidth% \advance\@tempdima by\beamer@leftmargin% \advance\@tempdima by\beamer@rightmargin% \begin{beamercolorbox}[sep=0.0cm,left,wd=\the\@tempdima]{frametitle} \raisebox{-0.15cm}{\includegraphics[width=0.0212\paperwidth]{pictures/headergreen.png}} \begin{minipage}{.81\paperwidth} \usebeamerfont{frametitle}% \vbox{}\vskip-1ex% \if@tempswa\else\csname beamer@fteleft\endcsname\fi% \strut\insertframetitle\par% {% \ifx\insertframesubtitle\@empty% \else% {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\strut\insertframesubtitle\par}% \fi }% \end{minipage}% \enspace\quad\qquad\raisebox{-0.15cm}{\includegraphics[width=0.0212\paperwidth]{pictures/headergreen.png}} \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here... \end{beamercolorbox}% } \makeatother %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame} \frametitle{Gliederung} \tableofcontents \end{frame} \section{Nutzen und Anwendungen} \begin{frame} \frametitle{Was? - Richtantennen und deren Abdeckung} \begin{columns} \column{.5\linewidth} \begin{figure} \includegraphics[height=0.55\paperheight]{pictures/richtantenne} \caption{Installation einer Richtantenne auf einem Dach\\ {\scriptsize Quelle: \url{https://wiki.freifunk-franken.de/w/Richtfunk}}} \end{figure} \column{.6\linewidth} \begin{figure} \includegraphics[height=0.6\paperheight]{pictures/abdeckungpraktikum} %TODO: Antenne, Signalstärken beschriften \caption{Abdeckung einer Richtantenne aus im Praxisprojekt entwickelter Simulationsanwendung} \end{figure} \end{columns} \end{frame} \note[itemize]{ \item "bevor Nutzen erklärt werden kann, erst erklären, worum es geht" \item Richtantennen: Eigenschaft mit Nutzen nennen (Richtfunkstrecken über längere Distanzen durch Richtwirkung) \item Abdeckung definieren (als Fläche, Empfangsbereiche), am Bild erklären (Sende- und Empfangsbereiche, Ausrichtung, Richtwirkung zeigen) \item blau: starker Empfang, rot: schwach (Signalstärke) } \begin{frame} \frametitle{Warum? - Planung von Richtfunkstrecken} innerhalb freier Funknetze \& Drahtlos-Internet-Dienstanbieter (WISP) %https://wiki.freifunk-franken.de/w/Richtfunk \begin{columns} \column{.5\linewidth} \begin{figure} %https://wiki.freifunk.net/images/4/43/Freifunk-logo.svg \includesvg[height=0.25\paperheight]{pictures/freifunk} %https://portal.funkfeuer.at/logo0xffsmall.jpg \includegraphics[height=0.09\paperheight]{pictures/funkfeuer} \caption{Initiativen für freie Funknetze: Freifunk in Deutschland und FunkFeuer in Österreich\\ \url{https://freifunk.net}\\ \url{https://funkfeuer.at}} \end{figure} \column{.5\linewidth} \begin{figure} %https://reudnetz.org/wer/ \includegraphics[height=0.12\paperheight]{pictures/reudnetz} %http://www.westnetz.org/kontakt.html \includegraphics[height=0.14\paperheight]{pictures/westnetz} \caption{nicht kommerzielle WISP: Reudnetz w.V. und Westnetz w.V. aus Leipzig\\ \url{https://reudnetz.org}\\ \url{http://westnetz.org}} \end{figure} \end{columns} %nicht-kommerzielle ISPs auch Teil des vorgesehenen Anwenderkreises, jedoch breit regional verstreut (Leipzig: Westnetz und Reudnetz) \end{frame} \note[itemize]{ \item Warum Abdeckung von Richtantennen simulieren: Planung von Richtfunkstrecken innerhalb freier Funknetze und WISP-Funknetze \item Freie Funknetze definieren, Initiativen nennen \item nicht kommerzielle WISPs definieren: ohne Gewinnerzielungsabsicht, Unterschied \item verwenden Richtantennen: Grund nennen \item Situation des Anschlusses einer neuen Person beschreiben (Problem, ob Anschluss möglich) -> Abhilfe bei Abschätzung durch Simulation \item Überleitung: breite Auswahl Anwendungen existiert bereits } %\begin{frame} % \frametitle{Warum? - Nutzen} % Simulation der Abdeckung von Richtantennen % \begin{itemize} % \item Planung von Richtfunkstrecken % \end{itemize} % \begin{figure} % \center\includegraphics[width=0.7\paperwidth]{pictures/antennamap} % \caption{Im Praxisprojekt entwickelte Simulationsanwendung}%zur Simulierung der Abdeckung einer Richtantenne} % \end{figure} %\end{frame} %Wireless InSite GUI -> Microsoft Windows 7, Windows 8, and Windows 10, 64- bit %Matlab Antenna Toolbox -> Mac, Windows, Linux \begin{frame} \frametitle{Wie? - Überblick verwendbarer Anwendungen} \includegraphics[height=0.61\paperheight]{pictures/anwendungen} %\center\resizebox{\textwidth}{!}{\includesvg[height=\textheight]{pictures/anwendungen}} \end{frame} \note[itemize]{ \item individuelle Nachteile aus Arbeit nennen \item Matlab unter Plattformunabhängig, da für die meisten verfügbar (quasi) } \section{Problem- und Zielstellung} \begin{frame} \frametitle{Problemstellung} Anwendungen weisen folgende Nachteile auf: \begin{itemize} \item Closed-Source \item Plattformabhängigkeit \item erschwerte Bedienbarkeit \end{itemize} \end{frame} \note[itemize]{ \item Bedienbarkeit subjektiv, jedoch durch erhöhte Anzahl nötiger Schritte quantifizierbar (in Relation) \item sagen, wieso diese Nachteile für die Zielgruppe problematisch sind } \begin{frame} \frametitle{Zielstellung} Konzeption und prototypische Realisierung einer Webanwendung zur Simulation der Abdeckung von Richtantennen auf einer interaktiven Karte \begin{itemize} \item Open-Source \item Plattformunabhängig \item Gute Bedienbarkeit \end{itemize} Mithilfe folgender Technologien: \begin{itemize} \item Leaflet\footnote{\url{https://leafletjs.com/}} \item Signal-Server \item Spring-Framework\footnote{\url{https://spring.io/}} \end{itemize} \end{frame} \note[itemize]{ \item Erklärung wieso Webanwendung \item Gründe für die Verwendung der Technologien nennen } \section{Erarbeitung der Anforderungen} \begin{frame} \frametitle{Erarbeitung der Anforderungen} \begin{columns} \column{.4\linewidth} \includegraphics[height=0.4\paperheight]{pictures/reihenfolgeanwentw} \column{.6\linewidth} \begin{block}{Vorab zu klärende Fragen} \begin{enumerate} \item Wie wird die Antennenabdeckung berechnet? \item Wie kann die Simulation innerhalb einer Anwendung gestaltet werden? \end{enumerate} \end{block} \end{columns} \end{frame} \note[itemize]{ \item "nach diesem Schema wurde vorgegangen" \item bevor die Anforderungen erstellt werden können, müssen diese Fragen geklärt werden } \begin{frame} \frametitle{1. fachspezifisches Wissen sammeln} Verwendung von Kanalmodellen\\ \begin{itemize} \item berechnen Signalverluste im Funkkanal \item nach Phillips et al. \cite{surveymodels} kategorisierbar (u.a. theoretische, Grund-,Gelände-, ergänzende und Vielstrahl-Modelle) \item benötigen Informationen über \begin{block}{Antennen (Antenneneigenschaften)} \begin{itemize} \item Sendeleistung, Antennengewinn, Richtcharakteristik, Frequenz, Position und Ausrichtung, Polarisation, ... \end{itemize} \end{block} \begin{block}{Ausbreitungsraum (Eigenschaften des Raumes)} \begin{itemize} \item Höhendaten verschiedener Modelle benutzbar zur Beschreibung des Geländes, Klima-Zone, ... \end{itemize} \end{block} \end{itemize} \end{frame} \note[itemize]{ \item Berechnung Antennenabdeckung durch: Kanalmodelle \item Kanalmodelle, Funkkanal definieren \item Welche Eigenschaften konkret \item Antennen: Sendeleistung, Antennengewinn, Richtcharakteristik, Frequenz, Position und Ausrichtung, Polarisation \item Raum: Höhendaten verschiedener Modelle; verwendbar zur Beschreibung des Geländes, Klima-Zone, ... \item benötigte Eigenschaften abhängig vom Kanalmodell \item Bezug der Eigenschaften (Höhendaten,Antennengewinn) } \begin{frame} \frametitle{2. Vergleich einzelner Anwendungen} \begin{columns} \column{.5\linewidth} \begin{block}{vorher} \begin{itemize} \item um Überblick verwendbarer Anwendungen zu erhalten \end{itemize} \end{block} \column{.6\linewidth} \begin{block}{jetzt} \begin{itemize} \item um Anforderungen an eigene Anwendung zu ermitteln \item Erhalt erster Ideen für das Konzept \end{itemize} \end{block} \end{columns} %\begin{figure} %\center \includegraphics[height=0.4\textheight]{pictures/hdtest} %\caption{Durch Signal-Server erstellte Abdeckung mit Gelände} \includegraphics[height=0.55\textheight]{pictures/airlinkvsradiomobilevssig} % \caption{Webseite von Ubiquiti airLink (links) und Radio Mobile (rechts)} % \end{figure} \end{frame} \note[itemize]{ \item grobe Erkenntnisse des Vergleiches nennen \item detailliertere wichtige Erkenntnisse, aus denen eine Anforderung an die Anwendung abgeleitet wurde, kommen in der Anforderungsanalyse } %\begin{frame} % \frametitle{2. Vergleich einzelner Anwendungen} % \begin{figure} % \center \includegraphics[height=0.8\textheight]{pictures/airlinkvsradiomobile} % \caption{Webseite von Ubiquiti airLink (links) und Radio Mobile (rechts)} % \end{figure} %\end{frame} \begin{frame} \frametitle{Anforderungsanalyse} \begin{block}{Festlegung der Anforderungen} Funktional \begin{itemize} \item Eintragen, Verschieben und Löschen von Antennenstandorten \item Veränderung Antenneneigenschaften \item Auswahl des Kanalmodells \item Darstellung Abdeckung an ausgewählten Antennenstandorten \item Export Antennenstandorte mit -Eigenschaften \end{itemize} Nicht-funktional (Begriffe nach DIN/ISO 25010) \begin{itemize} \item Gute Bedienbarkeit \item Erweiterbarkeit \item Genauigkeit \item Hilfsbereitschaft \item Installierbarkeit \end{itemize} \end{block} \end{frame} \note[itemize]{ \item Funktional/Nicht-funktional definieren \item Gründe der Anforderungen beschreiben \item Grund der Verwendung dieser Begriffe nennen-> nach Starke einheitliche Nennung stärkt Verständnis } \section{Konzept} \begin{frame}[fragile=singleslide] \frametitle{Entwurf der Architektur - Schichtenmodell} Entworfen nach Darstellung durch Starke \cite{praxisbuch2020} \begin{columns} \column{.2\linewidth} %\resizebox{\textwidth}{!}{\includesvg[height=\textheight]{pictures/schichtenarch}} %\includegraphics[height=0.95\textheight]{pictures/schichtenarch} \includegraphics[height=0.7\textheight]{pictures/schichtenmodell} \column{.85\linewidth} \begin{itemize} \item Webbrowser \vspace{12mm} \item Webserver, Web-API-Controller \vspace{12mm} \item Abdeckungs-Objekt \vspace{12mm} \item Persistente Daten (Abdeckungsbilder, Template, Höhendaten, Antennendiagramme), Signal-Server \end{itemize} \end{columns} \end{frame} \note[itemize]{ \item kurz alle Komponenten und deren Beziehung erklären } \begin{frame}[fragile=singleslide] \frametitle{Entwurf der Architektur - Laufzeitsicht} \begin{figure} \center %\includesvg[width=\textwidth]{seqSystem} \resizebox{1.03\textwidth}{!}{\includesvg[height=1.9\textheight]{pictures/seqSystem}}%changing inner width changes fontsize %\caption[Abfolge von Benutzerinteraktionen mit Verarbeitungsschritten]{Sequenzielle Abfolge von Benutzerinteraktionen mit ausgelösten Verarbeitungsschritten im Backend} \label{fig:seqsystem} \end{figure} \end{frame} \begin{frame} \frametitle{Entwurf der Webseitenoberfläche} \begin{figure} \center \includegraphics[height=0.65\textheight]{pictures/guiskizze} \caption{GUI-Prototyp mit Kartenansicht und Bedienelementen} %{GUI-Prototyp basierend auf \url{https://leafletjs.com/examples/layers-control/}: Kartenansicht mit Zoom-Elementen oben links, darunter Symbolleiste für das Hinzufügen einer Antenne und Exportfunktion und Maßstabsleiste; Kartenauswahl oben rechts, unten rechts Legende für Signalstärke; mittig Pop-Up für Auswahl der Antenneneigenschaften und Kanalmodell} %mit Kartenauswahl oben rechts, Zoom-Elementen oben links, darunter Symbolleiste für das Hinzufügen einer Antenne und Exportfunktion sowie mittig Pop-Up für Auswahl der Antenneneigenschaften und Kanalmodell %Ansicht der Webseite mit Zoom-Elementen oben links, darunter Symbolleiste für das Hinzufügen einer Antenne und Exportfunktion; Kartenauswahl oben rechts, unten rechts Legende für Signalstärke \end{figure} \end{frame} \note[itemize]{ \item Bedienelemente und deren Nutzen erklären } \begin{frame} \frametitle{Entwurf der Web-API} %\center\includegraphics{graphics/hochleistungsrechner} Entwurfen nach dem REST-Prinzip von Fielding \cite{restapi} und Beschreibung dessen von Starke \cite{praxisbuch2020} \begin{longtable}[]{@{}lll@{}} \toprule \begin{minipage}[b]{0.23\columnwidth}\raggedright Mapping\strut \end{minipage} & \begin{minipage}[b]{0.23\columnwidth}\raggedright Controller\strut \end{minipage} & \begin{minipage}[b]{0.46\columnwidth}\raggedright Funktion\strut \end{minipage}\tabularnewline \midrule \endhead \begin{minipage}[t]{0.23\columnwidth}\raggedright \emph{GET, ``/''}\strut \end{minipage} & \begin{minipage}[t]{0.23\columnwidth}\raggedright \emph{Home}\strut \end{minipage} & \begin{minipage}[t]{0.46\columnwidth}\raggedright \emph{Erzeugung der Webseitenansicht}\strut \end{minipage}\tabularnewline \begin{minipage}[t]{0.23\columnwidth}\raggedright \emph{POST, ``/coverage''}\strut \end{minipage} & \begin{minipage}[t]{0.23\columnwidth}\raggedright \emph{Coverage}\strut \end{minipage} & \begin{minipage}[t]{0.46\columnwidth}\raggedright \emph{Erzeugung eines Abdeckungsobjektes mit Generierung der Abdeckung}\strut \end{minipage}\tabularnewline \begin{minipage}[t]{0.23\columnwidth}\raggedright \emph{GET, ``/coverage/{ID}''}\strut \end{minipage} & \begin{minipage}[t]{0.23\columnwidth}\raggedright \emph{Coverage}\strut \end{minipage} & \begin{minipage}[t]{0.46\columnwidth}\raggedright \emph{Rückgabe der geforderten Abdeckung}\strut \end{minipage}\tabularnewline \bottomrule \caption{Endpunkte der Webanwendung} \end{longtable} \end{frame} \note[itemize]{ \item REST und dessen Nutzen kurz erklären } \section{Implementierung} %\subsection{Dateisystem} \begin{frame} \frametitle{Aufbau des Projektes} \begin{block}{Spring-Projekt} \begin{itemize} \item nach Ausführung durch Craig \cite{springprog} erstellt \item erstellt mit \textit{Spring initializr}\footnote{\url{https://start.spring.io/}} -> automatische Einbindung der Abhängigkeiten \item Maven\footnote{\url{https://maven.apache.org/}} als Build-Tool -> Vorkonfigurationen, einfacher Build-Prozess durch Wrapper-Script \item Plattformunabhängig durch JVM-Umgebung \end{itemize} \end{block} \end{frame} \begin{frame} \frametitle{Back-End-Komponenten} \begin{block}{Verwendete Abhängigkeiten} \begin{itemize} \item spring-boot-starter-web: Spring MVC (für Web-API) und Tomcat-Webserver \item spring-boot-starter-thymeleaf: Generierung Webseite \item spring-boot-starter-test: Testklasse für Schnittstelle zu Signal-Server \item springdoc-openapi-ui: Dokumentation der Web-API \end{itemize} \end{block} \begin{block}{Web-API} \begin{itemize} \item Abdeckungs-Objekt gibt übergebene Abdeckungsparameter als Antwort zurück mit Status der Erstellung \item Validierung übergebener Parameter \item Daten-Sicherheit: Generierung eines zufälligen Hashwertes für ID einer Abdeckung \end{itemize} \end{block} \end{frame} \begin{frame} \frametitle{Generierung der Webseite} \includegraphics[width=1\textwidth]{pictures/thymeleaf} \begin{block}{Thymeleaf\footnote{\url{https://thymeleaf.org/}}} \begin{itemize} \item Java-Template-Engine \item erzeugt View (HTML-Seite) aus View (HTML)-Template \item fügt Liste von Kanalmodellen und Antennendiagramme in HTML-Template ein \item Erweiterung der Listen ohne Anpassung des Templates möglich \end{itemize} \end{block} \end{frame} \note[itemize]{ \item unterstützt auch XML und XHTML \item weitere Modell-Objekte ebenfalls einbettbar } \begin{frame} \frametitle{Einrichtung von Signal-Server} Verzeichnisstruktur und Programm unverändert\\ \vspace{5mm} Verwendete Höhendaten: Shuttle Radar Topography Mission-Höhendaten mit $\sim$ 90m Auflösung \begin{itemize} \item frei verfügbar\footnote{etwa unter \url{https://earthexplorer.usgs.gov/}} und verwendbar \item Abdeckung weiter Teile der Erdoberfläche \item im Vergleich zu hochauflösenden Höhendaten kurze Berechnungszeit der Abdeckung einer Antenne \end{itemize} Antennendiagrammdaten von in freien Funknetzen häufig verwendeten Richtantennen benutzt \end{frame} \begin{frame} \frametitle{Kommunikation zwischen Webanwendung und Signal-Server} \begin{columns} \column{.62\linewidth} \textbf{Benutzte API: Processbuilder} \begin{block}{Verglichen mit Java Native Interface (JNI):} \begin{itemize} \item Robust: Kapselung in eigenem Prozess \item Fehlerbehandlung mithilfe Ausgaben des Prozesses \item Aufruf einzelner Funktionen nicht möglich \end{itemize} weitere Betrachtung durch Yew und Oxley \cite{jnipaper} \end{block} \column{.5\linewidth} \center\includesvg{pictures/jniprocbuilder} \end{columns} \end{frame} \begin{frame} \frametitle{Bedienelemente der Webseite} \begin{figure} \begin{subfigure}{.5\textwidth} \centering \includegraphics[width=1.13\textwidth]{pictures/responsiveabdeckung} %\caption[Ansicht der Webseite mit Kartenansicht und Bedienelementen]{Ansicht der Webseite mit Zoom-Elementen oben links, darunter Symbolleiste für das Hinzufügen einer Antenne und Exportfunktion; Kartenauswahl oben rechts, unten rechts Legende für Signalstärke} \caption*{Ansicht der Webseite auf verschiedenen Endgeräten} \end{subfigure}% \begin{subfigure}{.5\textwidth} \centering \includegraphics[width=0.70\textwidth]{pictures/mobilpopup} %\caption[Mobile Ansicht der Webseite mit Auswahl Antenneneigenschaften]{Mobile Ansicht der Webseite mit Pop-Up für Auswahl Antenneneigenschaften} \end{subfigure}% \end{figure} \end{frame} \section{Fazit} { \usebackgroundtemplate{% \includegraphics[width=\paperwidth,keepaspectratio]{pictures/balkenlinks.png} } \begin{frame} \frametitle{Erreichte Ziele} \begin{figure} \begin{columns} \column{.3\linewidth} %empty column \column{.71\linewidth} \begin{itemize} \item plattformunabhängige Open-Source-Alternative erschaffen \item Umsetzung aller funktionalen Anforderungen \begin{itemize} \item {\color{blue}Signal-Server}: breite Auswahl konfigurierbarer Antenneneigenschaften, Abdeckungsparametern \& Kanalmodellen \item {\color{blue}Leaflet}: Auswahl und Darstellung Antennenstandort und -Abdeckung auf interaktiver Kartenansicht\\ \item {\color{blue}JSZip}: Export Antennenstandorte mit -Eigenschaften {\footnotesize \url{github.com/Stuk/jszip}} \end{itemize} \item prototypischer Nachweis der Realisierbarkeit des Konzeptes mithilfe der Technologien gelungen \end{itemize} %\includegraphics[width=\textwidth]{example-image} \end{columns} \end{figure} \end{frame} } \note[itemize]{ \item Plattformunabhängigkeit durch Signal-Server nicht verletzt \item Anforderungen aus Anforderungsanalyse und Zielstellung erfüllt \item Entscheidungen nennen, die dazu geführt haben } \begin{frame} \frametitle{Umsetzung der Qualitätsziele} Gute Bedienbarkeit: \begin{itemize} \item GUI passt sich Anzeigebereich an \item alle Schritte zur Simulation auf Kartenansicht \item Bezug Höhen-/Antennendiagramm-Daten durch Nutzer entfällt \end{itemize} Erweiterbarkeit: \begin{itemize} \item durch weitere Spring-Frameworks, Leaflet-Plugins und Kanalmodelle \item Modularität des Schichtenmodells \end{itemize} Genauigkeit: \begin{itemize} \item getestete Implementationen etablierter und überprüfter Kanalmodelle \end{itemize} Hilfsbereitschaft: \begin{itemize} \item Infoboxen in GUI, Dokumentation für Bau, Einsatz und Quellcode \end{itemize} Installierbarkeit: \begin{itemize} \item vereinfacht durch Maven-Wrapper \end{itemize} \end{frame} { \usebackgroundtemplate{% \includegraphics[width=\paperwidth,keepaspectratio]{pictures/balkenrechts.png} } \begin{frame} \frametitle{Ausblick} \begin{itemize} \item Verwendung in freien Funknetzen \item Erweiterungen und Anpassungen \end{itemize} \resizebox{0.1\textwidth}{!}{\includesvg{logo/antennamarkerroundwhite}} \textbf{RadioMap} \url{https://github.com/lmux/RadioMap} \url{http://radiomap.lmux.de/} \end{frame} } \note[itemize]{ \item hier Funktionen/Umsetzung auf Webseite zeigen } \begin{frame} \frametitle{Rückblick auf die Arbeit} \begin{columns} \column{.5\linewidth} \begin{itemize} \item alternative Herangehensweisen und Fokus denkbar \item Beitrag zur Unterstützung freier Funknetze und nicht-kommerzieller ISPs \end{itemize} \column{.6\linewidth} \includegraphics[width=0.55\paperwidth,keepaspectratio]{pictures/titelblatt} \end{columns} \end{frame} \note[itemize]{ \item was lief gut, was hätte besser gemacht werden können } \begin{frame} \frametitle{Referenzen} % This prints the bibliography on the slide \setbeamerfont{bibliography item}{size=\footnotesize} \setbeamerfont{bibliography entry author}{size=\footnotesize} \setbeamerfont{bibliography entry title}{size=\footnotesize} \setbeamerfont{bibliography entry location}{size=\footnotesize} \setbeamerfont{bibliography entry note}{size=\footnotesize} \printbibliography \end{frame} \begin{frame} \frametitle{Behandelte Anwendungen} %\begin{itemize} Ubiquiti airLink {\scriptsize \url{https://link.ui.com/}}\\ Radio Mobile {\scriptsize \url{https://ve2dbe.com/english1.html}}\\ Cloud-RF {\scriptsize \url{https://cloudrf.com/}}\\ CNIP {\scriptsize \url{https://github.com/Telecominfraproject/OpenCellular/tree/cnip/software/cnip}}\\ GRASS-RaPlaT {\scriptsize \url{http://www-e6.ijs.si/RaPlaT/GRASS-RaPlaT_main_page}}\\ Matlab Antenna Toolbox {\scriptsize \url{https://mathworks.com/products/antenna.html}}\\ Wireless InSite {\scriptsize \url{https://remcom.com/wireless-insite-em-propagation-software/}}\\ SPLAT! {\scriptsize \url{https://qsl.net/kd2bd/splat.html}}\\ Signal-Server (Fork) {\scriptsize \url{https://github.com/N9OZB/Signal-Server}} % \end{itemize} \end{frame} \end{document}