Industrial Monitor - Raspberry Pi Monitor (svart) et nærbilde av et kretskort

HMI-prototyper

raskt og billig

INNEBYGD PROGRAMVAREUTVIKLING

PROFESJONELLE LØSNINGER

Innebygd programvare er spesialisert dataprogramvare designet for å operere på innebygde HMI-er som vanligvis ikke regnes som tradisjonelle datamaskiner. Maskinvaren (CPU/RAM/FLASH-MINNE) er ekstremt optimalisert for applikasjonen og derfor begrenset. Operativsystemet er sterkt optimalisert for å ha bare nødvendig programvare for applikasjonen - Ingenting annet. Du kompilerer operativsystemet ditt skreddersydd for applikasjonen. Den driver ulike systemer, fra husholdningsapparater til industrimaskiner og til og med allsidige verktøy som Raspberry Pi. Raspberry Pi, en kompakt og rimelig datamaskin, er kjent for å lære og eksperimentere med innebygde systemer. Med den kan du skrive og kjøre programvare som kontrollerer ulike maskinvarekomponenter, noe som gir en praktisk måte å utforske verden av innebygd programvareutvikling. Denne siden tilbyr en samling veiledninger for å hjelpe deg med å komme i gang med Raspberry Pi og innebygde programvareprosjekter.

Innebygd programvare Raspberry Pi - Yocto bygge Raspberry Pi 4 i et docker-miljø et skjermbilde av en datamaskin

Prosjektet gir et fleksibelt sett med verktøy og et rom der innebygde utviklere over hele verden kan dele teknologier, programstabler, konfigurasjoner og beste praksis som kan brukes til å lage skreddersydde Linux-bilder for innebygde enheter og IoT-enheter, eller hvor som helst et tilpasset Linux OS er nødvendig.

Innebygd programvare Raspberry Pi - Yocto Raspberry tilpasset splash-skjerm med fremdriftslinje, en hvit lastestang med svart tekst

Normalt, hvis du oppretter ditt egendefinerte linuxbilde med Yocto for en Raspberry Pi, ønsker du også å vise en egendefinert splash-skjerm med en fremdriftslinje.

Embedded Software - Yocto boot bringebær til Qt-applikasjon, et skjermbilde av en datamaskin

I denne veiledningen gir vi deg informasjon om hvordan du konfigurerer et Yocto-prosjekt for å installere Qt og et Qt-demoprogram for en Raspberry Pi 4 og deretter starter dette Qt-demoprogrammet automatisk.

Innebygd programvare Raspberry Pi - Yocto - Raspberry - PIGPIO - Qt et skjermbilde av et dataprogram
Inkluder PIGPIO-bibliotek og Qt- verktøykjede

Konfigurer Yocto til å lage en tilpasset Linux for Raspberry Pi 4 med integrasjon av pigpio-bibliotek, Qt og en verktøykjede for krysskompilering.

Embedded Software - VisionFive - Mender - Yocto et skjermbilde av en datamaskin
Del 1 – Grunnleggende oppsett av Yocto-miljøet

Del 1 av en serie artikler om hvordan man konfigurerer et Yocto-miljø for å opprette Yocto Linux med integrasjon av en Mender-tjener.

Nylig måtte jeg utvikle en applikasjon (kiosksystem) for / på en Raspberry Pi 4. Det spesielle med det var at 2 touch-skjermer skulle kobles til via HDMI, som måtte roteres 90 grader mot høyre. Så portrettformater, 2 skjermer oppå hverandre.
Å rotere skjermen og ordne den oppå hverandre forårsaket ingen problemer, da dette lett er mulig via brukergrensesnittet - en "Raspbian Buster med skrivebord og anbefalt programvare" ble installert.

På grunn av hyppig skriving eller overskriving av data, påvirkes levetiden til et SD-kort.

