ਇੰਬੈੱਡ ਕੀਤਾ ਸਾੱਫਟਵੇਅਰ ਰਸਬੇਰੀ ਪਾਈ - ਯੋਕਟੋ - ਰਸਬੇਰੀ - PIGPIO - Qt ਕੰਪਿਊਟਰ ਪ੍ਰੋਗਰਾਮ ਦਾ ਸਕ੍ਰੀਨਸ਼ੌਟ

ਯੋਕਟੋ - ਰਸਬੇਰੀ - PIGPIO - Qt

ਪਿਗਪੀਓ ਲਾਇਬਰੇਰੀ ਅਤੇ Qt ਟੂਲਚੇਨ ਨਾਲ ਲੀਨਕਸ

ਬਿੱਟਬੇਕ ਪਕਵਾਨ-ਵਿਧੀ Pigpio

ਪਿਗਪੀਓ ਲਾਇਬਰੇਰੀ ਵਾਸਤੇ ਪਕਵਾਨ-ਵਿਧੀ ਬਣਾਓ

ਇਸ ਪ੍ਰੋਜੈਕਟ ਲਈ ਸਾਨੂੰ ਇੱਕ ਲਾਇਬਰੇਰੀ ਦੇ ਨਾਲ I2C, SPI ਅਤੇ ਹੋਰ GPIOs ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਪਿਗਪੀਓ ਲਾਇਬਰੇਰੀ ਦੀ ਲੋੜ ਹੈ।

ਬਦਕਿਸਮਤੀ ਨਾਲ ਸਾਨੂੰ ਯੋਕਟੋ ਲਈ ਸਾਂਝੀਆਂ ਮੈਟਾ-ਪਰਤਾਂ ਵਿੱਚ ਇਸਦਾ ਕੋਈ ਪਕਵਾਨ-ਵਿਧੀ ਨਹੀਂ ਮਿਲਿਆ ਅਤੇ ਸਾਨੂੰ ਆਪਣੀ ਖੁਦ ਦੀ ਸਿਰਜਣਾ ਕਰਨੀ ਪਈ।

pigpio_git.bb ਵਿਅੰਜਨ

ਯੋਕਟੋ ਵਾਸਤੇ ਇੱਕ ਵਿਉਂਤਬੱਧ ਪਕਵਾਨ-ਵਿਧੀ ਬਣਾਉਣਾ ਏਨਾ ਮੁਸ਼ਕਿਲ ਨਹੀਂ ਹੈ – ਪਰ ਵਿਸਥਾਰ ਵਿੱਚ ਇਹ ਹੋ ਸਕਦਾ ਹੈ।

ਮਿਆਰੀ ਪ੍ਰਕਿਰਿਆ ਹੈ, ਸਰੋਤ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਇਸ ਨੂੰ ਬਿੱਟਬੇਕ ਕਰਨ ਦੇਣ ਲਈ:

DESCRIPTION = "pigpio"
SECTION = "devel/libs"
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = "file://UNLICENCE"

COMPATIBLE_MACHINE = "^rpi$"

SRC_URI = "git://github.com/joan2937/pigpio.git;protocol=https;tag=v79 \
"

S = "${WORKDIR}/git"

inherit pkgconfig cmake

ਪਰ ਜੇ ਤੁਸੀਂ "ਬਿੱਟਬੇਕ ਪਿਗਪੀਓ" ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਕੁਝ ਗਲਤੀਆਂ ਸੁੱਟਦਾ ਹੈ, ਕਿਉਂਕਿ ਇੱਥੇ ਕੋਈ ਸੰਸਕਰਣ ਲਾਇਬ੍ਰੇਰੀਆਂ ਸੰਰਚਿਤ ਨਹੀਂ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ ਅਤੇ ਮੈਨਪੇਜ ਫਾਈਲਾਂ ਦੀ ਸਥਿਤੀ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਹੈਂਡਲ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ।

manpages ਗਲਤੀ

ਪਹਿਲਾਂ ਹੇਠ ਲਿਖੀ ਗਲਤੀ ਆਉਂਦੀ ਹੈ:

