Skip to content

Commit 8c09512

Browse files
Merge pull request #221762 from timlt/new-overview
Updates for shift to IoT Hub
2 parents 04c9902 + 63c1fff commit 8c09512

7 files changed

+112
-101
lines changed

articles/iot-develop/.openpublishing.redirection.iot-develop.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,11 @@
424424
"source_path_from_root": "/articles/iot-pnp/overview-iot-plug-and-play-current-release.md",
425425
"redirect_url": "/azure/iot-develop/overview-iot-plug-and-play",
426426
"redirect_document_id": false
427-
}
427+
},
428+
{
429+
"source_path_from_root": "/articles/iot-develop/concepts-overview-connection-options.md",
430+
"redirect_url": "/azure/iot-develop/about-iot-develop",
431+
"redirect_document_id": false
432+
}
428433
]
429434
}

articles/iot-develop/TOC.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
href: about-iot-develop.md
77
- name: Which SDK should I use?
88
href: about-iot-sdks.md
9+
- name: Get started with IoT device development
10+
href: about-getting-started-device-development.md
911
- name: Quickstarts
1012
expanded: true
1113
items:
@@ -47,8 +49,6 @@
4749
href: tutorial-migrate-device-to-module.md
4850
- name: Concepts
4951
items:
50-
- name: Connection options for device developers
51-
href: concepts-overview-connection-options.md
5252
- name: C SDK and Embedded C SDK usage scenarios
5353
href: concepts-using-c-sdk-and-embedded-c-sdk.md
5454
- name: Overview of device types
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Overview of getting started with Azure IoT device development
3+
description: Learn how to get started with Azure IoT device development quickstarts.
4+
author: timlt
5+
ms.author: timlt
6+
ms.service: iot-develop
7+
ms.topic: overview
8+
ms.date: 12/15/2022
9+
ms.custom: engagement-fy23
10+
---
11+
12+
# Get started with Azure IoT device development
13+
14+
This article shows how to quickly get started with Azure IoT device development. As a prerequisite, see the introductory articles [What is Azure IoT device and application development?](about-iot-develop.md) and [Overview of Azure IoT Device SDKs](about-iot-sdks.md). These articles summarize key development options, tools, and SDKs available to device developers.
15+
16+
In this article, you'll select from a set of device quickstarts to get started with hands-on development.
17+
18+
## Quickstarts for general devices
19+
To start using the Azure IoT device SDKs to connect general, unconstrained MPU devices to Azure IoT, see the following articles. These quickstarts provide simulators and don't require you to have a physical device.
20+
21+
Each quickstart shows how to set up a code sample and tools, run a temperature controller sample, and connect it to Azure. After the device is connected, you perform several common operations.
22+
23+
|Quickstart|Device SDK|
24+
|-|-|
25+
|[Send telemetry from a device to Azure IoT Hub (C)](quickstart-send-telemetry-iot-hub.md?pivots=programming-language-ansi-c)|[Azure IoT C SDK](https://github.com/Azure/azure-iot-sdk-c)|
26+
|[Send telemetry from a device to Azure IoT Hub (C#)](quickstart-send-telemetry-iot-hub.md?pivots=programming-language-csharp)|[Azure IoT SDK for .NET](https://github.com/Azure/azure-iot-sdk-csharp)|
27+
|[Send telemetry from a device to Azure IoT Hub (Node.js)](quickstart-send-telemetry-iot-hub.md?pivots=programming-language-nodejs)|[Azure IoT Node.js SDK](https://github.com/Azure/azure-iot-sdk-node)|
28+
|[Send telemetry from a device to Azure IoT Hub (Python)](quickstart-send-telemetry-iot-hub.md?pivots=programming-language-python)|[Azure IoT Python SDK](https://github.com/Azure/azure-iot-sdk-python)|
29+
|[Send telemetry from a device to Azure IoT Hub (Java)](quickstart-send-telemetry-iot-hub.md?pivots=programming-language-java)|[Azure IoT SDK for Java](https://github.com/Azure/azure-iot-sdk-java)|
30+
31+
## Quickstarts for embedded devices
32+
To start using the Azure IoT embedded device SDKs to connect embedded, resource-constrained MCU devices to Azure IoT, see the following articles. These quickstarts require you to have one of the listed devices.
33+
34+
Each quickstart shows how to set up a code sample and tools, flash the device, and connect it to Azure. After the device is connected, you perform several common operations.
35+
36+
|Quickstart|Device|Embedded device SDK|
37+
|-|-|-|
38+
|[Quickstart: Connect a Microchip ATSAME54-XPro Evaluation kit to IoT Hub](quickstart-devkit-microchip-atsame54-xpro-iot-hub.md)|Microchip ATSAME54-XPro|Azure RTOS middleware|
39+
|[Quickstart: Connect an STMicroelectronics B-L475E-IOT01A Discovery kit to IoT Hub](quickstart-devkit-stm-b-l475e-iot-hub.md)|STMicroelectronics L475E-IOT01A|Azure RTOS middleware|
40+
|[Connect an MXCHIP AZ3166 devkit to IoT Hub](quickstart-devkit-mxchip-az3166-iot-hub.md)|MXCHIP AZ3166|Azure RTOS middleware|
41+
|[Quickstart: Connect an ESPRESSIF ESP32-Azure IoT Kit to IoT Central](quickstart-devkit-espressif-esp32-freertos.md)|ESPRESSIF ESP32|FreeRTOS middleware|
42+
|[Quickstart: Connect an STMicroelectronics B-L475E-IOT01A Discovery kit to Azure IoT Central](quickstart-devkit-stm-b-l475e-freertos.md)|STMicroelectronics L475E-IOT01A|FreeRTOS middleware|
43+
44+
## Next steps
45+
To learn more about working with the IoT device SDKs and developing for general devices, see the following tutorial.
46+
- [Build a device solution for IoT Hub](set-up-environment.md)
47+
48+
To learn more about working with the IoT C SDK and embedded C SDK for embedded devices, see the following article.
49+
- [C SDK and Embedded C SDK usage scenarios](concepts-using-c-sdk-and-embedded-c-sdk.md)
Lines changed: 44 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,37 @@
11
---
22
title: Introduction to Azure IoT device and application development
33
description: Learn how to use Azure IoT to do embedded device development and build device-enabled cloud applications.
4-
author: ryanwinter
5-
ms.author: rywinter
4+
author: timlt
5+
ms.author: timlt
66
ms.service: iot-develop
77
ms.topic: overview
8-
ms.date: 10/07/2022
9-
ms.custom: engagement-fy23
8+
ms.date: 12/15/2022
109
---
1110

1211
# What is Azure IoT device and application development?
1312

1413
Azure IoT is a collection of managed and platform services that connect, monitor, and control your IoT devices. Azure IoT offers developers a comprehensive set of options. Your options include device platforms, supporting cloud services, SDKs, and tools for building device-enabled cloud applications.
1514

16-
This article overviews several key considerations for developers who are getting started with Azure IoT. These concepts will orient you, as an IoT device developer, to your Azure IoT options and how to begin. Specifically, the article overviews these concepts:
17-
- [Understanding device development roles](#device-development-roles)
15+
This article overviews several key considerations for developers who are getting started with Azure IoT. These concepts will orient you, as an IoT device developer, to your Azure IoT options and how to begin.
16+
- [Understanding device development paths](#device-development-paths)
1817
- [Choosing your hardware](#choosing-your-hardware)
1918
- [Choosing an SDK](#choosing-an-sdk)
20-
- [Selecting connection options](#selecting-connection-options)
19+
- [Selecting a service to connect device](#selecting-a-service)
20+
- [Tools to connect and manage devices](#tools-to-connect-and-manage-devices)
2121

22-
## Device development roles
23-
This article discusses two common roles that you can observe among device developers. As used here, a role is a collection of related development tasks. It's useful to understand what type of development role you're currently working in. Your role impacts many development choices you make.
22+
## Device development paths
23+
This article discusses two common device development paths. Each path includes a set of related development options and tasks.
2424

25-
* **Device application development:** Aligns with modern development practices, targets many of the higher-order languages, and executes on a general-purpose operating system such as Windows or Linux.
25+
* **Device application development:** Aligns with modern development practices, targets many of the higher-order languages, and executes on a general-purpose operating system such as Windows or Linux.
26+
> [!NOTE]
27+
> If your device is able to run a general-purpose operating system, we recommend following the [Device application development](#device-application-development) path. It provides a richer set of development options.
2628
2729
* **Embedded device development:** Describes development targeting resource constrained devices. A resource constrained device will often be used to reduce per unit costs, power consumption, or device size. These devices have direct control over the hardware platform they execute on.
2830

2931
### Device application development
3032
Device application developers are adapting existing devices to connect to the cloud and integrate into their IoT solutions. These devices can support higher-order languages, such as C# or Python, and often support a robust general purpose operating system such as Windows or Linux. Common target devices include PCs, Containers, Raspberry Pis, and mobile devices.
3133

32-
Rather than develop constrained devices at scale, these developers focus on enabling a specific IoT scenario required by their cloud solution. Some of these developers will also work on constrained devices for their cloud solution. For developers working with resource constrained devices, see [Embedded Device Development](#embedded-device-development) path below.
34+
Rather than develop constrained devices at scale, device application developers focus on enabling a specific IoT scenario required by their cloud solution. Some developers will also work on constrained devices for their cloud solution. For developers working with resource constrained devices, see the [Embedded Device Development](#embedded-device-development) path.
3335

3436
> [!IMPORTANT]
3537
> See the [Device SDKs](about-iot-sdks.md#device-sdks) to get started.
@@ -39,35 +41,53 @@ Embedded development targets constrained devices that have limited memory and pr
3941

4042
Embedded devices typically use a real-time operating system (RTOS), or no operating system at all. Embedded devices have full control over their hardware, due to the lack of a general purpose operating system. That fact makes embedded devices a good choice for real-time systems.
4143

42-
The current embedded SDKs target the **C** language. The embedded SDKs provide either no operating system, or Azure RTOS support. They are designed with embedded targets in mind. The design considerations include the need for a minimal footprint, and a non-memory allocating design.
44+
The current embedded SDKs target the **C** language. The embedded SDKs provide either no operating system, or Azure RTOS support. They're designed with embedded targets in mind. The design considerations include the need for a minimal footprint, and a non-memory allocating design.
4345

4446
If your device is able to run a general-purpose operating system, we recommend following the [Device Application Development](#device-application-development) path. It provides a richer set of development options.
4547

4648
> [!IMPORTANT]
4749
> See the [Embedded device SDKs](about-iot-sdks.md#embedded-device-sdks) to get started.
4850
4951
## Choosing your hardware
50-
Azure IoT devices are the basic building blocks of an IoT solution and are responsible for observing and interacting with their environment. There are many different types of IoT devices, and it's helpful to understand the kinds of devices that exist and how these can impact your development process.
52+
Azure IoT devices are the basic building blocks of an IoT solution and are responsible for observing and interacting with their environment. There are many different types of IoT devices, and it's helpful to understand the kinds of devices that exist and how they can affect your development process.
5153

5254
For more information on the difference between devices types covered in this article, read [About IoT Device Types](concepts-iot-device-types.md).
5355

5456
## Choosing an SDK
55-
As an Azure IoT device developer, you have a diverse set of device SDKs, and Azure service SDKs, to help you build device-enabled cloud applications. The SDKs will streamline your development effort and simplify much of the complexity of connecting and managing devices.
57+
As an Azure IoT device developer, you have a diverse set of device SDKs, and Azure service SDKs, to help you build device-enabled cloud applications. The SDKs streamline your development effort and simplify much of the complexity of connecting and managing devices.
5658

57-
As indicated in the [Device development roles](#device-development-roles) section, there are three kinds of IoT SDKs for device development:
58-
- Embedded device SDKs (for constrained devices)
59-
- Device SDKs (for using higher order languages to connect existing devices to IoT applications)
59+
There are three sets of IoT SDKs for device development:
60+
- Device SDKs (for using higher order languages to connect existing general purpose devices to IoT applications)
61+
- Embedded device SDKs (for connecting resource constrained devices to IoT applications)
6062
- Service SDKs (for building Azure IoT solutions that connect devices to services)
6163

6264
To learn more about choosing an Azure IoT device or service SDK, see [Overview of Azure IoT Device SDKs](about-iot-sdks.md).
6365

64-
## Selecting connection options
65-
An important step in the development process is choosing the set of options you will use to connect and manage your devices. There are two critical aspects to consider:
66-
- Choosing an IoT application platform to host your devices. For Azure IoT, this means choosing IoT Hub or IoT Central.
67-
- Choosing developer tools to help you connect, manage, and monitor devices.
66+
## Selecting a service
67+
A key step in the development process is selecting a service to connect your devices to. There are two primary Azure IoT service options for connecting and managing devices: IoT Hub, and IoT Central.
68+
69+
- [Azure IoT Hub](../iot-hub/about-iot-hub.md). You can use Iot Hub to host IoT applications and connect devices. IoT Hub is a platform-as-a-service (PaaS) application that acts as a central message hub for bi-directional communication between IoT applications and connected devices. It's a platform-as-a-service (PaaS) application that scales to support millions of devices. In general, IoT Hub offers the greatest control and customization over your application design. It also offers the most developer tool options for working with the service, at the cost of some increase in development and management complexity.
70+
- [Azure IoT Central](../iot-central/core/overview-iot-central.md). IoT Central is designed to simplify the process of working with IoT solutions. You can use it as a proof of concept to evaluate your IoT solutions. IoT Central is a software-as-a-service (SaaS) application that provides a web UI to simplify the tasks of creating applications, and connecting and managing devices. IoT Central uses IoT Hub to create and manage applications, but keeps most details transparent to the user.
71+
72+
## Tools to connect and manage devices
73+
74+
After you have selected devices and a device SDK to use, you have several options of developer tools. You can use these tools to connect your device to IoT Hub, and manage them. The following table summarizes common tool options.
75+
76+
|Tool |Documentation |Description |
77+
|---------|---------|---------|
78+
|Azure portal | [Create an IoT hub with Azure portal](../iot-hub/iot-hub-create-through-portal.md) | Browser-based portal for IoT Hub and devices. Also works with other Azure resources including IoT Central. |
79+
|Azure IoT Explorer | [Azure IoT Explorer](https://github.com/Azure/azure-iot-explorer#azure-iot-explorer-preview) | Can't create IoT hubs. Connects to an existing IoT hub to manage devices. Often used with CLI or Portal.|
80+
|Azure CLI | [Create an IoT hub with CLI](../iot-hub/iot-hub-create-using-cli.md) | Command-line interface for creating and managing IoT applications. |
81+
|Azure PowerShell | [Create an IoT hub with PowerShell](../iot-hub/iot-hub-create-using-powershell.md) | PowerShell interface for creating and managing IoT applications |
82+
|Azure IoT Tools for VS Code | [Create an IoT hub with Tools for VS Code](../iot-hub/iot-hub-create-use-iot-toolkit.md) | VS Code extension for IoT Hub applications. |
83+
84+
> [!NOTE]
85+
> In addition to the previously listed tools, you can programmatically create and manage IoT applications by using REST API's, Azure SDKs, or Azure Resource Manager templates. Learn more in the [IoT Hub](../iot-hub/about-iot-hub.md) service documentation.
6886
69-
To learn more about selecting an application platform and tools, see [Overview: Connection options for Azure IoT device developers](concepts-overview-connection-options.md).
7087

7188
## Next steps
72-
Select one of the embedded development or application development quickstart series that is most relevant to your development role. These articles demonstrate the basics of creating an Azure IoT application to host devices, using an SDK, connecting a device, and sending telemetry.
73-
- [Azure IoT Device Development](index.yml)
89+
To learn more about device SDKs you can use to connect devices to Azure IoT, see the following article.
90+
- [Overview of Azure IoT Device SDKs](about-iot-sdks.md)
91+
92+
To get started with hands-on device development, select a device development quickstart that is relevant to the devices you're using. The following article overviews the available quickstarts. Each quickstart shows how to create an Azure IoT application to host devices, use an SDK, connect a device, and send telemetry.
93+
- [Get started with Azure IoT device development](about-getting-started-device-development.md)

0 commit comments

Comments
 (0)