Skip to content

Minimal integration of IEDK

This guide will walk you through the process of enabling your device as an Industrial Edge Device with basic functionality. It is done by integrating the Industrial Edge Runtime into your Firmware. Your device will be capable of running Edge Apps that can be managed via the Industrial Edge Management.

Prerequisites

  • Access to the Industrial Edge Hub (with enabled Device Builder Features)
  • Physical or virtual hardware with root access (selection see below)

Install dependencies

NOTICE

Ensure your Edge Device is connected to the internet so that dependencies can be downloaded from public repositories during the installation process.

AppArmor Dependency

The Industrial Edge Runtime supports AppArmor as an optional dependency. While it is recommended for enhanced security, it is not mandatory for the runtime to function.

Installing AppArmor (Optional)

If you choose to enable AppArmor for enhanced security, follow these steps to install it:

  1. Update your package list:

    sudo apt update
    
  2. Install AppArmor:

    sudo apt install apparmor apparmor-utils -y
    
  3. Enable AppArmor:

    Ensure AppArmor is enabled on your system by running:

    sudo systemctl enable apparmor
    sudo systemctl start apparmor
    
  4. Verify AppArmor status:

    Check if AppArmor is running:

    sudo apparmor_status
    

    The output should indicate that AppArmor is enabled and profiles are loaded.

By following these steps, you can optionally enable AppArmor to enhance the security of your Industrial Edge Runtime environment.

Downloading IEDK packages

The IEDK-packages are available for arm64 and x86-64 processor architectures. They can be downloaded from the Download Software section in the Industrial Edge Hub. Make sure to download the right packages for your hardware. An overview about available the packages and the content can be found here.

China Region

For users in China region please download from Industrial Edge Hub China.

Install Industrial Edge Packages onto the Edge Device

Copy dowloaded IEDK Packages to your development machine and unzip. Afterwards you can execute following commands from inside the folder.

Minimal installation

  1. Load IERT image into docker environment

    sudo docker load -i edge-iot-core-container_*.tar.xz
    
  2. Copy provided example capabilities file into /etc folder. The target file name must be 'capabilities.json'

    sudo cp ./capabilities_all_disabled.json /etc/capabilities.json
    

    NOTICE

    You can and need to adapt the capabilities.json to change the default behaviour and to enable additional capabilities (like device management).

  3. Modify the below listed parameter values in the docker compose file (edge-iot-core_*_docker_compose.yaml) as follows:

    • HostIps: Use your IED or your host system's IP address
    • name: Use your image ID. You can get the ID from Docker Images.
  4. Run the container

    mv edge-iot-core_*_docker_compose.yaml docker-compose.yaml
    docker-compose up -d
    

Check installation

After the installation is completed, the installation status can be checked with the following command.

sudo docker ps

The output should show the edge-iot-core-container in an up state. You should see something similar to this screenshot: output of the command 'docker ps'


You can now continue with step two: Device Type Creation.

Updating the Industrial Edge Runtime (edge-iot-core container)

To update the Industrial Edge container (edge-iot-core) that was previously installed or you may need to ensure the container is connected to the proxy-redirect network. This network is commonly used to facilitate the opening of application UIs within your system.

NOTE

If you are upgrading from an old version (IEDK <= 1.25.0-7), perform all steps below.
For upgrades from the current version onwards, you can skip steps 1–3 and start from step 4.

  1. List containers connected to proxy-redirect:

    containers=$(docker network inspect proxy-redirect --format '{{range .Containers}}{{.Name}} {{end}}')
    

    Save the output for later to restart these containers.

  2. Stop all running containers:

    docker stop $containers
    
  3. Remove the proxy-redirect network:

    docker network rm proxy-redirect
    
  4. Bring down the old Docker Compose setup:

    docker-compose -f <oldfile> down
    
  5. Start the new Docker Compose setup:

    docker-compose -f <newfile> up -d
    
  6. Restart the containers from the list in step 1:

    docker start $containers
    

Replace <oldfile> with the filename of your currently running (older version) docker-compose.yaml file, and <newfile> with the filename of the new version docker-compose.yaml file you want to install.


Funding Acknowledgment: Funded by the Federal Ministry for Economic Affairs and Energy based on a decision by the German Bundestag | Your funding provider: Kicks for Edge as part of the EU funding program IPCEI-CIS (FKZ:13IPC008)