ERROR: pigpio-git-r0 do_package: QA Issue: pigpio: Files/directories were installed but not shipped in any package:
  /usr/man
  /usr/man/man1
  ...

ਤੁਸੀਂ ਹੇਠ ਲਿਖੀਆਂ ਸੈਟਿੰਗਾਂ ਨਾਲ ਇਸ ਤਰੁੱਟੀ ਨੂੰ ਠੀਕ ਕਰ ਸਕਦੇ ਹੋ:

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

ਗ਼ੈਰ- symlink ਗਲਤੀ

ਮੈਨਪੇਜਾਂ ਨਾਲ ਤਰੁੱਟੀ ਨੂੰ ਠੀਕ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਅਗਲੀ ਗਲਤੀ ਸਾਹਮਣੇ ਆਉਂਦੀ ਹੈ:

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]

ਅਜਿਹਾ ਇਸ ਲਈ ਹੁੰਦਾ ਹੈ, ਕਿਉਂਕਿ "CMakeLists.txt" ਤੋਂ ਕੋਈ ਵਰਜਨ ਲਾਇਬਰੇਰੀਆਂ ਤਿਆਰ ਨਹੀਂ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ। ਇਸ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ, ਅਸੀਂ ਜੋੜਦੇ ਹਾਂ:

SOLIBS = ".so"
FILES_SOLIBSDEV = ""

systemd autostart pigpiod

ਪਿਗਪੀਓ ਡੈਮਨ ਨੂੰ ਆਟੋਸਟਾਰਟ ਕਰਨ ਲਈ, ਅਸੀਂ ਹੇਠ ਲਿਖਿਆਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਦੇ ਹਾਂ:

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"

ਨੋਟ

ਜੇਕਰ ਤੁਹਾਨੂੰ ਡਿਵੈਲਪਮੈਂਟ ਲਈ ਹੈੱਡਰ ਫਾਇਲਾਂ ਇੰਸਟਾਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ ਤਾਂ ਤੁਹਾਨੂੰ "dev-pkgs" IMAGE_FEATURES ਇੰਸਟਾਲ ਕਰਨੀ ਪਵੇਗੀ

IMAGE_FEATURES += "package-management dev-pkgs doc-pkgs"
ਮੈਟਾ-ਇੰਟਰਇਲੈਕਟ੍ਰੋਨਿਕਸ-rpi ਤੋਂ ਪਕਵਾਨ-ਵਿਧੀ ਦੇ ਨਾਲ ਜ਼ਿਪ ਕੀਤੀ ਮੈਟਾ-ਲੇਅਰ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ।

ਗਲੋਬਲ ਚਿੱਤਰ ਸੰਰਚਨਾ

local.conf ਸੈਟਿੰਗ

rpi4- build ਤੋਂ ਜ਼ਿਪ ਕੀਤੀਆਂ ਬਿਲਡ ਸੰਰਚਨਾ ਫਾਇਲਾਂ ਡਾਊਨਲੋਡ ਕਰੋ ।

ਪਹਿਲਾਂ bblayers.conf ਫਾਈਲ 'ਤੇ ਇੱਕ ਨਜ਼ਰ ਮਾਰੋ। ਤੁਹਾਡੇ ਅੰਦਰ ਲੋੜੀਂਦੀਆਂ ਮੈਟਾ-ਪਰਤਾਂ ਮਿਲਦੀਆਂ ਹਨ। ਮੇਟਾ-ਲੇਅਰਾਂ ਨੂੰ ਡਾਊਨਲੋਡ ਕਰੋ, ਜੇ ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਨਹੀਂ ਕੀਤਾ ਹੈ ਅਤੇ ਆਪਣੀ bblayers.conf ਫਾਇਲ ਨੂੰ ਅਡਜੱਸਟ ਕਰੋ।

ਦੂਜਾ ਸਥਾਨਕ.ਕਨਫ ਫਾਈਲ 'ਤੇ ਇੱਕ ਨਜ਼ਰ ਮਾਰੋ।

I2C ਸੈਟਿੰਗ

