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-hub/iot-hub-device-sdk-platform-support.md
+93-52Lines changed: 93 additions & 52 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,92 +5,133 @@ author: robinsh
5
5
ms.service: iot-hub
6
6
services: iot-hub
7
7
ms.topic: conceptual
8
-
ms.date: 04/01/2018
8
+
ms.date: 10/08/2019
9
9
ms.author: robinsh
10
10
---
11
11
12
-
# Azure IoT SDKs Platform Support
12
+
# Azure IoT Device SDKs Platform Support
13
13
14
-
The [Azure IoT SDKs](iot-hub-devguide-sdks.md) are a set of libraries to interact with IoT Hub and the Device Provisioning Service with broad language and platform support. The SDKs run on most common platforms, and developers can port the C SDK to specific platform by following the [Porting Guidance](https://github.com/Azure/azure-c-shared-utility/blob/master/devdoc/porting_guide.md).
14
+
Microsoft strives to continually expand the universe of Azure IoT Hub capable devices. Microsoft publishes open-source device SDKs on GitHub to help connect devices to Azure IoT Hub and the Device Provisioning Service. The device SDKs are available for C, .NET (C#), Java, Node.js, and Python. Microsoft tests each SDK to ensure that it runs on the supported configurations detailed for it in the [Microsoft SDKs and device platform support](#microsoft-sdks-and-device-platform-support) section.
15
15
16
-
Microsoft supports a variety of operating systems/platforms/frameworks and can be extended using the Azure IoT C SDK. Some are supported officially by the team, grouped into tiers that represent the level of support users can expect. *Fully supported platforms* means that Microsoft:
16
+
In addition to the device SDKs, Microsoft provides several other avenues to empower customers and developers to connect their devices to Azure IoT:
17
17
18
-
- Continuously builds and runs end-to-end tests against master and the LTS supported version(s). To provide test coverage across different versions, we generally test against the latest LTS version and the most popular version. Other versions of the same platform may be supported via platform version compatibility.
19
-
- Provides installation guidance or packages if applicable.
20
-
- Fully supports the platforms on GitHub.
18
+
* Microsoft collaborates with several partner companies to help them publish development kits, based on the Azure IoT C SDK, for their hardware platforms.
21
19
22
-
In addition, a list of partners has ported our C SDK on to more platforms and they are maintaining the platform abstraction layer (PAL). [Azure Certified for IoT Device Catalog](https://catalog.azureiotsolutions.com/) also features a list of OS platforms the various SDKs have been tested against. The SDKs also regularly build on these platforms, with limited testing and support:
20
+
* Microsoft works with Microsoft trusted partners to provide an ever-expanding set of devices that have been tested and certified for Azure IoT. For a current list of these devices, see the [Azure certified for IoT device catalog](https://catalog.azureiotsolutions.com/).
23
21
24
-
* MBED2
25
-
* Arduino
26
-
* Windows CE 2013 (deprecate in October 2018)
27
-
* .NET Standard 1.3 with .NET Core 2.1 and .NET Framework 4.7
28
-
* Xamarin iOS, Android, UWP
22
+
* Microsoft provides a platform abstraction layer (PAL) in the Azure IoT Hub Device C SDK that helps developers to easily port the SDK to their platform. To learn more, see the [C SDK porting guidance](https://github.com/Azure/azure-c-shared-utility/blob/master/devdoc/porting_guide.md).
29
23
30
-
## Supported platforms
24
+
This topic provides information about the Microsoft SDKs and the platform configurations they support, as well as each of the other options listed above.
31
25
32
-
There are several platforms supported.
26
+
## Microsoft SDKs and device platform support
27
+
28
+
Microsoft publishes open-source SDKs on GitHub for the following languages: C, .NET (C#), Node.js, Java, and Python. The SDKs and their dependencies are listed in this section. The SDKs are supported on any device platform that satisfies these dependencies.
29
+
30
+
For each of the listed SDKs, Microsoft:
31
+
32
+
* Continuously builds and runs end-to-end tests against the master branch of the relevant SDK in GitHub on several popular platforms. To provide test coverage across different compiler versions, we generally test against the latest LTS version and the most popular version.
33
+
34
+
* Provides installation guidance or installation packages if applicable.
35
+
36
+
* Fully supports the SDKs on GitHub with open-source code, a path for customer contributions, and product team engagement with GitHub issues.
| Ubuntu 16.04 LTS (using node 6 docker image) | X64 | LTS and Current |
72
-
| Windows Server 2016 | X64 | LTS and Current |
71
+
The [Azure IoT Hub Node.js device SDK](https://github.com/Azure/azure-iot-sdk-node) is tested with and supports the following configurations.
72
+
73
+
| OS | Node version |
74
+
|---------------------|-----------------|
75
+
| Linux | LTS and Current |
76
+
| Windows 10 family | LTS and Current |
73
77
74
78
### Java SDK
75
79
76
-
| OS | Arch | Java version |
77
-
|---------------------|------|--------------|
78
-
| Ubuntu 16.04 LTS | X64 | Java 8 |
79
-
| Windows Server 2016 | X64 | Java 8 |
80
-
| Android API 28 | X64 | Java 8 |
81
-
| Android Things | X64 | Java 8 |
80
+
The [Azure IoT Hub Java device SDK](https://github.com/Azure/azure-iot-sdk-java) is tested with and supports the following configurations.
82
81
83
-
## Partner supported platforms
82
+
| OS | Java version |
83
+
|------------------------|--------------|
84
+
| Android API 28 | Java 8 |
85
+
| Linux x64 | Java 8 |
86
+
| Windows 10 family x64 | Java 8 |
84
87
85
-
Customers can extend our platform support by porting the Azure IoT C SDK, specifically, creating the platform abstraction layer (PAL) of the SDK. Microsoft works with partners to provide extended support. A list of partners has ported the C SDK on to more platforms and maintaining the PAL.
88
+
## Partner supported development kits
89
+
90
+
Microsoft works with various partners to provide development kits for several microprocessor architectures. These partners have ported the Azure IoT C SDK to their platform. Partners create and maintain the platform abstraction layer (PAL) of the SDK. Microsoft works with these partners to provide extended support.
| ST Microelectronics | STM32L4 Series <br/> STM32F4 Series <br/> STM32F7 Series <br/> STM32L4 Discovery Kit for IoT node | [X-CUBE-CLOUD](https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-expansion-packages/x-cube-cloud.html) <br/> [X-CUBE-AZURE](https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-expansion-packages/x-cube-azure.html) <br/> [P-NUCLEO-AZURE](https://www.st.com/content/st_com/en/products/evaluation-tools/solution-evaluation-tools/communication-and-connectivity-solution-eval-boards/p-nucleo-azure1.html) <br/> [FP-CLD-AZURE](https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32-ode-function-pack-sw/fp-cld-azure1.html) | [Support](https://www.st.com/content/st_com/en/support/support-home.html)
96
+
| ST Microelectronics | STM32L4 Series <br/> STM32F4 Series <br/> STM32F7 Series <br/> STM32L4 Discovery Kit for IoT node | [X-CUBE-AZURE](https://www.st.com/en/embedded-software/x-cube-azure.html) <br/> <br/> [P-NUCLEO-AZURE](https://www.st.com/content/st_com/en/products/evaluation-tools/solution-evaluation-tools/communication-and-connectivity-solution-eval-boards/p-nucleo-azure1.html) <br/> [FP-CLD-AZURE](https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32-ode-function-pack-sw/fp-cld-azure1.html) | [Support](https://www.st.com/content/st_com/en/support/support-home.html)
92
97
| Texas Instruments | CC3220SF LaunchPad </br> CC3220S LaunchPad </br> CC3235SF LaunchPad </br> CC3235S LaunchPad </br> MSP432E4 LaunchPad |[Azure IoT Plugin for SimpleLink](https://github.com/TexasInstruments/azure-iot-pal-simplelink)|[TI E2E Forum](https://e2e.ti.com) <br/> [TI E2E Forum for CC3220](https://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/) <br/> [TI E2E Forum for MSP432E4](https://e2e.ti.com/support/microcontrollers/msp430/)|
93
98
99
+
## Porting the Microsoft Azure IoT C SDK
100
+
101
+
If your device platform isn't covered by one of the previous sections, you can consider porting the Azure IoT C SDK. Porting the C SDK primarily involves implementing the platform abstraction layer (PAL) of the SDK. The PAL defines primitives that provide the glue between your device and higher-level functions in the SDK. For more information, see [Porting Guidance](https://github.com/Azure/azure-c-shared-utility/blob/master/devdoc/porting_guide.md).
102
+
103
+
## Microsoft partners and certified Azure IoT devices
104
+
105
+
Microsoft works with a number of partners to continually expand the Azure IoT universe with Azure IoT tested and certified devices.
106
+
107
+
* To browse Azure IoT certified devices, see [Microsoft Azure Certified for IoT Device Catalog](https://catalog.azureiotsolutions.com/).
108
+
109
+
* To learn more about Microsoft trusted partners or to learn how to become a Microsoft trusted partner, see [Microsoft Azure Certified Internet of Things Trusted Partners](https://azure.microsoft.com/en-us/marketplace/certified-iot-partners/).
110
+
111
+
## Connecting to IoT Hub without an SDK
112
+
113
+
If you're not able to use one of the IoT Hub device SDKs, you can connect directly to IoT Hub using the [IoT Hub REST APIs](https://docs.microsoft.com/en-us/rest/api/iothub/) from any application capable of sending and receiving HTTPS requests and responses.
114
+
115
+
## Support and other resources
116
+
117
+
If you experience problems while using the Azure IoT device SDKs, there are several ways to seek support. You can try one of the following channels:
118
+
119
+
**Reporting bugs** – Bugs in the device SDKs can be reported on the issues page of the relevant GitHub project. Fixes rapidly make their way from the project in to product updates.
120
+
121
+
*[Azure IoT Hub C SDK issues](https://github.com/Azure/azure-iot-sdk-c/issues)
**Microsoft Customer Support team** – Users who have a [support plan](https://azure.microsoft.com/support/plans/) can engage the Microsoft Customer Support team by creating a new support request directly from the [Azure portal](https://ms.portal.azure.com/#blade/Microsoft_Azure_Support/HelpAndSupportBlade/overview).
132
+
133
+
**Feature requests** – Azure IoT feature requests are tracked via the product’s [User Voice page](https://feedback.azure.com/forums/321918-azure-iot).
134
+
94
135
## Next steps
95
136
96
137
*[Device and service SDKs](iot-hub-devguide-sdks.md)
0 commit comments