For eksempel anbefales det å skrive midlertidige data (f.eks. sensorverdier for komparative beregninger) til en RAM-disk for applikasjoner som ofte inneholder midlertidige data (f.eks. sensorverdier for komparative beregninger) som ikke lenger er nødvendige etter en omstart.

Du kan også bruke USB-C-grensesnittet til Raspberry Pi 4, som normalt brukes til strømforsyning, som et vanlig USB-grensesnitt.
I dette tilfellet skal imidlertid Raspberry levere strøm via GPIO-pinnene.

Innebygd programvare Raspberry Pi - Qt på Raspberry Pi 4 et dataskjermbilde av en blå skjerm

Qt brukes ofte til å utvikle grafiske grensesnitt. Qt inneholder C ++ -biblioteker for å lage grafiske grensesnitt som kan kompileres på ulike operativsystemer.
Siden denne kompileringen krever mye datakraft, er det tilrådelig for prosessorer med relativt lite kraft å utføre utviklingen og kompileringen på en vertsdatamaskin og først deretter laste inn det ferdige programmet på måldatamaskinen.
Det finnes mange instruksjoner på nettet for å utvikle en Qt-applikasjon for Raspberry Pi 3 og Pi 4-modeller.

Dette er en veiledning for installasjon av Raspberry Pi OS Lite på Compute Module 4. Som arbeidsdatamaskin bruker jeg Ubuntu 20, installert i en virtuell maskin.

Dette er en veiledning for krysskompilering av Qt 5.15.2 for Raspberry Pi 4 og installasjon på Compute Module 4. Det er en oppdatering av blogginnlegget mitt Qt på Raspberry Pi 4, med den forskjellen at denne gangen bruker jeg Raspberry Pi OS Lite.

Dette er en veiledning for å konfigurere Qt-Creator til å bruke krysskompilerte Qt-biblioteker for Raspberry Pi 4 og å lage applikasjoner for bringebær.

Embedded Software - Qt krysskompilere oppsettskript for Raspberry Pi 4 et skjermbilde av et dataprogram

På denne siden gir vi nedlastingslenker for skript for automatisk å sette opp krysskompilering på linux-vert og Raspberry Pi 4 og en beskrivelse av hvordan du bruker dem.

I denne bloggen vil jeg gjerne gi en liten Qt Quick-applikasjon (qml) som et eksempel på en Modbus-tilkobling over TCP / IP.
I Qt-eksemplene har jeg bare funnet QWidget-eksempler for Modbus-tilkoblinger, og etter nylig å ha opprettet en Qt Quick-applikasjon for dette, vil jeg gjerne gi en slanket versjon av den som et eksempel.

Hvis du har opprettet en Qt-applikasjon - eller et annet program - for Raspberry Pi 4, vil du ofte at applikasjonen skal kalles umiddelbart etter at du har startet Raspberry på nytt etter at applikasjonen er fullført.
Dette er ofte forsøkt med start skript som kan legges inn på ulike steder.
Det er imidlertid mer fornuftig å sette opp dette via systemd .

Oppgaven var å skrive en Qt Quick-applikasjon (GUI) for å laste opp ny firmware til en berøringskontroller.
Opplastingsprogramvaren ble levert av produsenten i et .exe program som laster en .bin-fil på berøringskontrolleren.
Jeg ønsket å bruke Qt-klassene "QProcess", som kan brukes til å ringe og kontrollere shell-applikasjoner. På Linux-siden hadde jeg allerede brukt dette med hell flere ganger - men på Windows fungerte det ikke først.

Innebygd programvare - HDMI Monitor Settings et skjermbilde av et dataprogram
Kontroller innstillinger for HDMI-monitor med ddcutil

Yocto-oppskrift for å installere ddcutil og kontrollere innstillinger for en HDMI-monitor via I2C.

Embedded Software - libgpiod en gul skjerm med svart tekst
Inkluder libgpiod i Yocto

Inkluder libgpiod-biblioteket i Yocto og bruk det i det innebygde systemet.