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}
|
|
```
|