Forward Data to Cloud via HTTP in E2C Trinity

How to Forward Data to Cloud via HTTP in E2C Trinity


Document Header

FieldValue
ProductRobustel E2C Trinity (E2C Factory / E2C Field)
Document TypeKnowledge Base Article — How-to Guide
Intended AudienceUsers who have already configured data collection in E2C Trinity and need to forward tag data to a cloud platform or web server via HTTP
PrerequisitesThis guide does not cover how to set up an HTTP server. Before starting, obtain the server URL, authentication details, and any required headers (e.g., API keys) from your cloud administrator or platform documentation.
Tested SoftwareE2C Factory V2.1.4.1
Tested Gateway OSRobustOS Pro V2.4.2
Tested ModelEG3120
Last Verified2026-07-23
Estimated Time15-25 minutes

Overview

This article shows you how to forward tag data collected by E2C Trinity to a cloud platform or web server using HTTP (Hypertext Transfer Protocol, the foundation of data communication on the web). You will create a Tag Group, configure an HTTP Cloud Service, and verify the data is received by your server.

Unlike MQTT, which uses a publish-subscribe model with a central broker, HTTP sends data directly to your server in a simple request-response pattern. This makes HTTP ideal for environments where your cloud platform already provides a REST API (Representational State Transfer API, a standard way for web services to accept data) or webhook endpoint.

Stage 1 — Southbound Collection: E2C Trinity reads data from your industrial devices (PLC, sensor, meter, etc.) using protocols like Modbus TCP, OPC UA, or BACnet, and stores the values as internal "Tags."

Stage 2 — Northbound HTTP Forwarding (this guide): E2C Trinity sends the collected tag data as HTTP POST or PUT requests to your server's URL. Each request contains a JSON (JavaScript Object Notation, a lightweight data format) payload with the tag values.

Stage 3 — Cloud Consumption: Your cloud platform, web application, or data pipeline receives and processes the incoming HTTP requests.

Note: E2C Trinity also supports MQTT and Sparkplug B for cloud data forwarding. For MQTT, see How to Publish E2C Trinity Tag Data to an MQTT Broker.


Core Concepts & Glossary

If you are already familiar with HTTP and REST APIs, feel free to skip this section.

TermWhat It Means in Plain English
HTTP (Hypertext Transfer Protocol)The foundation protocol of the web. When you visit a website, your browser uses HTTP to request pages. E2C Trinity uses HTTP to send tag data to your server — think of it as "filling out a web form and submitting it" automatically at regular intervals.
HTTPS (HTTP Secure)The encrypted version of HTTP. Always use HTTPS when sending data over the public internet to prevent eavesdropping and tampering.
REST APIAn architectural style for designing web APIs. In this guide, the receiving endpoint is referred to as a REST API for simplicity — your cloud platform provides a URL endpoint, and E2C Trinity sends data to it via HTTP. Most cloud platforms (AWS, Azure, Alibaba Cloud) provide HTTP API endpoints for ingesting IoT data.
POST / PUTHTTP methods (verbs) that tell the server what kind of action you want. POST asks the target endpoint to process the submitted data according to the API's contract. PUT creates or replaces the state of the resource identified by the target URL and is idempotent. E2C Trinity supports both. For most cloud data ingestion, POST is the standard choice. Follow your receiving API's documented method requirements.
JSON (JavaScript Object Notation)A lightweight, human-readable data format used by virtually all modern web APIs. E2C Trinity packages tag data into JSON before sending it.
URL (Uniform Resource Locator)The web address of your server endpoint. For example, https://api.example.com/v1/data/ingest.
Request HeaderExtra information sent alongside the HTTP request, such as authentication tokens (API keys) and the data format (Content-Type: application/json).
Request TimeoutThe maximum time E2C Trinity waits for a response from your server. If the server does not respond within this time, the data upload is considered failed.
Tag GroupIn E2C Trinity, a logical collection of data points (tags) that you organize together. Each HTTP Cloud Service sends data from one Tag Group at a time.
API KeyA simple secret string used to identify the API client. Often used for usage tracking and rate limiting. Your cloud platform provides this when you create an API endpoint.
Bearer TokenA credential used in the Authorization: Bearer ... header. Unlike an API Key, a Bearer Token typically has a defined scope, audience, and expiration time. It must be refreshed periodically when it expires.

Example Configuration Used in This Guide

To make it easier to follow, all steps in this guide use the same example values:

ItemExample
HTTP Server URLhttps://webhook.site/9f216ad3-f294-4890-a68c-44237948061c
HTTP MethodPOST
Cloud Service NameMES_HTTP
Tag GroupMachine_Data
Report Interval10 seconds
Data Source TypeTag Data
Request Timeout3 seconds
HeaderContent-Type: application/json

