Skip to content

Commit ced7a49

Browse files
committed
Initial management and control article
1 parent 11300d1 commit ced7a49

File tree

3 files changed

+579
-12
lines changed

3 files changed

+579
-12
lines changed

articles/iot/iot-overview-connectivity.md

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -124,15 +124,6 @@ The open source IoT Central Device Bridge acts as a translator that forwards tel
124124

125125
## Next steps
126126

127-
Connections and HA/DR
128-
Connections and security including private networks
129-
Connection monitoring
130-
131-
<!-- Add a context sentence for the following links -->
132-
- [Write an overview](contribute-how-to-write-overview.md)
133-
- [Links](links-how-to.md)
134-
135-
<!--
136-
Remove all the comments in this template before you sign-off or merge to the
137-
main branch.
138-
-->
127+
Now that you've seen an overview of device connectivity in Azure IoT solutions, some suggested next steps include
128+
129+
- [Device management and control in IoT solutions](iot-overview-device-management.md).
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
---
2+
title: Device management and control
3+
titleSuffix: Azure IoT
4+
description: An overview of device management and control options in an Azure IoT solution including device updates.
5+
ms.service: iot-fundamentals
6+
services: iot-fundamentals
7+
author: dominicbetts
8+
ms.author: dobett
9+
ms.topic: overview
10+
ms.date: 03/10/2023
11+
ms.custom: template-overview
12+
13+
# As a solution builder or device developer I want a high-level overview of the issues around device management and control so that I can easily find relevant content.
14+
---
15+
16+
# Device management and control
17+
18+
This overview introduces some of the key concepts around managing and controlling devices in a typical Azure IoT solution. Each section includes links to content that provides further detail and guidance.
19+
20+
IoT Central applications use the IoT Hub and the Device Provisioning Service (DPS) services internally. Therefore, the concepts in this article apply whether you're using IoT Central to explore an IoT scenario or building your solution by using IoT Hub and DPS.
21+
22+
:::image type="content" source="media/iot-overview-device-management/iot-architecture.svg" alt-text="High-level IoT solution architecture diagram that highlights device connectivity areas" border="false":::
23+
24+
In Azure IoT, device management refers to the processes such as provisioning and updating devices. Device management includes the following tasks:
25+
26+
- Device registration
27+
- Device provisioning
28+
- Device deployment
29+
- Device updates
30+
- Device key management and rotation
31+
- Device monitoring
32+
- Enabling and disabling devices
33+
34+
In Azure IoT, command and control refers to the processes that let you send commands to devices and receive responses from them. For example, you can send a command to a device to:
35+
36+
- Set a target temperature.
37+
- Request maximum and minimum temperature values for the last two hours.
38+
- Set the telemetry interval to 10 seconds.
39+
40+
## Primitives
41+
42+
Azure IoT solutions can use the following primitives for both device management and command and control:
43+
44+
- *Device twins* to share and synchronize state data with the cloud. For example, a device can use the device twin to report the current state of a valve it controls to the cloud and to receive a desired target temperature from the cloud.
45+
- *Digital twins* to represent a device in the digital world. For example, a digital twin can represent a device's physical location, its capabilities, and its relationships with other devices.
46+
- *Direct methods* to receive commands from the cloud. A direct method can have parameters and return a response. For example, the cloud can call a direct method to request the device to reboot in 30 seconds.
47+
- *Cloud-to-device* messages receive one-way notifications from the cloud. For example, a notification that an update is ready to download.
48+
49+
## Device registration
50+
51+
Before a device can connect to an IoT hub, it must be registered. Device registration is the process of creating a device identity in the cloud. Each IoT hub has its own internal device registry. The device identity is used to authenticate the device when it connects to Azure IoT. Device registration entry includes the following properties:
52+
53+
- A unique device ID.
54+
- Authentication information such as symmetric keys or X.509 certificates.
55+
- The type of device. Is it an IoT Edge device or not?
56+
57+
If you think a device has been compromised or isn't functioning correctly, you can disable it in the device registry to prevent it from connecting to the cloud. To allow a device to connect back to a cloud after the issue is resolved, you can re-enable it in the device registry. You can also permanently remove a device from the device registry to completely prevent it from connecting to the cloud.
58+
59+
To lean more, see [Understand the identity registry in your IoT hub](../iot-hub/iot-hub-devguide-identity-registry.md).
60+
61+
## Device provisioning
62+
63+
You must configure each device in your solution with the details of the IoT hub it should connect to. You can manually configure each device in your solution, but this may not be practical for a large number of devices. To get around this problem, you can use the Device Provisioning Service (DPS) to automatically register each device with an IoT hub and then provision each device with the required connection information. If your IoT solution uses multiple IoT hubs, you can use DPS to provision devices to a hub based on criteria such as which is the closest hub to the device.
64+
65+
If your IoT solution uses IoT Hub, then using DPS is optional. If you're using IoT Central, then your solution automatically uses a DPS instance that's managed by IoT Central.
66+
67+
To learn more, see [Device provisioning service overview](../iot-dps/about-iot-dps.md).
68+
69+
## Device deployment
70+
71+
In Azure IoT, device deployment typically refers to the process of installing software on an IoT Edge device. When an IoT Edge device connects to an IoT hub, it receives a *deployment manifest* that contains details of the modules to run on the device. The deployment manifest also contains configuration information for the modules. There are a number of standard modules that are available for IoT Edge devices. You can also create your own custom modules.
72+
73+
To learn more, see [What is Azure IoT Edge?](../iot-edge/about-iot-edge.md)
74+
75+
## Device updates
76+
77+
Typically, your IoT solution must include a way to update device software. In the case of an IoT Edge device, you can update the modules that run on the device by updating the deployment manifest.
78+
79+
In the case of a non-IoT Edge device, you need to have a way to update the device firmware. This could be a process that uses a cloud-to-device message to notify the device that a firmware update is available. Then the device runs custom code to download and install the update.
80+
81+
The Device Update for IoT Hub service provides a managed solution for updating devices. It enables you to upload firmware updates to the cloud and then distribute them to devices. It also lets your monitor the update process and roll back to a previous version if the update fails.
82+
83+
To learn more, see [What is Device Update for IoT Hub?](../iot-hub-device-update/understand-device-update.md)
84+
85+
## Device key management and rotation
86+
87+
During the lifecycle of your IoT solution you may need to roll over the keys used to authenticate devices. For example, you may need to do this if you suspect that a key has been compromised or if a certificate expires:
88+
89+
- [Roll over the keys used to authenticate devices in IoT Hub and DPS](../iot-dps/how-to-roll-certificates.md#roll-x509-device-certificates)
90+
- [Roll over the keys used to authenticate devices in IoT Central](../iot-central/core/how-to-connect-devices-x509.md#roll-x509-device-certificates)
91+
92+
## Device monitoring
93+
94+
As part of overall solution monitoring, you may want to monitor the health of your devices. For example, you may want to monitor the health of your devices or detect when a device is no longer connected to the cloud. Options for monitoring devices include:
95+
96+
- Devices use the device twin to report its current state to the cloud. For example, a device can report its current internal temperature or its current battery level.
97+
- Devices can raise alerts by sending telemetry messages to the cloud.
98+
- IoT Hub can raise events when devices connect or disconnect from the cloud.
99+
- Use machine learning tools to analyze device telemetry streams to identify anomalies that indicate a problem with the device.
100+
101+
## Device migration
102+
103+
If you need to migrate a device from IoT Central to IoT Hub, you can use the Device Migration tool. To learn more, see [Migrate devices from IoT Central to IoT Hub](../iot-central/core/howto-migrate-to-iothub.md).
104+
105+
## Command and control
106+
107+
To send commands to your devices to control their behavior, use:
108+
109+
- *Direct methods* for communications that require immediate confirmation of the result. Direct methods are often used for interactive control of devices such as turning on a fan.
110+
111+
- Device twin *desired properties* for long-running commands intended to put the device into a certain desired state. For example, set the telemetry send interval to 30 minutes.
112+
113+
- *Cloud-to-device messages* for one-way notifications to the device.
114+
115+
To learn more, see [Cloud-to-device communications guidance](../iot-hub/iot-hub-devguide-c2d-guidance.md).
116+
117+
## Jobs
118+
119+
You can use direct methods, desired properties, and cloud-to-device messages to send commands to individual devices. If you need to send commands to multiple devices, you can use jobs. Jobs let you to schedule and send commands and desired property updates to multiple devices at the same time. You can also use jobs to monitor the progress of the commands and to roll back to a previous state if the commands fail.
120+
121+
To learn more, see:
122+
123+
- [Schedule jobs on multiple devices (IoT Hub)](../iot-hub/iot-hub-devguide-jobs.md)
124+
- [Manage devices in bulk in your Azure IoT Central application](../iot-central/core/howto-manage-devices-in-bulk.md)
125+
126+
## Next steps
127+
128+
Now that you've seen an overview of device management and control in Azure IoT solutions, some suggested next steps include
129+
130+
- [Device infrastructure and connectivity](iot-overview-connectivity.md).

0 commit comments

Comments
 (0)