ਜੇਕਰ ਤੁਸੀਂ I2C ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਸੈਂਸਰ ਚਿੱਪ (ਉਦਾਹਰਨ ਲਈ ਇੱਕ ਤਾਪਮਾਨ ਸੈਂਸਰ) ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ local.conf ਫਾਈਲ ਵਿੱਚ I2C ਨੂੰ ਸਮਰੱਥ ਕਰਨਾ ਪਵੇਗਾ।

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

X11 ਅਤੇ Wayland ਹਟਾਓ

ਬਿੱਟਬੇਕ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਬਹੁਤ ਸਾਰੀਆਂ ਗਲਤੀਆਂ ਹਨ, ਜੇਕਰ ਅਸੀਂ X11 ਅਤੇ ਵੇਲੈਂਡ ਨੂੰ ਨਹੀਂ ਹਟਾਉਂਦੇ ਹਾਂ

ਸਾਡੇ ਮਾਮਲੇ ਵਿੱਚ - ਕਿਉਂਕਿ ਸਾਨੂੰ ਕਈ ਵਿੰਡੋਜ਼ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ - ਅਸੀਂ ਉਨ੍ਹਾਂ ਨੂੰ ਹਟਾ ਦਿੰਦੇ ਹਾਂ।

DISTRO_FEATURES:remove = "ptest x11 wayland vulkan directfb"

eglfs ਨੂੰ ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਵਰਤਣ ਲਈ, ਅਸੀਂ ਇਹ ਜੋੜਦੇ ਹਾਂ:

VC4DTBO ?= "vc4-fkms-v3d"

bitbake ਰਸਬੇਰੀ ਚਿੱਤਰ

ਚਿੱਤਰ ਸੰਰਚਨਾ ਫਾਇਲ ਬਣਾਓ

ਫਾਈਲ "rpi4-64-qt5-gpio-image.bb" ਵਿੱਚ ਅਸੀਂ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੇ ਹਾਂ ਕਿ ਸਾਨੂੰ ਆਪਣੀ ਲੀਨਕਸ ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਵਿੱਚ ਕਿਹੜੇ ਪੈਕੇਜਾਂ ਦੀ ਲੋੜ ਹੈ। ਇੱਥੇ ਤੁਸੀਂ - ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਜ਼ਿਕਰ ਕੀਤਾ ਗਿਆ ਹੈ - "dev-pkgs" IMAGE_FEATURES ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ।

ਫਾਇਲ ਨੂੰ ਕਈ ਭਾਗਾਂ ਵਿੱਚ ਵੰਡਿਆ ਜਾਂਦਾ ਹੈ ਜਿਵੇਂ ਕਿ DVD-SDK, EXTRA_TOOLS ਆਦਿ, ਆਸਾਨੀ ਨਾਲ ਲੋੜੀਂਦੇ ਪੈਕੇਜਾਂ ਨੂੰ ਜੋੜਨ ਲਈ।

pigpio ਪੈਕੇਜ

ਇਸ ਪੈਕੇਜ ਨੂੰ CUSTOM_STUFF ਤਹਿਤ ਜੋੜਿਆ ਗਿਆ ਹੈ:

CUSTOM_STUFF = " \
    pigpio \
"

Qt ਪੈਕੇਜ

Qt ਲਈ ਲੋੜੀਂਦੇ ਪੈਕੇਜਾਂ ਨੂੰ ਪੈਕੇਜ ਗਰੁੱਪਾਂ ਵਿੱਚ ਜੋੜਿਆ ਗਿਆ ਹੈ ਅਤੇ ਇਹ ਪੈਕੇਜ ਗਰੁੱਪ ਇੱਥੇ ਜੋੜੇ ਗਏ ਹਨ:

IMAGE_INSTALL:append += " packagegroup-qt5 packagegroup-qt5-toolchain-target packagegroup-qt5-qtcreator-debug"

ਤੁਸੀਂ "packagegroup-qt5" ਨੂੰ ਫ਼ਾਈਲ "packagegroup-qt5.bb" ਵਿੱਚ ਲੱਭ ਸਕਦੇ ਹੋ ਅਤੇ Qt ਪੈਕੇਜਾਂ ਨੂੰ ਜੋੜ ਜਾਂ ਮਿਟਾ ਸਕਦੇ ਹੋ।