Before You Start

Before beginning the configuration, make sure you have:

  • An E2C Trinity gateway with live tag data already being collected from your industrial devices.
  • An HTTP server endpoint accessible from the gateway — this could be:
    • A cloud platform's data ingestion API (AWS API Gateway, Azure API Management, etc.)
    • A self-hosted web server (Node.js, Python Flask, etc.)
    • An integration platform webhook (Zapier, Make, etc.)

Security Notice: Always use HTTPS when sending production data over the public internet. The example in this guide uses a public webhook testing service (webhook.site) for demonstration purposes only. Public webhook services should only be used for testing with non-sensitive data. Do not publish production, customer, credential, or personally identifiable data to a public webhook URL.

  • An HTTP testing tool for verification: webhook.site (free web-based request inspector, recommended for initial testing), curl (command-line), or Postman (desktop app).
  • The following information from your cloud administrator:
    • Server URL (including protocol, host, port, and path)
    • HTTP method (POST or PUT)
    • Authentication headers (API keys or tokens, if required)
    • Any additional custom headers required by your server

Step-by-Step Configuration

Important: The screenshots use E2C Factory as an example. The workflow is also applicable to E2C Field, although some menu names or interface details may differ depending on the software version.

Workflow Overview

StepWhat You Will DoEstimated Time
Step 1Verify that E2C Trinity is already collecting live tag data2 minutes
Step 2Create a Tag Group to organize the data points you want to forward5 minutes
Step 3Create an HTTP Cloud Service and configure the server connection5 minutes
Step 4Test the connection and verify data is received by your server3 minutes

Skip ahead: If you already have a Tag Group with live tags, jump to Step 3.


Step 1: Verify Live Tag Data

Purpose: HTTP forwarding only sends data that already exists as live tags. Before configuring anything, confirm that your data collection is working.

  1. In the E2C Trinity web interface, navigate to Data Collection in the left sidebar.
  2. Verify that your device is listed and shows a green status icon.
  3. Confirm that the Latest Value column shows real-time data and the Update Time is current.

If you do not see live data, complete the device and tag configuration first. Refer to the relevant protocol guide (e.g., "How to Configure Modbus TCP Data Collection in E2C Factory") on the Robustel Support Center.


Step 2: Create a Tag Group

Purpose: E2C Trinity forwards data to HTTP by Tag Group — not by individual tags. You must create at least one Tag Group before configuring the HTTP Cloud Service. Think of a Tag Group as a "folder" that bundles related tags for batch transmission.

2.1 Create the Group

  1. Navigate to Data to Cloud > Tag Group.
  2. Click + Create Group.

  1. In the Add Group pop-up window, configure:
ParameterDescriptionExample
NameA recognizable name for this group of tags.Machine_Data
Report TypePeriod (fixed intervals), Change (only when a value changes), or Change & Period (both).Period
Cycle UnitSubsecond-level or Millisecond-level.Subsecond-level (default)
Report IntervalThe reporting interval. The unit depends on the Cycle Unit setting: when set to Subsecond-level, the value is in seconds; when set to Millisecond-level, the value is in milliseconds. Range: 1–999999.10
DescriptionOptional notes about this group's purpose.Packaging machine production data

  1. Click Save and Configure Tag to assign tags immediately (recommended), or click Save to add tags later.

2.2 Add Tags to the Group

  1. The Add Tag window shows all available tags from your configured devices on the left.
  2. Select the tags you want to include and click > to move them to the group. Use ALL to move all tags at once.

  1. Click Close when done. Your Tag Group is ready.

Note: You can always add or remove tags later by selecting the group and using the Add and Batch Delete buttons.


Step 3: Create an HTTP Cloud Service

Purpose: Create a connection in E2C Trinity that defines the target HTTP server and how to send data to it.

3.1 Create the Cloud Service

  1. Navigate to Data to Cloud > Cloud Service.
  2. Click + Create Cloud Service. In the pop-up window, configure:
ParameterDescriptionExample
Cloud Service NameA recognizable name for this cloud service connection.MES_HTTP
Cloud Service TypeSelect HTTP Server from the dropdown. Note: "HTTP Server" is the E2C UI label for this service type. From a network perspective, the gateway acts as an HTTP client sending requests to your server.HTTP Server
DescriptionOptional notes about this service's purpose.(leave blank)

  1. Click Save. After saving, the connection configuration page appears on the right.

3.2 Configure Connection Settings

Fill in the following parameters on the configuration page:

