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
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).
Copy file name to clipboardExpand all lines: articles/iot-central/core/overview-iot-central.md
+16-58Lines changed: 16 additions & 58 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,13 +56,6 @@ This device template includes:
56
56
- Cloud properties that aren't stored on the device.
57
57
- Customizations, dashboards, and forms that are part of your IoT Central application.
58
58
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
-
66
59
### Create device templates
67
60
68
61
[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:
76
69
77
70
As a solution builder, you can use IoT Central to generate code for test devices to validate your device templates.
78
71
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
+
79
74
### Customize the UI
80
75
81
76
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
84
79
- Configuring custom dashboards to help operators discover insights and resolve issues faster.
85
80
- Configuring custom analytics to explore time series data from your connected devices.
86
81
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
124
83
125
84
As an operator, you use the IoT Central application to manage the devices in your IoT Central solution. Operators do tasks such as:
126
85
@@ -130,8 +89,6 @@ As an operator, you use the IoT Central application to manage the devices in you
130
89
131
90
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.
132
91
133
-
Administrators manage access to your application with [user roles and permissions](howto-administer.md).
134
-
135
92
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:
136
93
137
94
### Dashboards
@@ -144,24 +101,14 @@ Build [custom rules](tutorial-create-telemetry-rules.md) based on device state a
144
101
145
102
### Jobs
146
103
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.
148
105
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
154
107
155
108
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:
156
109
157
110

158
111
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
-
165
112
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.
166
113
167
114
### Build custom IoT solutions and integrations with the REST APIs
@@ -172,6 +119,17 @@ Build IoT solutions such as:
172
119
- Custom integrations that enable existing line-of-business applications to interact with your IoT devices and data.
173
120
- Device management applications for device modeling, onboarding, management, and data access.
174
121
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
+
175
133
## Quotas
176
134
177
135
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