How to Get the Architecture of Qt Embedded Systems Right
Start time: 18:00 CEST
Duration: 1h 30min
Solo Consultant for Qt Embedded Systems
As a solo consultant, Burkhard helps companies succeed with Qt embedded systems. His major products include the infotainment system for a US car OEM, the driver terminal of the ROPA sugar beet harvesters and the driver terminal of the Krone forage harvesters.
Shall you use one computer with multiple touch displays or multiple display computers? Do you need a window manager? Shall you build a custom Linux system with Yocto or use a container-based operating system? Which system-on-chip (SoC) is the right choice to handle three video streams, sensor data from a dozen electronic control units (ECUs) and the cloud connection? How do strong machine vibrations affect HDMI, CAN, Ethernet and USB connectors?
I’ll answer these and many more questions for the architecture of driver terminals as you find them in agricultural and construction machines. The answers are based on my own experience, as I architected and helped the infotainment systems of a car OEM and the driver terminals of the Krone forage harvesters and the ROPA sugar beet harvesters. The questions for industrial machines, medical devices and consumer products are the same, but the answers differ because of different constraints.
Here is a list of example questions for the six main areas of a Qt embedded system.
- What are the lighting conditions?
- How much does the machine vibrate?
- What is the temperature, water and dust exposure?
Applications and Window Managers
- How many GUI applications run at the same time?
- Do you need a window manager?
- Do you need graphics acceleration?
- Should you use QML/C++, QWidget/C++, QML/Python or QWidget/Python?
- Should you build a custom Linux system with Yocto, use a desktop Linux or a container-based operating system?
- How fast does the system have to boot?
- What are the safety requirements?
- How are updates of applications, Linux and firmware performed?
Communication with Machine and Sensors
- Which protocols does the system use to communicate with the machine and sensors (e.g., image, sound, humidity, position)?
- How can you generate the code for machine-specific parts of the communication?
- How can you reuse the code for the system-machine communication for the cloud-machine communication?
- Will the machine and sensor data be evaluated on the system itself or in the cloud?
Communication with Cloud
- Which protocol does the system use to communicate with the cloud?
- Which solution for over-the-air updates should the system use?
- How can the system facilitate remote support, diagnostics and supervision?
- Should the system run on a homogenous SoC, a heterogenous SoC or a microcontroller?
- Will the SoC be good enough for the applications in 5, 10 or even 15 years?
- Do you need a GPU?
- Is the SoC powered from mains or battery?
The answers are shaped by technical, business and personal considerations. They are also influenced by the expertise available in a development team. The available time and money play an important role. The journey to an architecture is never straight, sometimes surprising, full of trade-offs and always exciting.
- How do you select the right SoC (system-on-chip)?
- What are the ramifications of a Qt embedded system with a single application vs. one with multiple applications?
- How does a good application architecture look (hint: hexagonal architecture)?
- How do you make the machine communication independent from the concrete protocol (CAN, Bluetooth, Ethernet, LoRaWAN, RS232, etc.)?
- How do you reuse the machine communication both for the GUI and for the cloud?
Who it is for
Suited and interesting for all working on Qt embedded systems.
Some knowledge of embedded systems and of Qt application programming is helpful.
Blog post Determining the Architecture of Qt Embedded Systems: Getting Started
Blog post Architecture of Qt Embedded Systems: Operating Conditions
Blog post Architecture of Qt Embedded Systems: Single vs. Multiple GUI Applications
Certificate of attendance
A certificate of participation will be issued at the end of the session.
The talk will be in English.