Inhaltsverzeichnis
- Prüfungsleistung
- Buildroot
- QR-Code und Impfzertifikat
- Hardware des Raspberry Pi 4
- QEMU
- Konfigurationsmanagement mit Buildroot
- Seminararbeit bzw. Teildokumentation + Kurzvortrag
- Bewertungskriterien:
- Detaillierungsgrad (Nachvollziehbarkeit)
- Umfang: 10 Seiten (A4, 11pt, Word)
- Vortrag: 30 min + 15 min Diskussion
- Demo: 13.10.21
- Abgabe Doku: 17.10.21
- optional: Image-Battle unter 15 MB
- Arbeit soll Ansprüchen wissenschaftlichen Arbeitens genügen
- Zusammenarbeit erwünscht
- Webcam
- Webzugriff auf RPI Cam über Access-Point
- QR-Scanner für Impfzertifikate
- QR-Code einlesen, auswerten und Aktion realisieren
- Raspberry Pi Hardware
- Buildroot / Image-Erzeugung
- Kernelkonfiguration
- Webserver / Motion (Stream-Software für Kamera)
- Konfigurationsmanagement
- WLAN
- DHCP
optional:
- QR-Code, digitales Impfzertifikat, Testbestätigung
- Servobetrieb für bewegliche Kamera
- QEMU-Simulation des Pi 4
Buildroot ist ein Tool zum Bauen von Embedded Linux Images.
- buildroot herunterladen und entpacken
make <board>_defconfig
, wobei <board> eine Konfiguration aus demboards
-Ordner istmake menuconfig
öffnet eine TUI zur Konfigurationsanpassung (WSL2
braucht eventuellapt install libncurses-dev
)- eigene Dateien können via Overlay-Ordner im Board-Verzeichnis abgelegt werden
make
baut das Image- Image auf SD-Karte kopieren:
sudo dd if=output/images/sdcard.img of=/dev/sdX
- steht für "Quick Response"
- 2D-Matrix aus schwarzen und weißen Quadraten, in denen Zeichen codiert sind
- Weiterentwicklung des Barcodes
$\rightarrow$ wesentlich höhere Zeichenmenge möglich
- aufgeteilt in Ruhezone und Datenbereich
- Ruhezone trennt Code von Umgebung, hilft bei Bildverzerrung, zeigt Ausrichtung an
- Synchronisationscode zur Größenbestimmung durch abwechselnde schwarze und weiße Zellen zwischen Positionsmarkern
- Formatinformationen über Datenmaske und Prüfbits für diese (XOR)
- verschiedene Versionen für verschiedene Größen (21x21 bis 177x177)
- verschiedene Encoding-Modes für numerisch, alphanumerisch, End of Message
- Datenstream: Mode, Bitstream, EOM
base45
-codiert in QR-Code- decodiert: signiertes JSON
- App lädt öffentliche Schlüssel zum Entschlüsseln der Signatur
- Signatur wird auf Gültigkeit geprüft
- Details zum Signaturverfahren: Krypto Semester 4
- Motivation: günstiger + einfacher Computer zur Steigerung des Interesse an Computertechnik und Programmierung
- flexibler Einsatz: Radio- / Funkmodule, Roboter, NAS- und Server-Betrieb, Anlagen-Steuerung, Prozessüberwachung, u.v.m.
- gängige Betriebssysteme: Raspberry Pi OS, KODI/OSMC, Ubuntu Core / Server, Retro Pie / Lakka Linux
- Broadcom SoC mit ARM Cortex A-72 64-Bit CPU mit 4 Kernen und bis zu 1,5GHz
- = energiesparende RISC-CPU
$\rightarrow$ gut geeignet für Embedded Systems
- = energiesparende RISC-CPU
- GPU mit bis zu 500MHz, OpenGL-Support
- LP-DDR4-SDRAM (je nach Modell des Pi 4: 1 bis 8 GB)
-
LP
: Low Power; 1,1V
-
- Interfaces:
- 2x miniHDMI
- Klinkenausgang
- Ethernet mit bis zu 300Mbit/s
- Dual-Band WiFi
- Bluetooth 5.0
- 2x USB 2.0
- 2x USB 3.0
- microSD-Karte
- 40 Pins (davon 26 GPIO)
- Display Serial Interface (DSI)
- Camera Serial Interface (CSI)
- 5,1V 3A USB-C Input
- pHats: Hardware Attached on Top
- Komponenten benötigen EEPROM mit Hardware-Informationen
- z.B.: Coaxial-Adapter, Servomotoren, PoE, u.v.m.
- PiCamera
- über CSI angeschlossen
- verschiedene Generationen, 5MP bis 12,3MP
- Touch-Bildschirme via DSI angeschlossen
- nutzt
Kernel Virtual Machine
(KVM) von Linux - simuliert x86, ARM, u.v.m.
- Emulation fremder Architekturen jedoch langsam
- Emulation Raspberry Pi 3 mit
qemu-system-aarch64
mit-M type=raspi2
oder-M type=raspi3
- kein RaspberryPiOS mit 64bit Kernel vorhanden
- Repo auschecken
- Erweitern des RaspberryPiOS-Image um 4 GiB mit
dd
- Einhängen des Images mit
losetup -f -P --show
- Vergrößern der 2. Partition auf Image-Grenze
- Mounten des Images mit Schreibzugriff
- Optimale OS-Anpassung an gewünschten Zweck
- Weglassen unnötiger Komponenten
- höhere Geschwindigkeit
- in der
.config
-Datei ist die gesamte Buildroot-Konfiguration für das Image gespeichert defconfig
-Dateien sind kleinere Dteien, die alle Änderungen zur Standardkonfiguration enthalten
make raspberrypi4_defconfig
erstellt Standardkonfiguration für Pi 4make config
: textbasierte Konfigurationmake menuconfig
: TUImake gconfig
: GTK-GUImake xconfig
: QT-GUImake nconfig
: TUI (original curses-basiert, ähnlich menuconfig)- Overlay spezifizieren: Option
Root filesystem overlay directories
im MenüSystem configuration