ParameterDescriptionExample
Server AddressA combined field: select the HTTP method (POST or PUT) from the dropdown, then enter the full URL of your server endpoint. You can use {tag name} as a placeholder in the URL for dynamic routing. Currently supports POST and PUT.Method: POST, URL: https://webhook.site/9f216ad3-f294-4890-a68c-44237948061c
Header ConfigurationA table of HTTP headers sent with each request. By default, content-type: application/json is pre-configured. Click Add Header to add authentication headers (e.g., API keys or bearer tokens) as required by your server.content-type = application/json
Data Source TypeSelect Tag Data to forward real-time tag values, or Data Management Data to forward data from a custom data table.Tag Data
GroupSelect the Tag Group you created in Step 2. Each HTTP Cloud Service can only bind to one Tag Group at a time.Machine_Data
Packet Reassembly (E2C UI term)A toggle switch for application-level payload transformation. When enabled, a Function Code editor appears on the left and a data format preview panel appears on the right, allowing you to write custom JavaScript to transform the JSON payload before sending. Leave disabled to use the default JSON format.Disabled (default)
Request TimeoutThe maximum time (in seconds) E2C Trinity waits for a response from the server. If the server does not respond within this time, the upload is considered failed. Maximum: 300 seconds.3

About the Right Panel:

The right side of the configuration page provides a Tag Data Format preview tab that shows the JSON structure of your data. You can also use the View Tags, View Parameters, and View Help tabs to browse available tags, check parameter details, and access the API reference. This is especially useful when you enable Packet Reassembly and need to write custom JavaScript — the preview panel shows exactly what your msg object looks like.

Important — HTTP vs. MQTT:

Unlike MQTT, which has a separate publish message list, the HTTP Cloud Service binds directly to one Tag Group. You do not need to add a separate publish rule. As soon as the connection is saved, E2C Trinity begins sending data according to the Tag Group's reporting interval.

Also note that HTTP data upload is synchronous — the gateway waits for the server's response before sending the next batch. The UI displays a warning: "HTTP data upload is a synchronous operation. It may affect device performance due to communication or server processing efficiency. Adjust this module based on actual conditions." If your server is slow to respond, increase the Request Timeout value.

3.3 Save and Test Connection

Critical Step: After completing the configuration, you must save and verify the connection.

  1. Click the Save button at the top-right corner.
  2. Click the Test Connection button. E2C Trinity sends a test request to the configured URL. A green Success notification at the top of the page indicates the connection was established successfully.

  • A green Success message means the test request reached the server endpoint and received a response. This confirms basic connectivity but does not guarantee that production data from your Tag Group is being delivered successfully. After the test passes, proceed to Step 4 to verify actual data delivery.
  • If the test shows an error, refer to the Troubleshooting section.

Step 4: Verify the Forwarded Data

Purpose: Confirm that your server is receiving data from E2C Trinity.

Using webhook.site (recommended for initial testing):