ਮੇਟਾ-ਇੰਟਰਇਲੈਕਟ੍ਰੋਨਿਕਸ-rpi-qt ਤੋਂ ਚਿੱਤਰ ਨਾਲ ਜ਼ਿਪ ਕੀਤੀ ਮੈਟਾ-ਲੇਅਰ ਡਾਊਨਲੋਡ ਕਰੋ।

ਉਸ ਤੋਂ ਬਾਅਦ ਤੁਸੀਂ ਚਿੱਤਰ ਨੂੰ ਬਿੱਟਬੈਕ ਕਰ ਸਕਦੇ ਹੋ:

bitbake rpi4-64-qt5-gpio-image

bitbake SDK

SDK ਟੂਲਚੈਨ ਬਣਾਓ

ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਕਸਟਮ ਲੀਨਕਸ ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਲਈ Qt ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਵਿਕਸਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਯਕੀਨੀ ਤੌਰ 'ਤੇ ਇਸ ਨੂੰ ਆਪਣੀ QtCreator ਸੰਰਚਨਾ ਵਿੱਚ ਜੋੜਨ ਲਈ ਕਰਾਸ ਕੰਪਾਇਲ ਟੂਲਚੇਨ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ।

ਤੁਸੀਂ ਅੱਗੇ ਦਿੱਤੀ ਬਿੱਟਬੇਕ ਕਮਾਂਡ ਨਾਲ ਆਸਾਨੀ ਨਾਲ SDK ਬਣਾ ਸਕਦੇ ਹੋ:

bitbake -c populate_sdk rpi4-64-qt5-gpio-image

ਸਾਡੇ ਕੋਲ "packagegroup-qt5-toolchain-target packagegroup-qt5-qtcreator-debug" ਚਿੱਤਰ ਸੰਰਚਨਾ ਫਾਈਲ ਵਿੱਚ ਜੋੜੇ ਗਏ ਹਨ।

ਇੰਸਟਾਲ SDK

ਤੁਸੀਂ ਅੱਗੇ ਦਿੱਤੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਤਿਆਰ ਕੀਤੇ SDK ਨੂੰ ਲੱਭਦੇ ਹੋ:

/tmp/deploy/sdk

ਸਾਡੇ ਮਾਮਲੇ ਵਿੱਚ ਇਸ ਨੂੰ "ਪੋਕੀ-ਗਲਿਬਸੀ-x86_64-rpi4-64-qt5-gpio-image-cortexa72-raspberrypi4-64-toolchain-3.4.3.sh" ਦਾ ਨਾਮ ਦਿੱਤਾ ਗਿਆ ਹੈ।

ਇਸ ਫ਼ਾਈਲ ਵਿੱਚ ਸੈਟਅੱਪ ਹਿਦਾਇਤਾਂ ਅਤੇ ਸਾਰੀਆਂ ਲੋੜੀਂਦੀਆਂ ਫ਼ਾਈਲਾਂ (ਕੰਪ੍ਰੈਸਡ ਫਾਰਮੈਟ ਵਿੱਚ) ਸ਼ਾਮਲ ਹਨ।

ਇਹ ਫਾਇਲ ਨੂੰ ਆਪਣੇ ਡਿਵੈਲਪਮੈਂਟ ਕੰਪਿਊਟਰ ਵਿੱਚ ਕਾਪੀ ਕਰੋ ਅਤੇ ਇਸ ਨੂੰ ਚਲਾਓ:

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

SDK ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਲਈ ਹਿਦਾਇਤਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ।</:code16:></:code15:></:code14:>

ਕਾਪੀਰਾਈਟ ਲਾਈਸੈਂਸ

ਕਾਪੀਰਾਈਟ © 2022 Interelectronix e.K.
ਇਸ ਪ੍ਰੋਜੈਕਟ ਸਰੋਤ ਕੋਡ ਨੂੰ GPL-3.0 ਲਾਇਸੰਸ ਤਹਿਤ ਲਾਇਸੰਸਸ਼ੁਦਾ ਕੀਤਾ ਗਿਆ ਹੈ।