How to deploy AWS IoT SiteWise Edge on EG5120

How to deploy AWS IoT SiteWise Edge on EG5120

Overview

The EG5120 is a high-performance industrial edge gateway based on ARM Debian 11 (Bullseye) 64-bit OS. This guide provides a step-by-step procedure to deploy AWS IoT SiteWise Edge on the device. By utilizing the open Debian ecosystem and Docker container support within RobustOS Pro, users can collect, process, and monitor industrial equipment data locally before sending it to the AWS Cloud.

What You'll Need

Hardware:

 1 x Robustel EG5120 Edge Gateway.

 1 x Power supply for the gateway.

 1 x Ethernet cable with internet access (or Cellular SIM card).

 A PC with an SSH client (e.g., PuTTY or Windows Terminal).

Software/Firmware:

 RobustOS Pro firmware (v2.3.0 or newer recommended).

 An AWS Account with permissions for AWS IoT SiteWise and AWS IoT Greengrass.

 Docker and Docker Compose installed on the gateway's Debian environment.

Prerequisites:

 The gateway must have a stable internet connection.

 You have created a sudo user account via the WebUI for SSH access.

 Standard Debian 11 environment is accessible.

Step-by-Step Configuration Guide

Development EnvironmentSetup

Setting up the development environment is a critical first step. The EG5120 runs on Debian 11, accessible remotely or via Visual Studio Code on Windows. The firmware includes pre-installed tools:

GCC Compiler: Version 10.2.1.2021i110, verified with gcc --version, for C/C++ development.

Python: Version 3.9.2, checked with python --version, for scripting.

OpenJDK: Version 11.0.16, verified with java --version, for Java applications.

Enhance your setup with additional software from Debian repositories (Index of /debian) or IoT EDGE Software & Applications OTA | App Centre | Robustel. Configure your IDE with remote SSH and update the system with apt update && apt upgrade.

1. GCC compiler is available in the firmware to support C or C++ development.

2. Python is supported in the firmware

3. OpenJDK is supported in the firmwar

Phase 2: Step-by-Step Configuration for EG5120 and Greengrass

With all preparations complete, let's begin the core configuration process.

Step1:AWS Integration for Greengrass

First, create and configure the necessary resources in your AWS account.Refer to the instructions at Set up AWS account - AWS IoT Core.

1. Create the AWS IAM account and a user and open the AWS IoT console:

2. Create a group (AdminGroup_eg5120) with Administrator Access and an AWS IoT Policy (IDTGreengrassIAMPermissions) with permissions like iot:Connect and greengrass:

3. Create Resources in AWS IoT

Refer to the instructions at Create AWS IoT resources - AWS IoT Core. Follow the steps outlined in thesesections to provision resources for your device: Create an AWS IoT Policy: IDTGreengrassIAMPermissions

4. Please navigate to AWS IoT > Manage > Things.

Create a thing object: RobustelGGC

5. Install the AWS CLI:

Download from AWS CLI.

Configure with aws configure, entering your Access Key ID, Secret Access Key, region (e.g., us-west-2), and output format (e.g., json).

Verify with aws --version.

Set environment variables like AWS_ACCESS_KEY_ID for authentication.

Step 2: Installing Greengrass on the EG5120

Now, let's install the Greengrass core software onto the gateway.

The EG5120’s Debian 11 base, confirmed by cat /etc/os-release, is ideal for Greengrass.

Install dependencies (python3, pip, curl) and download the Greengrass installer:

curl -s https://d2s8p88vqu9w66.cloudfront.net/releases/greengrass-2.7.0.tar.gz | tar xz -C /

Follow the setup script to configure the core device.

This enables local computation and cloud synchronization with AWS IoT Greengrass.

Step 3: Creating a "Hello World" Component

Create a "Hello World" component using the Greengrass Development Kit (GDK) CLI:

1. Install Greengrass Development Kit (GDK) on your development machine:

python3 -m pip install -U git+https://github.com/aws-greengrass/aws-greengrass-gdkcli.git@v1.1.0

Verify with gdk --version

2. Initialize ProjectInitialize the component development environment in an empty directory

gdk component init -l python -n HelloWorld

3. Edit Component

Modify hello_world.py to print print("Hello from EG5120!").

Modify the configuration files in it: gdk-config.json and recipe.yaml, and also modify the source code:

4. Build Component

gdk component build

5. PublishComponent: Follow the instructions online at Tutorial: Getting started with AWS IoT Greengrass V2 - AWS IoT Greengrass to upload your component to the cloud, where it can be deployed to other devices as needed.

gdk component publish

Step 4: Deploy SiteWise Edge Component

1.  In the AWS IoT Console, navigate to SiteWise > Edge gateways.

2.  Follow the wizard to create a new gateway and associate it with your EG5120 Greengrass device.

3.  Deploy the SiteWise Edge components (Collector and Publisher) to the device.

4.  On the gateway CLI, verify the containers are running: sudo docker ps

Revision

Date

Author

Notes

v.1.0

2025/10/17

Anson Feng

Initial Release

 

    • Related Articles

    • How to connect EG5120 with Edge2Cloud Pro to AWS IoT SiteWise

      Overview This guide provides a comprehensive walkthrough for establishing an industrial data pipeline using the Robustel EG5120 industrial gateway. By leveraging Edge2Cloud Pro, you will collect data from Modbus devices (such as the S6000U sensor), ...
    • Edge Gateway Main Page

      Edge Gateway Configuration & Development Your central hub for mastering Robustel Edge Gateways, tailored for developers and system integrators. From basic device configuration to advanced application development and third-party integration, find the ...
    • How to Deploy Ignition Edge on Robustel EG5120

      1. Overview This manual provides a detailed, professional guide for technical engineers on how to securely and reliably deploy Inductive Automation's Ignition Edge software on the Robustel EG5120 industrial edge gateway (running RobustOS Pro). By ...
    • How to Deploy Zabbix for SNMP to MQTT Data Forwarding on EG/MG Series

      Overview This guide describes how to manually configure a Robustel EG/MG series gateway (running RobustOS Pro) to act as an SNMP collector and MQTT forwarder. By deploying Zabbix Server and Agent 2 via Docker, the gateway can poll data from local ...
    • How to Install Telit deviceWISE Asset Gateway on Robustel EG Series Gateways?

      Overview This guide provides step-by-step instructions for installing the Telit deviceWISE Asset Gateway software on a Robustel EG series gateway (e.g., EG5120). This installation allows you to leverage the powerful edge computing and Industrial IoT ...