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-device-update/device-update-raspberry-pi.md
+22-16Lines changed: 22 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Azure Device Update for IoT Hub using a Raspberry Pi image
3
3
description: Do an end-to-end image-based Azure Device Update for IoT Hub update using a Raspberry Pi 3 B+ Yocto image.
4
4
author: eshashah
5
5
ms.author: eshashah
6
-
ms.date: 12/03/2024
6
+
ms.date: 12/09/2024
7
7
ms.topic: tutorial
8
8
ms.service: azure-iot-hub
9
9
ms.subservice: device-update
@@ -53,7 +53,11 @@ The *Tutorial_RaspberryPi3.zip* file has all the required files for the tutorial
53
53
54
54
In the extracted *Tutorial_RaspberryPi3* folder, the *adu-base-image-raspberrypi3.wic* file is the base image that you can flash onto the Raspberry Pi board. The base image uses a Yocto build based on the 3.4.4 release. The image has the Device Update agent and SWUpdate, which enables the Device Update dual partition update. For more information about the Yocto layers, see [Build a custom Linux-based system with Device Update agent using the Yocto Project](https://github.com/Azure/iot-hub-device-update-yocto).
55
55
56
-
The *adu-update-image-raspberrypi3-1.2.0.swu* SWUpdate file, *example-a-b-update.sh* custom SWUpdate script, and *EDS-ADUClient.yocto-update.1.2.0.importmanifest.json* manifest are the update files you import through Device Update.
56
+
The update files you import through Device Update are:
57
+
58
+
- The *adu-update-image-raspberrypi3-1.2.0.swu* SWUpdate file
59
+
- The *example-a-b-update.sh* custom SWUpdate script
60
+
- The *EDS-ADUClient.yocto-update.1.2.0.importmanifest.json* manifest
57
61
58
62
### Use bmaptool to flash the SD card
59
63
@@ -115,7 +119,7 @@ The Device Update *du-config.json* and *du-diagnostics-config.json* configuratio
115
119
nano /adu/du-config.json
116
120
```
117
121
118
-
1. The editor opens the *du-config.json* file. If you're creating the file, it's empty. Copy and paste the following code into the file, replacing the example and placeholder values with the configurations for your device. Replace the example connection string with the device connection string you copied in the device registration step.
122
+
1. The editor opens the *du-config.json* file. If you're creating the file, it's empty. Copy and paste the following code into the file, replacing the example values with any required configurations for your device. Replace the example `connectionData` string with the device connection string you copied in the device registration step.
119
123
120
124
```json
121
125
{
@@ -196,13 +200,13 @@ The Device Update *du-config.json* and *du-diagnostics-config.json* configuratio
196
200
1. At the top of the device page, select **Device twin**.
197
201
1. On the **Device twin** page, under the `"reported"` section of the device twin`"properties"` section, look for the Linux kernel version for your device.
198
202
199
-
For a new device that hasn't received an update from Device Update, the [DeviceManagement:DeviceInformation:1.swVersion](device-update-plug-and-play.md#device-information-interface) property value represents the firmware version running on the device. After the device has an update applied, the [AzureDeviceUpdateCore:ClientMetadata:4.installedUpdateId`](device-update-plug-and-play.md#agent-metadata) property value represents the firmware version.
203
+
For a new device that hasn't received an update from Device Update, the [DeviceManagement:DeviceInformation:1.swVersion](device-update-plug-and-play.md#device-information-interface) property value represents the firmware version running on the device. After the device has an update applied, the [AzureDeviceUpdateCore:ClientMetadata:4.installedUpdateId](device-update-plug-and-play.md#agent-metadata) property value represents the firmware version.
200
204
201
-
Note the version numbers in the base and update image file names *adu-\<image type>-image-\<machine>-\<version number>.\<extension>* to use when you import the update.
205
+
The base and update image file names have the format *adu-\<image type>-image-\<machine>-\<version number>.\<extension>*. Note the version numbers to use when you import the update.
202
206
203
207
### Add a group tag
204
208
205
-
Device Update uses groups to organize devices. Device Update automatically sorts devices into groups based on their assigned tags and compatibility properties. Each device can belong to only one group, but groups can have multiple subgroups to sort different device classes. For more information about tags and groups, see [Manage device groups](create-update-group.md).
209
+
Device Update automatically organizes devices into groups based on their assigned tags and compatibility properties. Each device can belong to only one group, but groups can have multiple subgroups to sort different device classes. For more information about tags and groups, see [Manage device groups](create-update-group.md).
206
210
207
211
1. In the device twin, delete any existing Device Update tag values by setting them to null, and then add the following new Device Update group tag. If you're using a Module Identity with the Device Update agent, add the tag in the **Module Identity Twin** instead of the device twin.
208
212
@@ -224,16 +228,16 @@ Device Update uses groups to organize devices. Device Update automatically sorts
224
228
1. On the **Updates** page, select **Import a new update**.
225
229
1. On the **Import update** page, select **Select from storage container**.
226
230
1. On the **Storage accounts** page, select an existing storage account or create a new account by using **+ Storage account**.
227
-
1. On the **Containers** page, select an existing container or create a new container by using **+ Container** to use for staging the update files for import.
231
+
1. On the **Containers** page, select an existing container or create a new container by using **+ Container**. You use the container to stage the update files for import.
228
232
229
233
:::image type="content" source="media/import-update/storage-account-ppr.png" alt-text="Screenshot that shows Storage accounts and Containers.":::
230
234
231
235
> [!TIP]
232
-
> Using a new container each time you import an update prevents accidentally importing files from previous updates. If you don't use a new container, be sure to delete any files from the existing container.
236
+
> To avoid accidentally importing files from previous updates, use a new container each time you import an update. If you don't use a new container, be sure to delete any files from the existing container.
233
237
234
-
1. On the container page, select **Upload**, drag and drop or browse to and select the update files you downloaded, and then select **Upload**. After they upload, the files appear on the container page.
238
+
1. On the container page, select **Upload**. Drag and drop, or browse to and select, the update files you downloaded, and then select **Upload**. After they upload, the files appear on the container page.
235
239
236
-
1.Review and select the files to import, and then select **Select**.
240
+
1.On the container page, review and select the files to import, and then select **Select**.
237
241
238
242
:::image type="content" source="media/import-update/import-select-ppr.png" alt-text="Screenshot that shows selecting uploaded files.":::
239
243
@@ -247,17 +251,19 @@ The import process begins, and the screen switches to the **Updates** screen. Af
247
251
248
252
## Deploy the update
249
253
250
-
You can use the group tag you applied to your device to deploy the update to the device group. Select the **Groups and Deployments** tab at the top of the **Updates** page and view the list of groups and the update compliance chart. The update compliance chart shows the count of devices in various states of compliance: **On latest update**, **New updates available**, and **Updates in progress**. For more information, see [Device Update compliance](device-update-compliance.md).
254
+
You can use the group tag you applied to your device to deploy the update to the device group. Select the **Groups and Deployments** tab at the top of the **Updates** page to view the list of groups and deployments and the update compliance chart.
251
255
252
-
You should see the device group that contains the device you set up in this tutorial, along with the available updates for the devices in the group. If there are devices that don't meet the device class requirements of the group, they appear in a corresponding invalid group.
256
+
The update compliance chart shows the count of devices in various states of compliance: **On latest update**, **New updates available**, and **Updates in progress**. For more information, see [Device Update compliance](device-update-compliance.md).
253
257
254
-
:::image type="content" source="media/create-update-group/updated-view.png" alt-text="Screenshot that shows the update compliance view." lightbox="media/create-update-group/updated-view.png":::
258
+
Under **Group name**, you see a list of all the device groups for devices connected to this IoT hub and their available updates, with links to deploy the updates under **Status**. Any devices that don't meet the device class requirements of a group appear in a corresponding invalid group. For more information about tags and groups, see [Manage device groups](create-update-group.md).
255
259
256
-
To deploy the best available update to the new user-defined group from this view, select **Deploy** next to the group.
260
+
You should see the device group that contains the device you set up in this tutorial, along with the available updates for the devices in the group. You might need to refresh the page. To deploy the best available update to the group from this view, select **Deploy** next to the group.
261
+
262
+
:::image type="content" source="media/create-update-group/updated-view.png" alt-text="Screenshot that shows the update compliance view." lightbox="media/create-update-group/updated-view.png":::
257
263
258
-
To initiate the deployment:
264
+
### Create the deployment
259
265
260
-
1.Select the **Current deployment**tab on the **Group details**page, and then select **Deploy** next to the desired update in the **Available updates** section. The best available update for the group is denoted with a **Best** highlight.
266
+
1.On the **Group details**page, select the **Current deployment**tab, and then select **Deploy** next to the desired update in the **Available updates** section. The best available update for the group is denoted with a **Best** highlight.
261
267
262
268
:::image type="content" source="media/deploy-update/select-update.png" alt-text="Screenshot that shows selecting an update." lightbox="media/deploy-update/select-update.png":::
Copy file name to clipboardExpand all lines: articles/iot-hub-device-update/device-update-simulator.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,15 +3,15 @@ title: Azure Device Update for IoT Hub using a simulator agent
3
3
description: Get started with Device Update for Azure IoT Hub using the Ubuntu simulator agent.
4
4
author: kgremban
5
5
ms.author: kgremban
6
-
ms.date: 11/25/2024
6
+
ms.date: 12/09/2024
7
7
ms.topic: tutorial
8
8
ms.service: azure-iot-hub
9
9
ms.subservice: device-update
10
10
---
11
11
12
12
# Tutorial: Azure Device Update for IoT Hub using a simulator agent
13
13
14
-
Azure Device Update for IoT Hub supports image-based, package-based, and script-based updates. This tutorial demonstrates an end-to-end image-based Device Update update that uses an Ubuntu 18.04 x64 simulator agent.
14
+
Azure Device Update for IoT Hub supports image-based, package-based, and script-based updates. This tutorial demonstrates an end-to-end image-based Device Update update that uses an Ubuntu simulator agent.
15
15
16
16
Image updates provide a high level of confidence in the end state of the device, and don't pose the same package and dependency management challenges as package or script based updates. It's easier to replicate the results of an image update between a preproduction and production environment, or easily adopt an A/B failover model.
17
17
@@ -54,7 +54,9 @@ For this tutorial, you create a module identity for the Device Update agent that
54
54
55
55
### Add a group tag to your module twin
56
56
57
-
You can assign a tag to any device that's managed by Device Update to assign the device to a Device Update group. The tag can be in the device twin or in the module twin as in this tutorial. Each device can be assigned to only one Device Update group.
57
+
Device Update automatically organizes devices into groups based on their assigned tags and compatibility properties. Each device belongs to only one group, but groups can have multiple subgroups to sort different device classes.
58
+
59
+
You can assign a tag to any device that Device Update manages to assign the device to a Device Update group. The tag can be in the device twin or in the module twin as in this tutorial. Each device can be assigned to only one Device Update group.
58
60
59
61
1. On the **Module Identity Details** page, select **Module Identity Twin**.
60
62
1. On the **Module Identity Twin** page, add a new `DeviceUpdateGroup` tag to the JSON code at the same level as `modelId` and `version`, as follows:
@@ -208,23 +210,21 @@ The imported update now appears on the **Updates** page.
208
210
209
211
For more information about the import process, see [Import an update to Device Update for IoT Hub](import-update.md).
210
212
211
-
### View device groups
212
-
213
-
Device Update uses groups to organize devices, and automatically sorts devices into groups based on their assigned tags and compatibility properties. Each device belongs to only one group, but groups can have multiple subgroups to sort different device classes.
213
+
## Deploy the update
214
214
215
-
On the **Updates** page for your IoT hub, select the **Groups and Deployments** tab to view the list of groups and the update compliance chart. The update compliance chart shows the count of devices in various states of compliance:**On latest update**, **New updates available**, and **Updates in progress**. For more information, see [Device Update compliance](device-update-compliance.md).
215
+
You can use the group tag you applied to your device to deploy the update to the device group. Select the **Groups and Deployments** tab at the top of the**Updates** page to view the list of groups and deployments and the update compliance chart.
216
216
217
-
:::image type="content" source="media/device-update-simulator/groups-and-deployments.png" alt-text="Screenshot that shows the update compliance view." lightbox="media/create-update-group/updated-view.png":::
217
+
The update compliance chart shows the count of devices in various states of compliance: **On latest update**, **New updates available**, and **Updates in progress**. For more information, see [Device Update compliance](device-update-compliance.md).
218
218
219
-
You should see a device group that contains the simulated device you set up in this tutorial, along with any available updates for the devices in the group. Any devices that don't meet the group device class requirements appear in a corresponding invalid group. For more information about tags and groups, see [Manage device groups](create-update-group.md).
219
+
Under **Group name**, you see a list of all the device groups for devices connected to this IoT hub and their available updates, with links to deploy the updates under **Status**. Any devices that don't meet the device class requirements of a group appear in a corresponding invalid group. For more information about tags and groups, see [Manage device groups](create-update-group.md).
220
220
221
-
## Deploy the update
221
+
You should see a device group that contains the simulated device you set up in this tutorial. Select the group name to view its details.
222
222
223
-
On the **Groups and Deployments** tab, you should see the new update available for your device group, with a link to the update under **Status**. You might need to refresh the page.
223
+
:::image type="content" source="media/device-update-simulator/groups-and-deployments.png" alt-text="Screenshot that shows the update compliance view." lightbox="media/create-update-group/updated-view.png":::
224
224
225
-
1. Select the group name to view its details.
225
+
### Create the deployment
226
226
227
-
1. On the **Group details** page, you should see that there's one new update available. Select **Deploy** to start the deployment.
227
+
1. On the **Group details** page, you should see that there's one new update available for this group. Select **Deploy** to start the deployment.
228
228
229
229
:::image type="content" source="media/device-update-simulator/group-details.png" alt-text="Screenshot that shows starting a group update deployment." lightbox="media/deploy-update/select-update.png":::
0 commit comments