64 lines
4.5 KiB
Markdown
64 lines
4.5 KiB
Markdown
In diesem Kapitel wird die Fallstudie vorgestellt, welche
|
|
in dieser Bachelorarbeit umgesetzt wurde.
|
|
|
|
## Anforderungen
|
|
|
|
Um die Nutzbarkeit von Flutter für die Entwicklung von
|
|
Anwendungen für eingebettete Linux Systeme zu testen,
|
|
sollte eine Demo Anwendung entwickelt werden, welche
|
|
möglichst alle wichtigen Aspekte solcher Anwendungen
|
|
abdeckt. Zur Planung wurden kurz vor der Einreichung
|
|
der Arbeit einfache Skizzen der Anwendung
|
|
entwickelt, welche in Abbildung \ref{fig:skizzen} zu sehen sind,
|
|
jede Skizze stellt eine Seite der Anwendung dar. Die
|
|
Seiten sind nummeriert und werden im folgenden genauer
|
|
erläutert.
|
|
|
|
\begin{figure}[H]
|
|
\caption{Skizzen der Anwendung}
|
|
\label{fig:skizzen}
|
|
\centering
|
|
\includegraphics[width=5in]{./assets/skizzen/alle.pdf}
|
|
\end{figure}
|
|
|
|
Die Startseite der Anwendung (1) ist freigelassen und soll nur
|
|
ein Platzhalter sein von welchem aus die verschiedenen
|
|
Funktionalitäten der Anwendung mithilfe eines Menüs
|
|
erreicht werden können. In der Skizze wird dieses Menü durch
|
|
den Hamburger Button oben links in den Fenstern dargestellt,
|
|
dieser soll beim Klicken ein Auswahlmenü für die anderen Fenster öffnen.
|
|
|
|
Die folgende Tabelle \ref{skizzenTabelle} erläutert die Funktionen, die in den
|
|
anderen Fenstern der Anwendung getestet werden sollen:
|
|
|
|
\begin{table}[H]
|
|
\caption{Funktionen der Skizzen}
|
|
\label{skizzenTabelle}
|
|
\resizebox{\textwidth}{!}{%
|
|
\begin{tabular}{|l|l|}
|
|
\hline
|
|
Fenster mit Nummerierung & Funktionen, die hier getestet werden sollen \\ \hline
|
|
Material 3 Widgets (2) & \begin{tabular}[c]{@{}l@{}}Anzeige von einer Auswahl von verschiedenen Material Widgets\\ zur Demonstration\end{tabular} \\ \hline
|
|
Open API Tagesschau (3) & \begin{tabular}[c]{@{}l@{}}Anzeige einer endlos scrollbaren Liste, welche Nachrichten von\\ der öffentlich zugänglichen Tagesschau API anzeigt.\end{tabular} \\ \hline
|
|
Video-Playback (4) & Test des Video-Playbacks. \\ \hline
|
|
Morse Code (5) & \begin{tabular}[c]{@{}l@{}}In einer Texteingabe soll ein Text geschrieben werden können, \\ welcher dann auf einer am Raspberry Pi angeschlossen Led\\ als Morsecode abgespielt werden soll. Die Ansteuerung der Led\\ \\ Dient als Demo für GPIO Geräte, in diesem Fall ein Output.\\ Zusätzlich soll auch eine Möglichkeit zur Eingabe des Textes\\ implementiert werden, da Flutter im eingebetteten Linux Bereich\\ nicht automatisch eine Tastatur bereitstellt.\end{tabular} \\ \hline
|
|
Pixel Matrix (6) & \begin{tabular}[c]{@{}l@{}}Auf einer 8x8 Pixel Matrix soll mit einer Farbauswahl durch\\ den Touch Input gemalt werden können. Das gemalte Bild soll\\ gleichzeitig auf eine RGB Matrix live übertragen werden,\\ welche über den SPI (Serial Peripheral Interface) angesprochen\\ wird.\end{tabular} \\ \hline
|
|
System Informationen (7) & \begin{tabular}[c]{@{}l@{}}Zwei Graphen sollen jeweils die CPU-Auslast und den\\ RAM-Verbrauch des Raspberry Pis anzeigen. Die Auslesung\\ dieser Daten soll über Linux Terminal Befehle geschehen \\ und dies demonstrieren.\end{tabular} \\ \hline
|
|
Einstellungen (8) & \begin{tabular}[c]{@{}l@{}}In den Einstellungen soll ein Nachtmodus aktiviert und\\ deaktiviert werden können, welcher das Design der kompletten\\ Anwendung live entsprechend verändert. Es soll auch das\\ WLAN des Raspberry Pis angesteuert werden können. Man soll\\ den Netzwerk Manager von Linux ansprechen und eine neue\\ Verbindung einrichten können.\end{tabular} \\ \hline
|
|
OpenStreetMap (9) & \begin{tabular}[c]{@{}l@{}}Eine Weltkarte soll live als Raster-Karte geladen werden als\\ interaktiven Leistungstest mit Multi-Touch-Gesten. Man soll rein- und\\ rauszoomen können.\end{tabular} \\ \hline
|
|
Videospiel (10) & \begin{tabular}[c]{@{}l@{}}Als Leistungstest soll ein Open Source Demo Spiel angezeigt \\ werden welches in Flutter implementiert wurde und die\\ Leistung der Render Engine von Flutter auf dem Gerät austestet. \\ Dieses soll nicht selber implementiert werden, \\ sondern es soll eines der Beispiele von Google genutzt werden.\end{tabular} \\ \hline
|
|
\end{tabular}%
|
|
}
|
|
\end{table}
|
|
|
|
In der Implementierung der Anwendung wurden manche Inhalte
|
|
der Seiten leicht abgeändert. Die größte Änderung ist die Untertrennung
|
|
mehrerer Seiten auf eine "Benchmark" Seite in der sowohl das Videospiel,
|
|
die OpenStreetMap und auch der Video-Player getestet werden können. Zusätzlich
|
|
wurde ein VSync Test und ein weiterer Spiel-Benchmark hinzugefügt. Die
|
|
fertige Anwendung ähnelt dem Plan jedoch noch stark und alle fertigen
|
|
Seiten mit ihren implementierten Funktionen werden im Kapitel \ref{features}
|
|
genauer erläutert.
|
|
|
|
## Verwendete Komponenten
|