SDK Features
IoTCore supports multiple protocols for the device to connect with MQTT. HTTPS can optionally run over WebSockets. The Device Client SDK allows the protocol to be chosen at connection creation time.
The Device/Module Client SDK optionally allows the creation of IoTCore devices.
If you’re not sure which protocol to use, you should use MQTT or MQTT-WS. MQTT requires considerably fewer resources than HTTPS and supports considerably more IoTCore functionality.
✔️ feature available ✖️ feature planned but not supported ➖ no support planned
Feature | CSDK | Python | Description |
---|---|---|---|
Acquire Connection and Connect to IoTCore | ✔️ | ✔️ | Each SDK will have a method/constructor to create an instance of SDK which is to discover the device’s identity and get it connected to IoTConnect’s IoTCore. |
Authentication | ✔️ | ✔️ | Connect your device to IoTCore securely with supported authentication, including X-509 Self Signed, and Certificate Authority (CA) Signed. *IoTCore only supports X-509 Self-Signed to MQTT at the moment. |
Receive Cloud-to-Device Messages | ✔️ | ✔️ | Receive cloud-to-device messages and read associated custom and system properties from IoTCore, with the option to complete/reject/abandon C2D messages. |
Device Shadow[C2D] | ✖️ | ✔️ | The AWS IoT Device Shadow service adds shadows to AWS IoTCore objects. Shadows can make a device’s state available to apps and other services whether the device is connected to AWS IoT or not. |
OTA Command[C2D] | ✔️ | ✔️ | This is a special command sent to the device for firmware updates. One can add firmware commands as part of the Template. If no command is defined at the template level then IoTConnect will send OTA as command texts.
Note: “URLs” [Ref: URLs], will be a string array as IoTConnect supports multiple firmware files to be sent out in a single OTA Update. |
Device Command[C2D] | ✔️ | ✔️ | As part of the Template, there will be commands which can be sent from Cloud to the Device. |
Send Device-to-Cloud Message | ✔️ | ✔️ | Once SDK received authentication details it can keep a connection to the host open and start sending data device-to-cloud messages to IoTCore |
Send telemetry data[D2C] | ✔️ | ✔️ | This feature is used to send telemetry data from your device to the cloud. Your own version of dataArray based on template attributes can be created under firmware. |
Rule matched command[C2D] | ✖️ | ✔️ | This feature is used to send a command from IoTCore to the device once the predefined rule is matched. |
Offline Storage | ✖️ | ✔️ | This feature is used to store device data in a text file when the internet is not available. Users need to Define the file size of offline data which should be in (MB) and the number of files needs to create for offline data. |