Skip to content

Commit 00f78b4

Browse files
committed
Add device devlopment overview
1 parent 4cc81e0 commit 00f78b4

File tree

4 files changed

+113
-58
lines changed

4 files changed

+113
-58
lines changed

articles/iot-central/core/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
href: overview-iot-central.md
77
- name: Tour of the UI
88
href: overview-iot-central-tour.md
9+
- name: Develop devices
10+
href: overview-iot-central-developer.md
911
- name: Recent updates
1012
items:
1113
- name: March 2020

articles/iot-central/core/index.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ landingContent:
2121
url: overview-iot-central.md
2222
- text: Tour the UI
2323
url: overview-iot-central-tour.md
24+
- text: Device development
25+
url: overview-iot-central-developer.md
2426
- text: Recent updates
2527
url: https://azure.microsoft.com/updates/?status=nowavailable&updateType=features&category=iot&query=azure%20iot%20central
2628
- linkListType: architecture
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
---
2+
title: Device development for Azure IoT Central | Microsoft Docs
3+
description: Azure IoT Central is an IoT application platform that simplifies the creation of IoT solutions. This article provides an overview of developing devices to connect to your IoT Central application.
4+
author: dominicbetts
5+
ms.author: dobett
6+
ms.date: 05/05/2020
7+
ms.topic: overview
8+
ms.service: iot-central
9+
services: iot-central
10+
ms.custom: mvc
11+
---
12+
13+
# IoT Central device development overview
14+
15+
*This article applies to device developers.*
16+
17+
An IoT Central application lets you monitor and manage millions of devices throughout their life cycle. This overview is intended for device developers who implement code to run on devices that connect to IoT Central.
18+
19+
Devices interact with an IoT Central application using the following primitives:
20+
21+
- _Telemetry_ is data that a device sends to IoT Central. For example, a stream of temperature values from an onboard sensor.
22+
- _Properties_ are state values that a device reports to IoT Central. For example, the current firmware version of the device. You can also have writable properties that IoT Central can update on the device.
23+
- _Commands_ are called from IoT Central to control the behavior a device. For example, your IoT Central application might call a command to reboot a device.
24+
25+
A solution builder is responsible for configuring dashboards and views in the IoT Central web UI to visualize telemetry, manage properties, and call commands.
26+
27+
## Types of device
28+
29+
The following sections describe the main types of device you can connect to an IoT Central application:
30+
31+
### Standalone device
32+
33+
A standalone device connects directly to IoT Central. A standalone device typically sends telemetry from its onboard or connected sensors to your IoT Central application. Standalone devices can also report property values, receive writable property values, and respond to commands.
34+
35+
### Gateway device
36+
37+
A gateway device manages one or more downstream devices that connect to your IoT Central application. You use IoT Central to configure the relationships between the downstream devices and the gateway device. To learn more, see [Define a new IoT gateway device type in your Azure IoT Central application](./tutorial-define-gateway-device-type.md).
38+
39+
### Edge device
40+
41+
An edge device connects directly to IoT Central, but acts as an intermediary for other devices known as _leaf devices_. An edge device is typically located close to the leaf devices for which it's acting as an intermediary. Scenarios that use edge devices include:
42+
43+
- Enable devices that can't connect directly to IoT Central to connect through the edge device. For example, a leaf device might use bluetooth to connect to the edge device, which then connects over the internet to IoT Central.
44+
- Aggregate telemetry before it's sent to IoT Central. This approach can help to reduce the costs of sending data to IoT Central.
45+
- Control leaf devices locally to avoid the latency associated with connecting to IoT Central over the internet.
46+
47+
An edge device can also send its own telemetry, report its properties, and respond to writable property updates and commands.
48+
49+
IoT Central only sees the edge device, not the leaf devices connected to the edge device.
50+
51+
To learn more, see [Add an Azure IoT Edge device to your Azure IoT Central application](./tutorial-add-edge-as-leaf-device.md).
52+
53+
## Connect a device
54+
55+
Azure IoT Central uses the [Azure IoT Hub Device Provisioning service (DPS)](../../iot-dps/about-iot-dps.md) to manage all device registration and connection.
56+
57+
Using DPS enables:
58+
59+
- IoT Central to support onboarding and connecting devices at scale.
60+
- You to generate device credentials and configure the devices offline without registering the devices through IoT Central UI.
61+
- You to use your own device IDs to register devices in IoT Central. Using your own device IDs simplifies integration with existing back-office systems.
62+
- A single, consistent way to connect devices to IoT Central.
63+
64+
To learn more, see [Get connected to Azure IoT Central](./concepts-get-connected.md).
65+
66+
### Security
67+
68+
The connection between a device and your IoT Central application is secured using either [shared access signatures](./concepts-get-connected.md#connect-devices-at-scale-using-sas) or industry-standard [X.509 certificates](./concepts-get-connected.md#connect-devices-using-x509-certificates).
69+
70+
### Communication protocols
71+
72+
Communication protocols that a device can use to connect to IoT Central include MQTT, AMQP, and HTTPS. Internally, IoT Central uses an IoT hub to enable device connectivity. For more information about the communication protocols that IoT Hub supports for device connectivity, see [Choose a communication protocol](../../iot-hub/iot-hub-devguide-protocols.md).
73+
74+
## Implement the device
75+
76+
Use one of the [Azure IoT device SDKs](#languages-and-sdks) to implement the behavior of your device. The code should:
77+
78+
- Register the device with DPS and use the information from DPS to connect to the internal IoT hub in your IoT Central application.
79+
- Send telemetry in the format that the device template in IoT Central specifies. IoT Central uses the device template to determine how to use the telemetry for visualizations and analysis.
80+
- Synchronize property values between the device and IoT Central. The device template specifies the property names and data types so that IoT Central can display the information.
81+
- Implement command handlers for the commands specifies in the device template. The device template specifies the command names and parameters that the device should use.
82+
83+
For more information, see [Create and connect a Node.js client application](./tutorial-connect-device-nodejs.md) or [Create and connect a Python client application](./tutorial-connect-device-python.md).
84+
85+
### Languages and SDKs
86+
87+
For more information about the supported languages and SDKs, see [Understand and use Azure IoT Hub device SDKs](../../iot-hub/iot-hub-devguide-sdks.md#azure-iot-hub-device-sdks).
88+
89+
## Next steps
90+
91+
If you're a device developer and want to dive into some code, the suggested next step is to [Create and connect a client application to your Azure IoT Central application](./tutorial-connect-device-nodejs.md).
92+
93+
If you want to learn more about using IoT Central, the suggested next steps are to try the quickstarts, beginning with [Create an Azure IoT Central application](./quick-deploy-iot-central.md).

articles/iot-central/core/overview-iot-central.md

Lines changed: 16 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,6 @@ This device template includes:
5656
- Cloud properties that aren't stored on the device.
5757
- Customizations, dashboards, and forms that are part of your IoT Central application.
5858

59-
### Pricing
60-
61-
You can create IoT Central application using a 7-day free trial, or use a standard pricing plan.
62-
63-
- Applications you create using the *free* plan are free for seven days and support up to five devices. You can convert them to use a standard pricing plan at any time before they expire.
64-
- Applications you create using a *standard* plan are billed on a per device basis, you can choose either **Standard 1** or **Standard 2** pricing plan with the first two devices being free. Learn more about the free and standard pricing plans on the [Azure IoT Central pricing page](https://azure.microsoft.com/pricing/details/iot-central/).
65-
6659
### Create device templates
6760

6861
[IoT Plug and Play (preview)](../../iot-pnp/overview-iot-plug-and-play.md) enables IoT Central to integrate devices without you writing any embedded device code. At the core of IoT Plug and Play (preview), is a device capability model schema that describes device capabilities. In an IoT Central application, device templates use these IoT Plug and Play (preview) device capability models.
@@ -76,6 +69,8 @@ As a solution builder, you have several options for creating device templates:
7669

7770
As a solution builder, you can use IoT Central to generate code for test devices to validate your device templates.
7871

72+
If you're a device developer, see [IoT Central device development overview](./overview-iot-central-developer.md) for an introduction to implementing devices that use these device templates.
73+
7974
### Customize the UI
8075

8176
As a solution builder, you can also customize the IoT Central application UI for the operators who are responsible for the day-to-day use of the application. Customizations that a solution builder can make include:
@@ -84,43 +79,7 @@ As a solution builder, you can also customize the IoT Central application UI for
8479
- Configuring custom dashboards to help operators discover insights and resolve issues faster.
8580
- Configuring custom analytics to explore time series data from your connected devices.
8681

87-
## Pricing
88-
89-
You can create IoT Central application using a 7-day free trial, or use a standard pricing plan.
90-
91-
- Applications you create using the *free* plan are free for seven days and support up to five devices. You can convert them to use a standard pricing plan at any time before they expire.
92-
- Applications you create using the *standard* plan are billed on a per device basis, you can choose either **Standard 1** or **Standard 2** pricing plan with the first two devices being free. Learn more about [IoT Central pricing](https://aka.ms/iotcentral-pricing).
93-
94-
## Connect your devices
95-
96-
Azure IoT Central uses the [Azure IoT Hub Device Provisioning service (DPS)](../../iot-dps/about-iot-dps.md) to manage all device registration and connection.
97-
98-
Using DPS enables:
99-
100-
- IoT Central to support onboarding and connecting devices at scale.
101-
- You to generate device credentials and configure the devices offline without registering the devices through IoT Central UI.
102-
- Devices to connect using shared access signatures.
103-
- Devices to connect using industry-standard X.509 certificates.
104-
- You to use your own device IDs to register devices in IoT Central. Using your own device IDs simplifies integration with existing back-office systems.
105-
- A single, consistent way to connect devices to IoT Central.
106-
107-
To learn more, see [Get connected to Azure IoT Central](./concepts-get-connected.md).
108-
109-
### Azure IoT Edge devices
110-
111-
As well as devices created using the [Azure IoT SDKs](https://github.com/Azure/azure-iot-sdks), you can also connect [Azure IoT Edge devices](../../iot-edge/about-iot-edge.md) to an IoT Central application. Azure IoT Edge lets you run cloud intelligence and custom logic directly on IoT devices managed by IoT Central. The IoT Edge runtime enables you to:
112-
113-
- Install and update workloads on the device.
114-
- Maintain Azure IoT Edge security standards on the device.
115-
- Ensure that IoT Edge modules are always running.
116-
- Report module health to the cloud for remote monitoring.
117-
- Manage communication between downstream leaf devices and an IoT Edge device, between modules on an IoT Edge device, and between an IoT Edge device and the cloud.
118-
119-
For more information, see [Azure IoT Edge devices and IoT Central](concepts-architecture.md#azure-iot-edge-devices).
120-
121-
## Stay connected
122-
123-
IoT Central applications are fully hosted by Microsoft, which reduces the administration overhead of managing your applications.
82+
## Manage your devices
12483

12584
As an operator, you use the IoT Central application to manage the devices in your IoT Central solution. Operators do tasks such as:
12685

@@ -130,8 +89,6 @@ As an operator, you use the IoT Central application to manage the devices in you
13089

13190
As a solution builder, you can define custom rules and actions that operate over data streaming from connected devices. An operator can enable or disable these rules at the device level to control and automate tasks within the application.
13291

133-
Administrators manage access to your application with [user roles and permissions](howto-administer.md).
134-
13592
With any IoT solution designed to operate at scale, a structured approach to device management is important. It's not enough just to connect your devices to the cloud, you need to keep your devices connected and healthy. An operator can use the following IoT Central capabilities to manage your devices throughout the application life cycle:
13693

13794
### Dashboards
@@ -144,24 +101,14 @@ Build [custom rules](tutorial-create-telemetry-rules.md) based on device state a
144101

145102
### Jobs
146103

147-
[Jobs](howto-run-a-job.md) let you apply single or bulk updates to devices by setting properties or calling commands.
104+
[Jobs](howto-run-a-job.md) let you apply single or bulk updates to devices by setting properties or calling commands.
148105

149-
### User roles and permissions
150-
151-
[Roles and permissions](howto-manage-users-roles.md) let an administrator tailor each user's experience. An administrator uses the web UI to create roles and assign permissions.
152-
153-
## Transform your IoT data
106+
## Integrate with other services
154107

155108
As an application platform, IoT Central lets you transform your IoT data into the business insights that drive actionable outcomes. [Rules](./tutorial-create-telemetry-rules.md), [data export](./howto-export-data.md), and the [public REST API](https://docs.microsoft.com/learn/modules/manage-iot-central-apps-with-rest-api/) are examples of how you can integrate IoT Central with line-of-business applications:
156109

157110
![How IoT Central can transform your IoT data](media/overview-iot-central/transform.png)
158111

159-
### Monitor device health and operations using rules
160-
161-
When your devices are connected and sending data, rules can identify devices experiencing problems or sending error messages so that you can fix them with minimal downtime. Build rules in your IoT Central application to monitor telemetry from your devices and alert an operator when a metric crosses a threshold or a device sends a specific message. Email actions and webhooks for your rules notify the right people and the right downstream systems.
162-
163-
### Run custom analytics and processing on your exported data
164-
165112
You can generate business insights, such as determining machine efficiency trends or predicting future energy usage on a factory floor, by building custom analytics pipelines to process telemetry from your devices and store the results. Configure data exports in your IoT Central application to export telemetry, device property changes, and device template changes to other services where you can analyze, store, and visualize the data with your preferred tools.
166113

167114
### Build custom IoT solutions and integrations with the REST APIs
@@ -172,6 +119,17 @@ Build IoT solutions such as:
172119
- Custom integrations that enable existing line-of-business applications to interact with your IoT devices and data.
173120
- Device management applications for device modeling, onboarding, management, and data access.
174121

122+
## Administer your application
123+
124+
IoT Central applications are fully hosted by Microsoft, which reduces the administration overhead of managing your applications. Administrators manage access to your application with [user roles and permissions](howto-administer.md).
125+
126+
## Pricing
127+
128+
You can create IoT Central application using a 7-day free trial, or use a standard pricing plan.
129+
130+
- Applications you create using the *free* plan are free for seven days and support up to five devices. You can convert them to use a standard pricing plan at any time before they expire.
131+
- Applications you create using the *standard* plan are billed on a per device basis, you can choose either **Standard 1** or **Standard 2** pricing plan with the first two devices being free. Learn more about [IoT Central pricing](https://aka.ms/iotcentral-pricing).
132+
175133
## Quotas
176134

177135
Each Azure subscription has default quotas that could impact the scope of your IoT solution. Currently, IoT Central limits the number of applications you can deploy in a subscription to 10. If you need to increase this limit, contact [Microsoft support](https://azure.microsoft.com/support/options/).

0 commit comments

Comments
 (0)