You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/iot-dps/libraries-sdks.md
+22-15Lines changed: 22 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
---
2
2
title: IoT Hub Device Provisioning Service libraries and SDKs
3
3
description: Information about the device and service libraries available for developing solutions with Device Provisioning Service (CPS).
4
-
author: JimacoMS4
5
-
ms.author: v-jbrannian
6
-
ms.date: 06/30/2022
4
+
author: kgremban
5
+
ms.author: kgremban
6
+
ms.date: 08/03/2022
7
7
ms.topic: reference
8
8
ms.service: iot-dps
9
9
services: iot-dps
@@ -12,27 +12,21 @@ ms.custom: mvc
12
12
13
13
# Microsoft SDKs for IoT Hub Device Provisioning Service
14
14
15
-
Azure IoT Hub Device Provisioning Service (DPS) SDKs help you build backend and device applications that leverage DPS to provide zero-touch, just-in-time provisioning to one or more IoT hubs. The SDKs are published in a variety of popular languages and handle the underlying transport and security protocols between your devices or backend apps and DPS, freeing developers to focus on application development. Additionally, using the SDKs provides you with support for future updates to DPS, including security updates.
15
+
The Azure IoT Hub Device Provisioning Service (DPS) is a helper service for IoT Hub. The DPS package provides SDKs to help you build backend and device applications that leverage DPS to provide zero-touch, just-in-time provisioning to one or more IoT hubs. The SDKs are published in a variety of popular languages and handle the underlying transport and security protocols between your devices or backend apps and DPS, freeing developers to focus on application development. Additionally, using the SDKs provides you with support for future updates to DPS, including security updates.
16
16
17
17
There are three categories of software development kits (SDKs) for working with DPS:
18
18
19
-
-[DPS service SDKs](#service-sdks) provide data plane operations for backend apps. You can use the service SDKs to create and manage individual enrollments and enrollment groups, and to query and manage device registration records.
20
-
21
-
-[DPS management SDKs](#management-sdks) provide control plane operations for backend apps. You can use the management SDKs to create and manage DPS instances and metadata. For example, to create and manage DPS instances in your subscription, to upload and verify certificates with a DPS instance, or to create and manage authorization policies or allocation policies in a DPS instance.
22
-
23
19
-[DPS device SDKs](#device-sdks) provide data plane operations for devices. You use the device SDK to provision a device through DPS.
24
20
25
-
Azure IoT SDKs are also available for the following services:
26
-
27
-
-[IoT Hub SDKs](../iot-hub/iot-hub-devguide-sdks.md): To help you build devices and backend apps that communicate with Azure IoT Hub.
21
+
-[DPS service SDKs](#service-sdks) provide data plane operations for backend apps. You can use the service SDKs to create and manage individual enrollments and enrollment groups, and to query and manage device registration records.
28
22
29
-
-[Device Update for IoT Hub SDKs](../iot-hub-device-update/understand-device-update.md): To help you deploy over-the-air (OTA) updates for IoT devices.
23
+
-[DPS management SDKs](#management-sdks) provide control plane operations for backend apps. You can use the management SDKs to create and manage DPS instances and metadata. For example, to create and manage DPS instances in your subscription, to upload and verify certificates with a DPS instance, or to create and manage authorization policies or allocation policies in a DPS instance.
30
24
31
-
-[IoT Plug and Play SDKs](../iot-develop/libraries-sdks.md): To help you build IoT Plug and Play solutions.
25
+
The DPS SDKs help you provision devices to your IoT hubs. Microsoft also provides a set of SDKs to help you build device apps and backend apps that communicate directly with Azure IoT Hub. For example, to help your provisioned devices send telemetry to your IoT hub, and, optionally, to receive messages and job, method, or twin updates from your IoT hub. To learn more, see [Azure IoT Hub SDKs](../iot-hub/iot-hub-devguide-sdks.md).
32
26
33
27
## Device SDKs
34
28
35
-
The DPS device SDKs provide code that runs on your IoT devices and simplifies provisioning with DPS.
29
+
The DPS device SDKs provide implementations of the [Register](/rest/api/iot-dps/device/runtime-registration/register-device) API and others that devices call to provision through DPS. The device SDKs can run on general MPU-based computing devices such as a PC, tablet, smartphone, or Raspberry Pi. The SDKs support development in C and in modern managed languages including in C#, Node.JS, Python, and Java.
Microsoft also provides embedded device SDKs to facilitate development on resource-constrained devices. To learn more, see the [IoT Device Development Documentation](../iot-develop/about-iot-sdks.md).
39
+
> [!WARNING]
40
+
> The **C SDK** listed above is **not** suitable for embedded applications due to its memory management and threading model. For embedded devices, refer to the [Embedded device SDKs](#embedded-device-sdks).
41
+
42
+
### Embedded device SDKs
43
+
44
+
These SDKs were designed and created to run on devices with limited compute and memory resources and are implemented using the C language.
|**Bare Metal**| Azure SDK for Embedded C |[GitHub](https://github.com/Azure/azure-sdk-for-c/tree/master/sdk/docs/iot)|[Samples](https://github.com/Azure/azure-sdk-for-c/blob/master/sdk/samples/iot/README.md)|[Reference](https://azure.github.io/azure-sdk-for-c)|
51
+
52
+
Learn more about the device and embedded device SDKs in the [IoT Device Development documentation](../iot-develop/about-iot-sdks.md).
There are two categories of software development kits (SDKs) for working with IoT Hub:
15
+
There are three categories of software development kits (SDKs) for working with IoT Hub:
16
+
17
+
*[**IoT Hub device SDKs**](#azure-iot-hub-device-sdks) enable you to build apps that run on your IoT devices using device client or module client. These apps send telemetry to your IoT hub, and optionally receive messages, job, method, or twin updates from your IoT hub. You can use these SDKs to build device apps that use [Azure IoT Plug and Play](../iot-develop/overview-iot-plug-and-play.md) conventions and models to advertise their capabilities to IoT Plug and Play-enabled applications. You can also use module client to author [modules](../iot-edge/iot-edge-modules.md) for [Azure IoT Edge runtime](../iot-edge/about-iot-edge.md).
17
18
18
19
*[**IoT Hub service SDKs**](#azure-iot-hub-service-sdks) enable you to build backend applications to manage your IoT hub, and optionally send messages, schedule jobs, invoke direct methods, or send desired property updates to your IoT devices or modules.
19
20
20
-
*[**IoT Hub device SDKs**](../iot-develop/about-iot-sdks.md) enable you to build apps that run on your IoT devices using device client or module client. These apps send telemetry to your IoT hub, and optionally receive messages, job, method, or twin updates from your IoT hub. You can use these SDKs to build device apps that use [Azure IoT Plug and Play](../iot-develop/overview-iot-plug-and-play.md) conventions and models to advertise their capabilities to IoT Plug and Play-enabled applications. You can also use module client to author [modules](../iot-edge/iot-edge-modules.md) for [Azure IoT Edge runtime](../iot-edge/about-iot-edge.md).
21
+
*[**IoT Hub management SDKs**](#azure-iot-hub-management-sdks) help you build backend applications that manage the IoT hubs in your Azure subscription.
22
+
23
+
Microsoft also provides a set of SDKs for provisioning devices through and building backend services for the [Device Provisioning Service](../iot-dps/about-iot-dps.md). To learn more, see [Microsoft SDKs for IoT Hub Device Provisioning Service](../iot-dps/libraries-sdks.md).
21
24
22
-
In addition, we also provide a set of SDKs for working with the [Device Provisioning Service](../iot-dps/about-iot-dps.md).
25
+
Learn about the [benefits of developing using Azure IoT SDKs](https://azure.microsoft.com/blog/benefits-of-using-the-azure-iot-sdks-in-your-azure-iot-solution/).
23
26
24
-
***Provisioning device SDKs** enable you to build apps that run on your IoT devices to communicate with the Device Provisioning Service.
27
+
## Azure IoT Hub device SDKs
25
28
26
-
***Provisioning service SDKs** enable you to build backend applications to manage your enrollments in the Device Provisioning Service.
29
+
The Microsoft Azure IoT device SDKs contain code that facilitates building applications that connect to and are managed by Azure IoT Hub services. These SDKs can run on a general MPU-based computing device such as a PC, tablet, smartphone, or Raspberry Pi. The SDKs support development in C and in modern managed languages including in C#, Node.JS, Python, and Java.
27
30
28
-
Learn about the [benefits of developing using Azure IoT SDKs](https://azure.microsoft.com/blog/benefits-of-using-the-azure-iot-sdks-in-your-azure-iot-solution/).
31
+
The SDKs are available in **multiple languages** providing the flexibility to choose which best suits your team and scenario.
> The **C SDK** listed above is **not** suitable for embedded applications due to its memory management and threading model. For embedded devices, refer to the [Embedded device SDKs](#embedded-device-sdks).
43
+
44
+
### Embedded device SDKs
45
+
46
+
These SDKs were designed and created to run on devices with limited compute and memory resources and are implemented using the C language.
47
+
48
+
The embedded device SDKs are available for **multiple operating systems** providing the flexibility to choose which best suits your team and scenario.
|**Bare Metal**| Azure SDK for Embedded C |[GitHub](https://github.com/Azure/azure-sdk-for-c/tree/master/sdk/docs/iot)|[Samples](https://github.com/Azure/azure-sdk-for-c/blob/master/sdk/samples/iot/README.md)|[Reference](https://azure.github.io/azure-sdk-for-c)|
55
+
56
+
Learn more about the IoT Hub device SDKS in the [IoT Device Development Documentation](../iot-develop/about-iot-sdks.md).
29
57
30
58
## Azure IoT Hub service SDKs
31
59
@@ -38,22 +66,33 @@ The Azure IoT service SDKs contain code to facilitate building applications that
The **Microsoft Azure provisioning SDKs** enable you to provision devices to your IoT Hub using the [Device Provisioning Service](../iot-dps/about-iot-dps.md). To learn more about the provisioning SDKs, see [Microsoft SDKs for Device Provisioning Service](../iot-dps/libraries-sdks.md).
69
+
## Azure IoT Hub management SDKs
44
70
45
-
## Azure IoT Hub device SDKs
46
-
47
-
The Microsoft Azure IoT device SDKs contain code that facilitates building applications that connect to and are managed by Azure IoT Hub services.
71
+
The Iot Hub management SDKs help you build backend applications that manage the IoT hubs in your Azure subscription.
48
72
49
-
Learn more about the IoT Hub device SDKS in the [IoT Device Development Documentation](../iot-develop/about-iot-sdks.md).
For more information about SDK compatibility with specific hardware devices, see the [Azure Certified for IoT device catalog](https://devicecatalog.azure.com/) or individual repository.
82
+
For more information about device SDK compatibility with specific hardware devices, see the [Azure Certified for IoT device catalog](https://devicecatalog.azure.com/) or individual repository.
Azure IoT SDKs are also available for the following services:
89
+
90
+
*[Microsoft SDKs for IoT Hub Device Provisioning Service](../iot-dps/libraries-sdks.md): To help you provision devices through and build backend services for the Device Provisioning Service.
91
+
92
+
*[Device Update for IoT Hub SDKs](../iot-hub-device-update/understand-device-update.md): To help you deploy over-the-air (OTA) updates for IoT devices.
93
+
94
+
*[IoT Plug and Play SDKs](../iot-develop/libraries-sdks.md): To help you build IoT Plug and Play solutions.
95
+
57
96
## Next steps
58
97
59
98
* Learn how to [manage connectivity and reliable messaging](iot-hub-reliability-features-in-sdks.md) using the IoT Hub SDKs.
0 commit comments