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.
Workflow Stage: Collect
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.
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.
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
- Sign up at the ControlCom Portal
- Create an organization for your project
- Add a device to your organization
- 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:
- MQTT Integration Guide - Complete MQTT implementation with code examples
- HTTP API Integration Guide - REST API documentation with request examples
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:
- Configure data storage - Set up historical logging for your variables in the Store stage
- Create visualizations - Build dashboards to monitor your data in the Visualize stage
- Set up alarms - Configure alerts for critical thresholds
- 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
- Platform Overview - Understanding the ControlCom Connect architecture
- Variables Documentation - Learn about data types and configuration
- Node-RED Integration - Low-code alternative for prototyping
Ready to start sending data? Choose your integration method and follow the detailed guides: