IoT Data Transfer Endpoints
Welcome to the EdgeIQ platform documentation. This document outlines the various methods through which IoT devices can send data to the EdgeIQ platform. There are three primary communication protocols supported: MQTT, REST API, and LwM2M. Each protocol has unique endpoints, ports, and capabilities - all of which are detailed below.
MQTT
Overview
MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol for small sensors and mobile devices. It facilitates asynchronous communication between devices and the cloud, ideal for scenarios where bandwidth is limited.
Note: MQTT endpoints are primarily used by Coda clients. Coda is the software agent that manages Linux-enabled devices, previously known as Edge.
Important: Client IDs must be unique. If a duplicate connection with the same client ID is found, the connected client will be disconnected from the MQTT broker.
Endpoints and Ports
- Endpoint #1.1:
- Domain: mqtt.edgeiq.io
- Port: 433
- Auth: User-Password
- QoS: 0, 1
- Use-case: Devices with user-password authentication.
- Endpoint #1.2:
- Domain: mqtt.edgeiq.io
- Port: 8883
- Auth: X.509 Certificates (TPM)
- QoS: 0, 1
- Use-case: Devices with device certificate-based authentication.
- Note: Supports Coda devices version above 4. For non-Coda devices it requires implementation of ALPN
- Endpoint #2 (Legacy):
- Domain: mqtt.ms-io.com
- Port: 433
- Auth: User-Password
- QoS: 0, 1, 2
- Use-case: Support the legacy Coda devices (below version 4.0.0)
- Note: This endpoint will be deprecated in the end of 2025.
Capabilities
- Retained Messages: Supported
- Last Will and Testament (LWT): Supported
- Clean Session: Supported
- Data Communication: Allows sending data to the cloud as well as receiving commands from the cloud for execution.
REST API
Overview
REST API (Representational State Transfer Application Programming Interface) is widely used for sending and receiving data over the web. It is ideal for applications that require stateless communication, making it suitable for one-off data transmissions.
Endpoints and Ports
- Endpoint #1
- Base URL: https://api.edgeiq.io
- Port: 433
- Auth: API-Key
- Actions:
- Use-case: This method is suitable for cloud-native devices
- Notes: Only Device to Cloud communication supported
LwM2M
Overview
LwM2M (Lightweight M2M) is a protocol from the Open Mobile Alliance specifically designed for remote device management and telemetry. It is highly efficient and optimized for constrained devices.
Endpoints and Ports
- Endpoint #1
- Bootstrap Server Domain: lwm2m-server.edgeiq.io
- LwM2M Server Domain: lwm2m-server.edgeiq.io
- Port: 5684 (DTLS)
- Use-case: Manage fleet of low-powered devices which communicates over LWM2M protocol (non-Coda)
- Notes: Please review the reference example of client integration
Updated 4 months ago