Embedded Software Development
Embedded software is computer software, written to control machines or devices that are not typically thought of as computers, commonly known as embedded systems.
It is typically specialized for the particular hardware that it runs on and has time and memory constraints.
The project provides a flexible set of tools and a space where embedded developers worldwide can share technologies, software stacks, configurations, and best practices that can be used to create tailored Linux images for embedded and IOT devices, or anywhere a customized Linux OS is needed.
Normally, if you create your custom linux image with Yocto for a Raspberry Pi, you also want to show a custom splash screen with a progress bar.
I recently had to develop an application (kiosk system) for/on a Raspberry Pi 4. The special thing about it was that 2 touch monitors were to be connected via HDMI, which also had to be rotated 90 degrees to the right. So, portrait mode, with 2 monitors on top of each other. Rotating the screen and arranging the monitors on top of one another did not cause any problems, since this is easily to do via the user interface – a "Raspbian Buster with desktop and recommended software" was installed.
Frequent writing or overwriting of data negatively affects the lifespan of an SD card.
For applications that often use temporary data (e.g., sensor values for comparative calculations) that are no longer required after a restart, it is therefore advisable to write these to a RAM disk.
Qt is often used to develop graphic interfaces. Qt contains C ++ libraries for creating graphical interfaces that can be compiled on various operating systems.
Since this compilation requires a lot of computing power, it is advisable for processors with relatively little power to carry out the development and compilation on a host computer and only then to load the finished application onto the target computer.
This is a guide for installing Raspberry Pi OS Lite on the Compute Module 4. For my working computer, I use Ubuntu 20, installed on a virtual machine.
This is a guide for cross-compiling Qt 5.15.2 for Raspberry Pi 4 and installing it on Compute Module 4. It is an update to my blog post Qt on the Raspberry Pi 4, with the difference that this time I am using Raspberry Pi OS Lite.
This is a guide for configuring Qt Creator in order to be able to use cross-compiled Qt libraries for the Raspberry Pi 4 and create applications for the Raspberry.
In this blog, I would like to provide a small Qt-Quick application (qml) as an example for a Modbus connection via TCP/IP.
In the Qt examples, I only found QWidget examples for Modbus connections, and after recently creating a Qt Quick application for this purpose, I would like to provide a scaled-down version of it as an example.
If you have created a Qt application – or any other application – for the Raspberry Pi 4, you will very often want to have the application called up immediately after the Raspberry is restarted, once you have completed the application. This is often attempted using start scripts, which can be entered in various places. However, it is more sensible to set this up via systemd.
The task was to write a Qt Quick application (GUI) to upload new firmware to a touch controller. The upload software was provided by the manufacturer in a .exe application that loads a .bin file onto the touch controller. I wanted to use the "QProcess" Qt classes for this, which can be used to call and control shell applications. On the Linux side, I had already used this successfully several times – but on Windows it didn't want to work at first.