Sending Data - Direct Integration Methods

Send data directly to ControlCom Connect from your custom applications, device firmware, or scripts using MQTT protocol or HTTP API. Perfect for developers who need full control over data transmission.

Introduction

When you need to send data to ControlCom Connect from custom applications or device firmware, you have two direct integration options: MQTT and HTTP API. Both methods allow you to transmit device data directly to the platform without using the Edge Server.

These direct integration methods are ideal for:

  • Custom device firmware development
  • Existing applications that need IoT connectivity
  • Specialized devices with unique communication requirements
  • Integration with third-party systems
  • Scenarios where the Edge Server doesn't fit your architecture

Integration Methods

ControlCom Connect provides two protocols for sending data directly:

Guides

MQTT Protocol

Real-time bidirectional communication using the industry-standard MQTT protocol.

Perfect for custom firmware, embedded systems, and real-time data streaming with low latency.

Read more

HTTP API

Simple REST API integration using standard HTTP POST requests.

Ideal for web applications, scheduled uploads, and systems that prefer RESTful APIs over persistent connections.

Read more

MQTT Protocol

MQTT (Message Queuing Telemetry Transport) is a lightweight publish-subscribe messaging protocol designed for IoT devices and low-bandwidth networks.

Key Features:

  • Persistent bidirectional connection to ControlCom Connect
  • Real-time data transmission with minimal latency
  • Efficient for battery-powered and resource-constrained devices
  • Industry-standard protocol with extensive library support
  • Supports QoS (Quality of Service) levels for reliable delivery

Best For:

  • Custom device firmware and embedded systems
  • Real-time monitoring and control applications
  • Resource-constrained devices
  • Scenarios requiring bidirectional communication
  • High-frequency data transmission

Technical Requirements:

  • MQTT client library for your development platform
  • Understanding of MQTT topics and message structure
  • Network connectivity on port 1883 (or 8883 for TLS)
  • Device authentication credentials from ControlCom Connect

Learn more about MQTT Integration →

HTTP API

The HTTP API allows you to send data using standard REST API calls, making it accessible to any platform that can make HTTP requests.

Key Features:

  • Simple HTTP POST requests with JSON payloads
  • No persistent connection required
  • Works with any HTTP client library
  • Easy to test with tools like cURL or Postman
  • Firewall-friendly (uses standard HTTP/HTTPS ports)

Best For:

  • Web applications and cloud services
  • Scheduled or batch data uploads
  • Systems behind restrictive firewalls
  • Intermittent connectivity scenarios
  • Developers familiar with REST APIs

Technical Requirements:

  • HTTP client capability (available in all programming languages)
  • JSON formatting for request payloads
  • API key authentication
  • Network connectivity on port 80 (HTTP) or 443 (HTTPS)

Learn more about HTTP API Integration →

Choosing a Method

Select the integration method that best fits your use case:

Choose MQTT When:

  • You need real-time bidirectional communication
  • Your device will maintain a persistent connection
  • You're developing custom embedded firmware
  • Low latency and high efficiency are critical
  • You need publish-subscribe messaging patterns
  • Your system sends frequent updates (multiple times per minute)

Choose HTTP API When:

  • You're integrating web applications or cloud services
  • Your device connects intermittently rather than persistently
  • You prefer RESTful API patterns
  • Your network blocks MQTT ports but allows HTTP/HTTPS
  • You send data on a scheduled basis (hourly, daily, etc.)
  • You want to use standard HTTP tools for testing

Not Sure Which to Use?

If you're unsure, consider these factors:

  • Frequency of updates: High frequency → MQTT, Low frequency → HTTP
  • Connection style: Always-on → MQTT, Intermittent → HTTP
  • Development experience: Embedded/IoT → MQTT, Web/Cloud → HTTP
  • Bidirectional needs: Commands to devices → MQTT, One-way data → Either

Getting Started

To send data to ControlCom Connect:

Step 1: Create Your Organization and Device

  1. Sign up at the ControlCom Portal
  2. Create an organization for your project
  3. Add a device to your organization
  4. Create variables to receive your data

Step 2: Obtain Authentication Credentials

  • For MQTT: Get your device's MQTT username and password
  • For HTTP: Get your API key from the portal

Step 3: Choose Your Integration Method

Select MQTT or HTTP based on your requirements (see "Choosing a Method" above).

Step 4: Implement Data Transmission

Follow the detailed guides for your chosen method:

Step 5: Test Your Integration

  • Send test data from your application or device
  • Verify data appears in the ControlCom Connect portal
  • Check variable values update correctly
  • Test error handling and retry logic

Next Steps

After implementing data transmission:

  1. Configure data storage - Set up historical logging for your variables in the Store stage
  2. Create visualizations - Build dashboards to monitor your data in the Visualize stage
  3. Set up alarms - Configure alerts for critical thresholds
  4. Analyze trends - Use Platform Explorer to query and analyze your data

Alternative: Use the Edge Server

If direct integration seems too complex, consider using the Edge Server instead. The Edge Server:

  • Handles all MQTT/HTTP complexity automatically
  • Provides a web UI for device configuration
  • Requires no custom development
  • Supports common industrial protocols (Modbus, OPC UA, etc.)
  • Is easier to deploy and maintain

The Edge Server uses MQTT under the hood, so you get the same performance without writing custom code.

Additional Resources


Ready to start sending data? Choose your integration method and follow the detailed guides:

Was this page helpful?