If you want to quickly verify the data format without setting up a real server, you can use a free HTTP request inspector like webhook.site. It provides a temporary URL that displays all incoming HTTP requests in real time.

  1. Go to webhook.site. You will automatically receive a unique URL (e.g., https://webhook.site/9f216ad3-f294-4890-a68c-44237948061c).
  2. Enter this URL as the Server Address in your HTTP Cloud Service configuration.
  3. After saving, wait for the reporting interval to elapse, then refresh the webhook.site page. You should see the incoming HTTP POST requests in the left sidebar. Click any request to view its raw JSON payload.

Using your own server:

If you have your own HTTP server, you can verify it receives data by checking the server logs or using a monitoring tool.

Each HTTP request from E2C Trinity follows this structure:

{
"messageId": "01f19167-4082-4c84-b1de-ad5927b39138",
"messageType": "normal",
"groupName": "Machine_Data",
"groupTime": 1785206897447,
"payload": {
"defect_count": {
"tag": "defect_count",
"time": 1785206896000,
"value": "15",
"deviceName": "A_CNC_Machine"
},
"device_status": {
"deviceName": "A_CNC_Machine",
"tag": "device_status",
"time": 1785206896000,
"value": "1"
},
"cycle_count": {
"deviceName": "A_CNC_Machine",
"tag": "cycle_count",
"time": 1785206896000,
"value": "233"
}
}
}
FieldDescription
messageIdUnique message identifier (UUID v4)
messageTypeType of message — normal for standard data reports
groupNameName of the Tag Group that was forwarded
groupTimeUnix timestamp (milliseconds) when the group was sent
payload.{tag}.deviceNameSource device name
payload.{tag}.tagTag name
payload.{tag}.timeUnix timestamp (milliseconds) of the tag's last update
payload.{tag}.valueCurrent tag value

Note: The value field is shown as a string in this example. Verify the output format for your tag data type and software version — the encoding may vary depending on the tag type.

If you see real-time data arriving at your server, your configuration is complete.


Troubleshooting

IssuePossible CauseSolution
Test Connection shows an errorThe server URL is incorrect or unreachable.1. Verify the Server Address: select the correct method (POST or PUT) and enter the full URL (e.g., https://webhook.site/...). 2. Use the Ping tool in the gateway's System menu to check network reachability of the server host. 3. Check if a firewall is blocking the port.
Test Connection succeeds but no data arrivesThe Tag Group is empty or the reporting interval has not elapsed yet.Verify that the Tag Group contains tags with live data (see Step 1 and Step 2). Wait for at least one reporting interval before checking the server.
Data is received but values are nullThe underlying tags are in an error state.Go back to Data Collection and check the device and tag status. If a tag shows a red icon or null value, troubleshoot the southbound connection first.
Server returns 401 UnauthorizedAuthentication is required but no valid credentials are provided.Add the required authentication header (e.g., Authorization: Bearer your-token or X-API-Key: your-key) in the Header Configuration section. Click Add Header to add new headers. Contact your cloud administrator for the correct credentials.
Server returns 415 Unsupported Media TypeThe server does not accept the media type or content encoding of the request body.Verify that the content-type header matches the format expected by the server (e.g., application/json). If the server expects a different format, enable Packet Reassembly and use a JavaScript function to reformat the payload.
HTTPS connection failsThe server's TLS certificate is invalid, not trusted, or the hostname does not match.1. Verify that the server's certificate is valid and trusted by the gateway. 2. Check that the URL hostname matches the certificate's Subject Alternative Name (SAN). 3. If using a self-signed certificate, ensure the CA certificate is imported and trusted by the gateway.

Where to Find Logs

  • Debug Logs: In E2C Trinity, navigate to Debug Logs in the left sidebar.
  • System Logs: In the gateway's management page (RobustOS Pro), go to Services > Syslog.

Advanced Topics

Custom Payload Formatting

By default, E2C Trinity sends tag data in its standard JSON format (see the example in Step 4). If your cloud platform expects a different JSON structure, you can enable Packet Reassembly in the HTTP Cloud Service settings and write a JavaScript function in the Function Code editor to transform the payload before sending.

The function receives a msg parameter containing the tag data. You can use Edge.ReadTags() to read additional tag values, perform calculations, filter data, or restructure the JSON output. The right-side Tag Data Format preview panel shows the current JSON structure in real time. Other APIs are available for advanced logic. Click View Help in the right-side panel for the full API reference.

Using Authentication Headers

Most cloud platforms require authentication for API requests. In the Header Configuration section, you can add custom headers to authenticate your requests. Common authentication patterns include:

Authentication TypeHeader ExampleUsed By
API KeyX-API-Key: abc123def456Custom web services, API management platforms
Bearer TokenAuthorization: Bearer eyJhbGciOiJIUzI1NiIs...OAuth 2.0 services, Azure API Management
Basic AuthAuthorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=Simple web services, legacy systems

Contact your cloud platform administrator for the specific header format and credentials required for your endpoint.

Choosing Between HTTP and MQTT

E2C Trinity supports both HTTP and MQTT for cloud data forwarding. Here is a quick comparison to help you decide which one to use:

AspectHTTPMQTT
Communication ModelSynchronous request-responseAsynchronous publish-subscribe
Best ForSimple data ingestion, REST APIs, webhooks, serverless platformsHigh-frequency telemetry, real-time dashboards, bidirectional data
Data FlowGateway pushes data to one server URLGateway publishes to a broker; multiple subscribers can consume
ConfigurationOne Tag Group per Cloud Service, no publish rules neededOne Cloud Service can have multiple publish rules for different topics
OverheadHigher per-message overhead (full HTTP headers)Lower per-message overhead (compact binary protocol)

For most industrial telemetry scenarios with frequent data updates, MQTT offers better efficiency and reliability. HTTP is a good choice when:

  • Your cloud platform only provides a REST API endpoint.
  • You need to integrate with existing web services or webhook-based automation tools.
  • Data volumes are low to moderate, and simplicity is preferred over efficiency.

Cloud Platform Integration

The HTTP Cloud Service described in this guide works with any HTTP/HTTPS endpoint that accepts POST or PUT requests with JSON payloads. This includes popular cloud platforms and integration tools. Guides for connecting E2C Trinity to specific cloud platforms — including AWS API Gateway, Azure API Management, and Alibaba Cloud API Gateway — are planned for future release. For more E2C Trinity articles, visit the Robustel Knowledge Base.


Appendix