Understand and use Azure IoT Hub SDKs

There are two categories of software development kits (SDKs) for working with IoT Hub:

  • Device SDKs enable you to build apps that run on your IoT devices. These apps send telemetry to your IoT hub, and optionally receive messages, job, method, or twin updates from your IoT hub.

  • Service SDKs enable you to manage your IoT hub, and optionally send messages, schedule jobs, invoke direct methods, or send desired property updates to your IoT devices.

Learn about the benefits of developing using Azure IoT SDKs here.

Note

Some of the features mentioned in this article, like cloud-to-device messaging, device twins, and device management, are only available in the standard tier of IoT hub. For more information about the basic and standard IoT Hub tiers, see How to choose the right IoT Hub tier.

Azure IoT device SDKs

The Microsoft Azure IoT device SDKs contain code that facilitates building devices and applications that connect to and are managed by Azure IoT Hub services.

Azure IoT Hub device SDK for .NET:

Azure IoT Hub device SDK for C: written in ANSI C (C99) for portability and broad platform compatibility

Azure IoT Hub device SDK for Java:

Azure IoT Hub device SDK for Node.js:

Azure IoT Hub device SDK for Python:

Note

See the readme files in the GitHub repositories for information about using language and platform-specific package managers to install binaries and dependencies on your development machine.

OS platform and hardware compatibility

For more information about SDK compatibility with specific hardware devices, see the Azure Certified for IoT device catalog or individual repository.

Azure IoT service SDKs

The Azure IoT service SDKs contain code to facilitate building applications that interact directly with IoT Hub to manage devices and security.

Azure IoT Hub service SDK for .NET:

Azure IoT Hub service SDK for Java:

Azure IoT Hub service SDK for Node.js:

Azure IoT Hub service SDK for Python:

Azure IoT Hub service SDK for C:

Note

See the readme files in the GitHub repositories for information about using language and platform-specific package managers to install binaries and dependencies on your development machine.

Next steps

Other reference topics in this IoT Hub developer guide include: