title | description | services | documentationcenter | author | manager | editor | ms.assetid | ms.service | ms.devlang | ms.topic | ms.tgt_pltfrm | ms.workload | ms.date | ms.author | ms.custom |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Understand the Azure IoT SDKs | Microsoft Docs |
Developer guide - information about and links to the various Azure IoT device and service SDKs that you can use to build device apps and back-end apps. |
iot-hub |
dominicbetts |
timlt |
c5c9a497-bb03-4301-be2d-00edfb7d308f |
iot-hub |
multiple |
article |
na |
na |
09/15/2017 |
dobett |
H1Hack27Feb2017 |
There are three 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 from your IoT hub.
-
Service SDKs enable you to manage your IoT hub, and optionally send messages to your IoT devices.
-
Azure IoT Edge enables you to build gateways for devices that don't use one of the supported protocols. Gateways can also process messages on the edge.
SDKs are provided to support multiple programming languages.
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.
The following Azure IoT device SDKs are available to download from GitHub:
- Azure IoT device SDK for .NET
- Azure IoT device SDK for Java
- Azure IoT device SDK for Node.js
- Azure IoT device SDK for Python
- Azure IoT device SDK for C written in ANSI C (C99) for portability and broad platform compatibility. There are two device client libraries for C, the low-level iothub_client and the serializer.
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.
For more information about SDK compatibility with specific hardware devices, see the Azure Certified for IoT device catalog.
The Azure IoT service SDKs contain code to facilitate building applications that interact directly with IoT Hub to manage devices and security.
The following Azure IoT service SDKs are available to download from GitHub:
- Azure IoT service SDK for .NET
- Azure IoT service SDK for Java
- Azure IoT service SDK for Node.js
- Azure IoT service SDK for Python
- Azure IoT 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.
Azure IoT Edge contains the infrastructure and modules to create IoT gateway solutions. You can extend IoT Edge to create gateways tailored to any end-to-end scenario.
You can download Azure IoT Edge from GitHub.
The following list contains links to online API reference documentation for Azure IoT device, service, and gateway libraries:
- Internet of Things (IoT) .NET
- Azure IoT device SDK for Java
- Azure IoT service SDK for Java
- Azure IoT device SDK for Node.js
- Azure IoT service SDK for Node.js
- Azure IoT device SDK for C
- IoT Hub REST
- Azure IoT Edge
Other reference topics in this IoT Hub developer guide include: