Ipari monitor - Raspberry Pi Monitor (fekete) egy áramköri lap közelképe

HMI prototípusok

gyors és olcsó

Beágyazott szoftverfejlesztés

Professzionális megoldások

A beágyazott szoftver olyan számítógépes szoftver, amelyet olyan gépek vagy eszközök vezérlésére írtak, amelyeket általában nem tekintenek számítógépeknek, közismert nevén beágyazott rendszereknek.
Általában arra a hardverre specializálódott, amelyen fut, és idő- és memóriakorlátozásokkal rendelkezik.

Beágyazott szoftver Raspberry Pi - Yocto építsen Raspberry Pi 4-et docker környezetben: képernyőkép egy számítógépről

A projekt rugalmas eszközkészletet és olyan teret biztosít, ahol a beágyazott fejlesztők világszerte megoszthatják technológiáikat, szoftververmeiket, konfigurációikat és bevált gyakorlataikat, amelyek felhasználhatók testreszabott Linux-képek létrehozására beágyazott és IOT-eszközökhöz, vagy bárhol, ahol testreszabott Linux operációs rendszerre van szükség.

Beágyazott szoftver Raspberry Pi - Yocto Raspberry egyéni kezdőkép folyamatjelző sávval fehér betöltő sáv fekete szöveggel

Általában, ha egyéni linux-képet hoz létre a Yocto segítségével egy Raspberry Pi-hez, akkor egy egyéni kezdőképet is meg szeretne jeleníteni egy folyamatjelző sávval.

Beágyazott szoftver - Yocto indítsa el a málnát a Qt alkalmazáshoz, egy képernyőképet a számítógépről

Ebben az útmutatóban információkat nyújtunk arról, hogyan állíthat be egy Yocto projektet a Qt és egy Qt demo alkalmazás telepítéséhez egy Raspberry Pi 4-hez, majd automatikusan elindíthatja ezt a Qt demo alkalmazást.

Beágyazott szoftver Raspberry Pi - Yocto - Raspberry - PIGPIO - Qt egy számítógépes program képernyőképe
Tartalmazza a PIGPIO könyvtárat és a Qt eszköztárat

Konfigurálja a Yocto-t úgy, hogy testreszabott Linuxot hozzon létre a Raspberry Pi 4-hez a pigpio könyvtár, a Qt és a keresztfordításhoz szükséges eszközlánc integrálásával.

Beágyazott szoftver - VisionFive - Mender - Yocto: képernyőkép egy számítógépről
1. rész - A Yocto környezet alapbeállítása

Egy cikksorozat 1. része, hogyan állítsunk be egy Yocto környezetet egy Yocto Linux létrehozásához egy Mender kliens integrálásával.

Nemrég egy alkalmazást (kioszk rendszert) kellett fejlesztenem egy Raspberry Pi 4-hez/-re. A különlegesség az volt, hogy 2 érintőképernyős monitort kellett csatlakoztatni HDMI-n keresztül, amelyeket 90 fokkal jobbra kellett forgatni. Tehát portré formátumok, 2 monitor egymás tetején.
A képernyő elforgatása és egymásra rendezése nem okozott problémát, mivel ez könnyen lehetséges a felhasználói felületen keresztül - egy "Raspbian Buster asztali és ajánlott szoftverrel" került telepítésre.

Az adatok gyakori írása vagy felülírása befolyásolja az SD-kártya élettartamát.

Például ajánlott ideiglenes adatokat (pl. szenzorértékeket összehasonlító számításokhoz) írni egy RAM-lemezre olyan alkalmazások esetében, amelyek gyakran tartalmaznak ideiglenes adatokat (pl. szenzorértékeket összehasonlító számításokhoz), amelyekre újraindítás után már nincs szükség.

A Raspberry Pi 4 USB-C interfészét is használhatja, amelyet általában áramellátásra használnak, normál USB-interfészként.
Ebben az esetben azonban a málnának a GPIO csapokon keresztül kell táplálnia az áramot.

Beágyazott szoftver Raspberry Pi - Qt a Raspberry Pi 4-en egy számítógép képernyőképe kék képernyőről

A Qt-t gyakran használják grafikus interfészek fejlesztésére. A Qt C ++ könyvtárakat tartalmaz grafikus interfészek létrehozásához, amelyek különböző operációs rendszereken fordíthatók le.
Mivel ez a fordítás nagy számítási teljesítményt igényel, tanácsos, hogy a viszonylag kevés teljesítményű processzorok a fejlesztést és a fordítást gazdaszámítógépen végezzék el, és csak ezután töltsék be a kész alkalmazást a célszámítógépre.

Ez egy útmutató a Raspberry Pi OS Lite telepítéséhez a 4. számítási modulra. Munkahelyi számítógépként Ubuntu 20-at használok, virtuális gépre telepítve.

Ez egy útmutató a Qt 5.15.2 keresztfordításához a Raspberry Pi 4-hez és a 4. számítási modulra való telepítéséhez. Ez egy frissítés a Qt blogbejegyzésemhez a Raspberry Pi 4-en, azzal a különbséggel, hogy ezúttal a Raspberry Pi OS Lite-ot használom.

Ez egy útmutató a Qt-Creator konfigurálásához, hogy keresztfordított Qt könyvtárakat használjon a Raspberry Pi 4-hez és alkalmazásokat hozzon létre a Raspberry Pi számára.

Beágyazott szoftver - Qt keresztfordítás telepítő szkriptek Raspberry Pi 4 egy képernyőkép egy számítógépes program

Ezen az oldalon letöltési linkeket biztosítunk a szkriptekhez, amelyek automatikusan beállítják a keresztfordítást a linux gazdagépen és a Raspberry Pi 4-en, valamint egy leírást, hogyan kell használni őket.

Ebben a blogban szeretnék bemutatni egy kis Qt Quick alkalmazást (qml) példaként a TCP/IP feletti Modbus kapcsolatra.
A Qt példákban csak QWidget példákat találtam a Modbus kapcsolatokra, és miután nemrég létrehoztam egy Qt Quick alkalmazást ehhez, szeretném példaként bemutatni annak karcsúsított változatát.

Ha létrehozott egy Qt alkalmazást - vagy bármely más alkalmazást - a Raspberry Pi 4-hez, gyakran azt szeretné, hogy az alkalmazást azonnal meghívják a Raspberry újraindítása után, miután az alkalmazás befejeződött.
Ezt gyakran különböző helyeken beírható indító szkriptekkel kísérlik meg.
Azonban ésszerűbb ezt a systemd-n keresztül beállítani.

A feladat egy Qt Quick alkalmazás (GUI) megírása volt, amely új firmware-t tölt fel egy érintővezérlőre.
A feltöltő szoftvert a gyártó egy .exe alkalmazásban biztosította, amely .bin fájlt tölt be az érintővezérlőre.
A "QProcess" Qt osztályokat akartam használni, amelyek shell alkalmazások hívására és vezérlésére használhatók. A Linux oldalon ezt már többször sikeresen használtam - de Windows rendszeren először nem működött.

Beágyazott szoftver - HDMI monitor beállításai egy számítógépes program képernyőképe
HDMI-monitor beállításainak vezérlése ddcutil segítségével

Yocto recept a ddcutil telepítéséhez és a HDMI monitor beállításainak vezérléséhez I2C-n keresztül.

Beágyazott szoftver - libgpiod egy sárga képernyő fekete szöveggel
Tartalmazza a libgpiodot a Yocto-ban

Vegye fel a libgpiod könyvtárat a Yocto-ba, és használja a beágyazott rendszerben.