178 lines
5.4 KiB
Markdown
178 lines
5.4 KiB
Markdown
|
### Raspberry Pi 4
|
||
|
|
||
|
Für das Projekt wurde ein Raspberry Pi 4 verwendet,
|
||
|
ein Einplatinencomputer, der von der Raspberry Pi Foundation
|
||
|
in Zusammenarbeit mit Broadcom entwickelt wurde.
|
||
|
Der Raspberry Pi wurde für das Projekt ausgewählt, da
|
||
|
der er weltweit der bekannteste Einplatinencomputer
|
||
|
ist und eine große Community hat. Die Leistungsmerkmale aller
|
||
|
verschiedenen Modelle des Raspberry Pi sind daher
|
||
|
online gut dokumentiert und Leser dieser Arbeit
|
||
|
können leicht daran ausmachen, welche alternativen
|
||
|
Einplatinencomputer mit ähnlichen Leistungsmerkmalen
|
||
|
verwendet werden können für ein ähnliches Ergebnis oder
|
||
|
welche Einplatinencomputer schneller oder langsamer
|
||
|
sind.
|
||
|
|
||
|
Der Pi 4 wurde anstelle des neueren Pi 5 verwendet,
|
||
|
weil der Pi 5 zum Zeitpunkt der Arbeit noch zu neu ist und
|
||
|
es daher nicht viele Vergleichswerte gibt. In Abbildung
|
||
|
\ref{raspberry1} ist ein Überblick über die für das Projekt
|
||
|
relevante Hardware des Raspberry Pi 4 zu sehen. Dazu gehören
|
||
|
der System-on-a-Chip (SoC) und der Arbeitsspeicher für
|
||
|
die Leistungsmerkmale für den Leistungstest mit Flutter
|
||
|
und die Multimediafähigkeiten für den Test zum Abspielen
|
||
|
von Videos.
|
||
|
|
||
|
\begin{figure}[H]
|
||
|
\caption{Überblick über die Hardware des Raspberry Pi 4}
|
||
|
\label{raspberry1}
|
||
|
\begin{center}
|
||
|
\begin{tcolorbox}[width=15cm]
|
||
|
|
||
|
\begin{tabular}{lll}
|
||
|
System-on-a-Chip (Ein-Chip-System) & Broadcom BCM2711, \\
|
||
|
& 4-Kern Cortex-A72 (ARM v8) 64-bit SoC \\
|
||
|
& @ 1.8GHz \\
|
||
|
Arbeitsspeicher & 4 GB LPDDR4-3200 SDRAM \\
|
||
|
Multimedia & H.265 (4kp60 decode), \\
|
||
|
& H.264 (1080p60 decode, 1080p30 encode) \\
|
||
|
& OpenGL ES 3.1, Vulkan 1.0 \\
|
||
|
\end{tabular}
|
||
|
|
||
|
\end{tcolorbox}
|
||
|
\end{center}
|
||
|
\end{figure}
|
||
|
|
||
|
### 15.6 Zoll WaveShare Display
|
||
|
|
||
|
Als Display wurde ein 15.6 Zoll IPS(QLED) Touchscreen Monitor
|
||
|
von der Firma WaveShare verwendet. WaveShare hat sich auf die
|
||
|
Herstellung von Hardware für eingebettete Systeme spezialisiert
|
||
|
und die Treiber für den Touchscreen sind im Linux-Kernel
|
||
|
enthalten und müssen nicht manuell installiert werden. [@156inchQLED]
|
||
|
In Abbildung \ref{waveShare} ist zu sehen, wie der Raspberry Pi 4
|
||
|
mit dem Display verbunden ist. Dieser Monitor dient als Anzeige
|
||
|
für die Flutter Anwendung und wird über dem Touchscreen bedient.
|
||
|
|
||
|
```{=latex}
|
||
|
\begin{figure}[H]
|
||
|
\centering
|
||
|
\caption{WaveShare 15.6 Zoll IPS(QLED) Monitor mit Raspberry Pi 4}
|
||
|
\label{waveShare}
|
||
|
\includegraphics[width=10cm]{./assets/raspberry/waveshare.jpg}
|
||
|
|
||
|
<!-- prettier-ignore -->
|
||
|
\caption*{
|
||
|
```
|
||
|
|
||
|
Quelle: @156inchQLED
|
||
|
|
||
|
```{=latex}
|
||
|
}
|
||
|
\end{figure}
|
||
|
```
|
||
|
|
||
|
### Sparkfun RGB Led Matrix
|
||
|
|
||
|
Die Sparkfun RGB Led Matrix ist ein 8x8 LED-Panel, das
|
||
|
über ein SPI-Interface mit dem Raspberry Pi verbunden
|
||
|
wird. Die im Projekt genutzte Matrix wird mittlerweile
|
||
|
nicht mehr hergestellt, was aber kein Problem darstellt,
|
||
|
da andere SPI-LED-Panels von vielen anderen Herstellern
|
||
|
ähnlich mit einem SPI-Interface angesprochen werden. Mit
|
||
|
nur leichten Anpassungen im Code für unter anderem eine andere
|
||
|
Auflösung des Panels sollten auch andere LED-Panels
|
||
|
problemlos wie in dem Projekt genutzt werden können. In
|
||
|
dem Projekt kommt es nur darauf an zu zeigen,
|
||
|
wie das SPI-Interface des Raspberry Pis genutzt werden
|
||
|
kann mit Flutter.
|
||
|
|
||
|
```{=latex}
|
||
|
\begin{figure}[H]
|
||
|
\centering
|
||
|
\caption{Sparkfun RGB Led Matrix}
|
||
|
\label{waveShare}
|
||
|
\includegraphics[width=10cm]{./assets/raspberry/rgbMatrix.jpg}
|
||
|
|
||
|
<!-- prettier-ignore -->
|
||
|
\caption*{
|
||
|
```
|
||
|
|
||
|
Quelle: @SparkFunLEDMatrixa
|
||
|
|
||
|
```{=latex}
|
||
|
}
|
||
|
\end{figure}
|
||
|
```
|
||
|
|
||
|
### Schaltplan des Projekts
|
||
|
|
||
|
In Abbildung \ref{schaltplan} ist der Schaltplan des Projekts zu sehen.
|
||
|
Für den Morsecode-Übersetzer wird eine handelsübliche rote LED
|
||
|
verwendet. Mehr Hardware wird nicht benötigt als in dem Schaltplan
|
||
|
dargestellt.
|
||
|
|
||
|
\begin{figure}[H]
|
||
|
\centering
|
||
|
\caption{Schaltplan des Raspberry Pi 4 mit der Led und Sparkfun RGB Led Matrix}
|
||
|
\label{schaltplan}
|
||
|
\includegraphics[width=10cm]{./assets/raspberry/wiring.pdf}
|
||
|
\end{figure}
|
||
|
|
||
|
### Zusätzliches Testgerät
|
||
|
|
||
|
Als zusätzliches Testgerät wurde ein Raspberry Pi 0 2W verwendet
|
||
|
mit dem Zero-DISP-7A Display von Waveshare, welches ein 7 Zoll
|
||
|
Touchscreen Display mit einer Auflösung von 1024x600 Pixeln ist
|
||
|
[@ZeroDISP7AWaveshareWiki]. Der Pi 0 2W wird direkt an dem
|
||
|
Display angeschlossen und dieses Testgerät gilt als Referenz
|
||
|
für einen Leistungstest mit der selben Flutter-Anwendung
|
||
|
an einem leistungsschwächeren und kleineren eingebetteten System.
|
||
|
|
||
|
Dieses zusätzliche Testgerät wurde nur am Ende des Projekts mit
|
||
|
der erstellten Linux Distribution getestet, welche dazu angepasst
|
||
|
wurde auch den Pi 0 2W zu unterstützen. In Kapitel \ref{yoctoChapter} wird
|
||
|
weiter darauf eingegangen. In Abbildung \ref{raspberry2} ist
|
||
|
ein Überblick über die für das Projekt relevante Hardware des
|
||
|
Raspberry Pi 0 2W zu sehen und in Abbildung \ref{waveShare}
|
||
|
ist zu sehen, wie der Raspberry Pi 0 2W mit dem Display verbunden
|
||
|
ist.
|
||
|
|
||
|
\begin{figure}[H]
|
||
|
\caption{Überblick über die Hardware des Raspberry Pi 0 2W}
|
||
|
\label{raspberry2}
|
||
|
\begin{center}
|
||
|
\begin{tcolorbox}[width=15cm]
|
||
|
|
||
|
\begin{tabular}{lll}
|
||
|
System-on-a-Chip (Ein-Chip-System) & Broadcom BCM2710A1, \\
|
||
|
& 4-Kern Cortex-A53 (ARM v8) 64-bit SoC \\
|
||
|
& @ 1GHz \\
|
||
|
Arbeitsspeicher & 512 MB LPDDR2 \\
|
||
|
Multimedia & H.264 (1080p30 decode, 1080p30 encode) \\
|
||
|
& OpenGL ES 1.1, 2.0 \\
|
||
|
\end{tabular}
|
||
|
|
||
|
\end{tcolorbox}
|
||
|
\end{center}
|
||
|
\end{figure}
|
||
|
|
||
|
```{=latex}
|
||
|
\begin{figure}[H]
|
||
|
\centering
|
||
|
\caption{Raspberry Pi 0 2W mit Zero-DISP-7A Display von Waveshare}
|
||
|
\label{zero}
|
||
|
\includegraphics[width=14cm]{./assets/raspberry/zero.jpg}
|
||
|
|
||
|
<!-- prettier-ignore -->
|
||
|
\caption*{
|
||
|
```
|
||
|
|
||
|
Quelle: @TouchDisplayKit
|
||
|
|
||
|
```{=latex}
|
||
|
}
|
||
|
\end{figure}
|
||
|
```
|