Sulautetut ohjelmistot Raspberry Pi - Yocto - Vadelma - PIGPIO - Qt kuvakaappaus tietokoneohjelmasta

Yocto – Raspberry – PIGPIO – Qt

Linux, johon sisältyy Pigpio-kirjasto ja Qt-työkaluketju

bitbake resepti pigpio

Luo resepti Pigpio-kirjastolle

Tätä projektia varten tarvitset Pigpio-kirjaston, jotta sinulla on pääsy I2C-, SPI- ja muihin GPIO:ihin yhden kirjaston kautta.

Valitettavasti emme löytäneet sille reseptiä Yocton yhteisistä meta-tasoista ja meidän on luotava oma.

pigpio_git.bb resepti

Mukautetun Yocto-reseptin luominen ei ole kovin vaikeaa – mutta sen yksityiskohdat voivat olla.

Normaali menettely on hankkia lähde ja käsitellä se bitbakella:

<: code1:>

Mutta jos käsittelet Pigpion bitbakella, saat virheilmoituksia, koska verioituja kirjaston sivuja ei ole konfiguroitu ja man-sivujen sijaintia ei käsitellä oikein.

manpages error

Ensin tapahtuu seuraava virhe:

<: code2:>

Voit korjata tämän virheen seuraavilla asetuksilla:

FILES:${PN}-doc += "\
     /usr/man/man1/pigs.1 \
     /usr/man/man1/pig2vcd.1 \
     /usr/man/man1/pigpiod.1 \
     /usr/man/man3/pigpio.3 \
     /usr/man/man3/pigpiod_if.3 \
     /usr/man/man3/pigpiod_if2.3 \
"

non-symlink error

Kun olet korjannut man-sivujen virheen, seuraava virhe tulee esiin:

ERROR: pigpio-git-r0 do_package_qa: QA Issue: pigpio rdepends on pigpio-dev [dev-deps]
ERROR: pigpio-git-r0 do_package_qa: QA Issue: -dev package pigpio-dev contains non-symlink .so '/usr/lib/libpigpio.so'
-dev package pigpio-dev contains non-symlink .so '/usr/lib/libpigpiod_if2.so'
-dev package pigpio-dev contains non-symlink .so '/usr/lib/libpigpiod_if.so' [dev-elf]

Näin tapahtuu, koska "CMakeLists.txt":stä ei ole luotu versioituja kirjastoja. Tämä korjataan lisäämällä seuraava:

SOLIBS = ".so"
FILES_SOLIBSDEV = ""

systemd autostart pigpiod

Pigpio-daemonin voi käynnistää automaattisesti lisäämällä seuraavat:

do_install() {
    install -d ${D}${bindir}
    install -d ${D}${libdir}
    install -d ${D}${PYTHON_SITEPACKAGES_DIR}
     
    install -m 0644 ${S}/pigpio.py ${D}${PYTHON_SITEPACKAGES_DIR}

    install -d ${D}${systemd_system_unitdir}
    install -m 0644 ${S}/util/pigpiod.service ${D}${systemd_system_unitdir}

    cmake_do_install
}

SYSTEMD_SERVICE:${PN} = "pigpiod.service"

Huomautus

Jos tarvitset header-tiedostot kehitettäväksi, sinun on asennettava IMAGE_FEATURES "dev-pkgs

IMAGE_FEATURES += "package-management dev-pkgs doc-pkgs"

Lataa pakattu meta-taso, jossa on meta-interelectronix-rpi:n resepti.

Globaali kuvan konfigurointi

local.conf-asetukset

Lataa pakatut kokoonpanon konfiguraatiotiedot tiedostot rpi4-kokoonpanosta.

Katsotaan ensin bblayers.conf-tiedostoa. Sisällä on tarvittavat meta-tasot. Lataa meta-tasot, jos et ole jo tehnyt niin, ja muokkaa bblayers.conf-tiedostoasi.

Seuraavaksi katsotaan local.conf-tiedostoa.

# I2C-asetukset

Jos haluat kytkeä anturisirua (esim. lämpötila-anturia), yhdistettynä I2C:hen, sinun on otettava I2C käyttöön local.conf-tiedostossa.

ENABLE_I2C = "1"
KERNEL_MODULE_AUTOLOAD_rpi += " i2c-dev"

Poista X11 ja Wayland

Bitbake-prosessissa on monia virheitä, jos emme poista X11:tä ja Waylandia

Meidän tapauksessamme – koska meillä ei ole tarvetta useille ikkunoille – poistamme ne.

DISTRO_FEATURES:remove = "ptest x11 wayland vulkan directfb"

Jotta eglfs:t toimivat oikein, lisätään seuraava:

VC4DTBO ?= "vc4-fkms-v3d"

bitbake Raspberry kuva

Luo kuvan asetustiedosto

Tiedostossa "rpi4-64-qt5-gpio-image.bb" määrittellään, mitä linux-jakeluun tarvitaan. Tässä kohtaa voit – kuten aiemmin mainittiin – lisätä IMAGE_FEATURES "dev-pkgs":n.

Tiedosto on jaettu useisiin osiin, kuten esimerkiksi DEV-SDK, EXTRA_TOOLS ja niin edelleen, jotta tarvittavat paketit on helppo lisätä.

pigpio-paketti

Tämä paketti on lisätty kohtaan CUSTOM_STUFF:

CUSTOM_STUFF = " \
    pigpio \
"

Qt-paketit

Qt: n tarvitsemat paketit lisätään pakettiryhmiin ja nämä pakettiryhmät lisätään tänne:

<: code12:>

Löydät "packagegroup-qt5"-tiedostosta "packagegroup-qt5.bb"-tiedoston ja voit lisätä tai poistaa Qt-paketteja.

Lataa pakattu meta-taso, jossa on meta-interelectronix-rpi-qt:n kuva.Sen jälkeen voit käsitellä kuvan bitbakella:

bitbake rpi4-64-qt5-gpio-image

bitbake SDK

Luo SDK-työkaluketju

Jos haluat kehittää Qt-sovelluksen tälle mukautetulle Linux-jakelulle, haluat varmasti luoda työkaluketjun, jotta voit lisätä sen QtCreatorin asetuksiin.

Voit helposti luoda SDK:n seuraavalla bitbake-komennolla:

<: code14:>

Kuvan asetustiedostoon on lisätty pakettiryhmät "packagegroup-qt5-toolchain-target packagegroup-qt5-qtcreator-debug".

Asenna SDK

Löydät luodun SDK:n seuraavasta hakemistosta:

/tmp/deploy/sdk

Meidän tapauksessamme sen nimi on "poky-glibc-x86_64-rpi4-64-qt5-gpio-image-cortexa72-raspberrypi4-64-toolchain-3.4.3.sh".

Tämä tiedosto sisältää asennusohjeet ja kaikki tarvittavat tiedostot (pakattuna).

Kopioi tämä tiedosto kehitystietokoneellesi ja suorita se:

./poky-glibc-x86_64-rpi4-64-qt5-gpio-image-cortexa72-raspberrypi4-64-toolchain-3.4.3.sh

Seuraa SDK:n asennusohjeita.

Tekijänoikeuslisenssi

Copyright © 2022 Interelectronix e.K.
Tämän projektin lähdekoodi on lisensoitu **GPL-3.0 ** -lisenssillä.