System Overview

Our platform is based on well-known and established open source components like Eclipse hawkBit and RAUC.

We use several “AWS IoT Core” Features like IoT Jobs, Shadow States and Just in Time Registration.

We use an SSH jump host with automated key distribution and offer central access to our customers via a Web GUI. Here you can see the latest device health data, the overall fleet status, trigger management tasks or activate features and generate and deploy configuration files.

For integration into existing management and production systems, we offer API access to all management functions.

IoT Device Suite - System Architecture Diagram

The core of our software update system is RAUC on the client-side that installs signed software bundles. They get downloaded by our software update client. The source packages for all updates are stored and rolled out by a dedicated customer instance of hawkBit including our signing service.

All hawkBit tasks can be carried out via a GUI or also API calls, that are well documented.

All our infrastructure is created with state-of-the-art cloud-based technologies, allowing you to grow and scale at all times and in all sizes.

Software Clients

Besides the mostly cloud-based infrastructure, one main part of our device management service is the software running on the embedded device.

The Remote Management Client initiates remote connection tunnels and takes care of key-handling for SSH

Our Device Management client is the central piece of our management service. It takes care of:

  • Automated Onboarding (initial zero-touch configuration)

  • Downloading of individual configuration files

  • Activation of features via feature files and signatures

  • Gathering health and system parameters

  • Upload of health and system data

  • Running user-defined maintenance tasks triggered by the backend

The Software Update Manager communicates with the software rollout server (hawkBit) and loads selected firmware packages to local storage.

They get installed by RAUC into the mirrored OS and APP Partitions, so that the actual system runs during installation. After installation is complete, the result status is sent back to the hawkBit server, and after a system reboot the embedded device boots the freshly installed software image.

This system is designed for safety and security and resists internet connection losses as well as unpredictable power failures or software bugs. So that under (almost) all circumstances, the system will start the previous installation, if it cannot boot from the new image.