Eingebettete Software - Autostart Qt-Anwendung ein Screenshot eines Computers

Autostart Qt-Anwendung

Yocto und Raspberry Pi 4

Meta-Layer einrichten

Im ersten Schritt müssen Sie die Meta-Layer-Konfiguration Ihres Yocto-Projekts einrichten. Wir haben zwei benutzerdefinierte Meta-Layer erstellt und im weiteren Text einen Download-Link bereitgestellt.

Meta-Layer-Begrüßungsbildschirm

Sie können einen Meta-Layer hinzufügen, um einen benutzerdefinierten Begrüßungsbildschirm zu verwenden. Wie Sie diesen Meta-Layer verwenden, erfahren Sie in Yocto Raspberry Pi 4 mit benutzerdefiniertem Begrüßungsbildschirm.

Sie können die Meta-Layer-ZIP-Datei über den Browser von meta-interelectronix-rpi.zip herunterladen.

Meta-Layer-Qt und Demoanwendung

Sie können die Meta-Layer-ZIP-Datei über den Browser von meta-interelectronix-rpi-qt.zip herunterladen.

Dieser Meta-Layer enthält Einrichtungsinformationen zum Einbinden von Qt und der Qt-Demoanwendung. Wir verwenden die Qt-Demoanwendung für den Autostart, da sie in den Qt-Recipes verfügbar ist.

Der Layer enthält auch die Image-Informationen "qt5-ix-basic-image", die wir später zum Erstellen des Projekts benötigen.

bitbake -k qt5-ix-basic-image

Meta-Layer in bblayers.conf einbinden

Jetzt können Sie die heruntergeladenen Layer Ihrer Yocto-Datei project bblayers.conf hinzufügen. Wenn Sie die Einstellungen aus Yocto erstelltes Raspberry Pi 4 in einer Docker-Umgebung verwenden, sollte die Datei bblayers.conf wie folgt aussehen:

BBLAYERS ?= " \
  /workdir/poky-honister/meta \
  /workdir/poky-honister/meta-poky \
  /workdir/poky-honister/meta-yocto-bsp \
  /workdir/poky-honister/meta-openembedded/meta-oe \
  /workdir/poky-honister/meta-openembedded/meta-multimedia \
  /workdir/poky-honister/meta-openembedded/meta-networking \
  /workdir/poky-honister/meta-openembedded/meta-perl \
  /workdir/poky-honister/meta-openembedded/meta-python \
  /workdir/poky-honister/meta-raspberrypi \
  /workdir/poky-honister/meta-security \ 
  /workdir/poky-honister/meta-qt5 \
  /workdir/rpi-build/meta-interelectronix-rpi \
  /workdir/rpi-build/meta-interelectronix-rpi-qt \
  "

Wenn Sie Ihr eigenes Projekt verwenden, müssen Sie die Dateipfade an Ihre Bedürfnisse anpassen.

Autostart Qt-Konfiguration

Für den Autostart der Qt-Demo-Anwendung verwenden wir systemd und installieren einen Dienst. Alle benötigten Dateien und Konfigurationsdateien sind in der oben heruntergeladenen Datei meta-interelectronix-rpi-qt.zip enthalten.

qt_demo_start.service

Die benötigten Dateien werden im Verzeichnis "meta-interelectronix-rpi-qt/recipes-ext/systemd/..." gespeichert.

local.conf

Sie müssen systemd in der Datei local.conf in Ihrem Yocto-Projekt aktivieren.

Yocto local.conf

Zumindest müssen Sie Ihre local.conf-Konfigurationsdatei für Ihr Projekt anpassen. Laden Sie bblayers.conf und local.conf von rpi4-build.zip herunter und verwenden Sie sie so, wie sie sind, oder überprüfen Sie sie und kopieren Sie die benötigten Abschnitte in Ihr Projekt.

systemd

Um systemd zu aktivieren, sollten die folgenden Zeilen Ihrer local.conf-Datei hinzugefügt werden:

## systemd settings
DISTRO_FEATURES:append = " security systemd usbhost ${DISTRO_FEATURES_LIBC}"

INIT_MANAGER = "systemd"

VIRTUAL-RUNTIME:init_manager = "systemd"
VIRTUAL-RUNTIME:initscripts = "systemd-compat-units"

Informationen zur Qt-Lizenz

Bitte achten Sie darauf, wenn Sie Qt in einem kommerziellen Projekt verwenden. Die Lizenzvereinbarungen von Qt sind nicht einfach zu verstehen und nicht einfach zu bedienen. Einige kritische Gedanken und Einblicke finden Sie im Blog Yocto/Qt5: hello-qt part2 – Lizenzierung von Robert Berger.

Anregungen oder Fehler

Wenn Sie Verbesserungsvorschläge haben oder Fehler entdecken – zögern Sie nicht, das Kontaktformular am Ende dieser Seite zu nutzen und uns diese mitzuteilen.

Urheberrechtslizenz

Copyright © 2022 Interelectronix e.K.
Dieser Projekt-Quellcode ist unter der GPL-3.0 Lizenz lizenziert.