Embedded Software - Autostart Qt application isang screenshot ng isang computer

Autostart Qt application

Yocto at Raspberry Pi 4

Pag setup ng Meta layer

Para sa unang hakbang mayroon kang upang i setup ang meta layer configuration ng iyong proyekto Yocto. Lumikha kami ng 2 pasadyang meta layer at magbigay ng isang link sa pag download sa karagdagang teksto.

Meta-layer splash screen

Maaari kang magdagdag ng isang meta layer upang gumamit ng isang pasadyang splash screen. Paano gamitin ang meta layer na ito ay inilarawan sa Yocto Raspberry Pi 4 na may pasadyang splash screen.

Maaari mong i-download ang meta-layer zip file sa pamamagitan ng browser mula sa meta-interelectronix-rpi.zip.

Meta-layer Qt at demo application

Maaari mong i-download ang meta-layer zip file sa pamamagitan ng browser mula sa meta-interelectronix-rpi-qt.zip.

Ang meta-layer na ito ay naglalaman ng setup informations para sa pagsasama ng Qt at Qt demo application. Ginagamit namin ang Qt demo application para sa autostart bilang ito ay magagamit sa mga recipe ng Qt.

Kasama rin sa layer ang impormasyon ng imahe na "qt5-ix-basic-image", na kailangan natin kalaunan para sa pagbuo ng proyekto gamit ang

bitbake -k qt5-ix-basic-image

Isama ang meta layer sa bblayers.conf

Ngayon ay maaari mong idagdag ang na download na mga layer sa iyong proyekto ng Yocto bblayers.conf file. Kung gagamitin mo ang pag setup tulad ng inilarawan sa Yocto bumuo ng Raspberry Pi 4 sa isang docker na kapaligiran ang bblayers.conf file ay dapat magmukhang tulad ng:

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 \
  "

Kung gumagamit ka ng iyong sariling proyekto, kailangan mong ayusin ang mga landas ng file sa iyong mga pangangailangan.</:code2:></:code1:>

Pag configure ng Autostart Qt

Upang autostart ang Qt demo application, gumagamit kami ng systemd at mag install ng isang serbisyo. Lahat ng kinakailangang file at mga file ng pagsasaayos ay kasama sa file na na-download na meta-interelectronix-rpi-qt.zip file.

qt_demo_start.service

Ang mga kinakailangang file ay naka-imbak sa direktoryo na "meta-interelectronix-rpi-qt/recipes-ext/systemd/...".

local.conf

Kailangan mong i activate ang systemd sa local.conf file sa iyong proyekto ng Yocto.

Yocto local.conf

Hindi bababa sa mayroon kang upang ayusin ang iyong local.conf configuration file ng iyong proyekto. I-download ang bblayers.conf at local.conf mula sa rpi4-build.zip at gamitin ang mga ito ayon sa mga ito o inspeksyon ang mga ito at kopyahin ang mga kinakailangang bahagi sa iyong proyekto.

systemd

Upang i activate ang systemd ang mga sumusunod na linya ay dapat idagdag sa iyong local.conf file:

## 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"

Qt lisensya informations

Mangyaring bigyang pansin kung gumagamit ka ng Qt sa isang komersyal na proyekto. Ang mga kasunduan sa lisensya ng Qt ay hindi madaling maunawaan at hindi madaling gamitin. Makikita mo ang ilang mga kritikal na kaisipan at pananaw sa blog Yocto/Qt5: hello-qt part2 - Licensing of Robert Berger.

Mga mungkahi o pagkakamali

Kung may mga mungkahi ka para sa mga pagpapabuti o may nakita kang ilang pagkakamali - huwag mag-atubiling gamitin ang contact form sa dulo ng pahinang ito at ipaalam ito sa amin.

Lisensya sa Copyright

Copyright © 2022 Interelectronix e.K.
Ang source code na ito ng Proyekto ay lisensyado sa ilalim ng GPL-3.0 lisensya.