The /IOTCONNECT™ Device SDK enables bidirectional communication between your IoT devices and the cloud platform. It handles device authentication, telemetry publishing, command reception, and OTA updates across multiple programming languages and hardware platforms.
The /IOTCONNECT™ SDK is a set of client libraries that simplify connecting IoT devices to the platform. Instead of manually implementing MQTT connections, authentication handshakes, and message formatting, the SDK provides ready-to-use functions for:
Device Authentication: Automatic discovery of broker info, identity retrieval, and secure connection establishment using X.509 certificates or symmetric keys.
Telemetry Publishing: Send structured sensor data to the cloud using send_telemetry() with automatic JSON formatting per the /IOTCONNECT™ 2.1 message protocol.
Command Reception: Receive cloud-to-device (C2D) commands with callback handlers for remote device control and configuration.
OTA Updates: Handle firmware update notifications, download binaries, apply updates, and report status back to the platform.
Device Twin / Shadow: Synchronize desired and reported device state between cloud and device for configuration management.
All /IOTCONNECT™ SDKs share a common feature set regardless of programming language:
Auto-discovery: SDK calls the Discovery API to fetch broker endpoint, port, and protocol details for your device.
Agent Sync: Retrieves device configuration including attributes, settings, and protocol info from the platform.
Secure Connection: Establishes TLS-encrypted MQTT or HTTPS connection using device credentials.
Message Protocol 2.1: Formats telemetry data according to the /IOTCONNECT™ JSON message specification with automatic versioning.
Offline Buffering: Stores telemetry locally when connectivity is lost and syncs when connection is restored.
Acknowledgments: Supports command acknowledgment, fault reporting, and device-initiated messages.
/IOTCONNECT™ provides SDKs for the following languages and platforms:
Python: For Raspberry Pi, Linux gateways, embedded Linux, and rapid prototyping. Lightweight and easy to integrate.
C: For microcontrollers (MCUs), RTOS, and resource-constrained embedded devices. Minimal memory footprint.
Node.js: For JavaScript / TypeScript-based gateways, edge servers, and server-side IoT applications.
C# / .NET: For Windows IoT, .NET-based gateways, and enterprise device applications.
Java: For Android Things, JVM-based gateways, and cross-platform desktop applications.
Android: Native Android SDK for mobile companion apps and Android-based IoT devices.
iOS: Native iOS SDK for iPhone / iPad companion apps with device control and monitoring.
Greengrass (Python): Specialized SDK for AWS IoT Greengrass Components with edge computing support.
To start using any /IOTCONNECT™ SDK:
1. Create a Device Template in the /IOTCONNECT™ portal with your attributes and commands.
2. Create a Device and note the Unique ID and authentication credentials.
3. Get your CPID and Environment from Settings → Key Vault.
4. Install the SDK for your programming language.
5. Initialize the SDK client with CPID, Environment, and Device Unique ID.
6. Call connect() to establish the MQTT connection.
7. Use send_telemetry() to publish device data.
8. Register command callbacks to handle C2D messages.
GitHub Repositories:
– Python SDK (Lite)
– C SDK
– Node.js SDK
– Greengrass Python SDK
SETTINGS > KEY VAULT
for your CPID and Environment values.