Skip to content

Commit 29cba29

Browse files
committed
edits
1 parent c7161a7 commit 29cba29

File tree

8 files changed

+45
-39
lines changed

8 files changed

+45
-39
lines changed

articles/iot-hub-device-update/device-update-raspberry-pi.md

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Azure Device Update for IoT Hub using a Raspberry Pi image
33
description: Do an end-to-end image-based Azure Device Update for IoT Hub update using a Raspberry Pi 3 B+ Yocto image.
44
author: eshashah
55
ms.author: eshashah
6-
ms.date: 12/03/2024
6+
ms.date: 12/09/2024
77
ms.topic: tutorial
88
ms.service: azure-iot-hub
99
ms.subservice: device-update
@@ -53,7 +53,11 @@ The *Tutorial_RaspberryPi3.zip* file has all the required files for the tutorial
5353

5454
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).
5555

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
5761

5862
### Use bmaptool to flash the SD card
5963

@@ -115,7 +119,7 @@ The Device Update *du-config.json* and *du-diagnostics-config.json* configuratio
115119
nano /adu/du-config.json
116120
```
117121

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.
119123

120124
```json
121125
{
@@ -196,13 +200,13 @@ The Device Update *du-config.json* and *du-diagnostics-config.json* configuratio
196200
1. At the top of the device page, select **Device twin**.
197201
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.
198202

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.
200204

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.
202206

203207
### Add a group tag
204208

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).
206210

207211
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.
208212

@@ -224,16 +228,16 @@ Device Update uses groups to organize devices. Device Update automatically sorts
224228
1. On the **Updates** page, select **Import a new update**.
225229
1. On the **Import update** page, select **Select from storage container**.
226230
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.
228232

229233
:::image type="content" source="media/import-update/storage-account-ppr.png" alt-text="Screenshot that shows Storage accounts and Containers.":::
230234

231235
> [!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.
233237
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.
235239

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**.
237241

238242
:::image type="content" source="media/import-update/import-select-ppr.png" alt-text="Screenshot that shows selecting uploaded files.":::
239243

@@ -247,17 +251,19 @@ The import process begins, and the screen switches to the **Updates** screen. Af
247251

248252
## Deploy the update
249253

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.
251255

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).
253257

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).
255259

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":::
257263

258-
To initiate the deployment:
264+
### Create the deployment
259265

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.
261267

262268
:::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":::
263269

articles/iot-hub-device-update/device-update-simulator.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ title: Azure Device Update for IoT Hub using a simulator agent
33
description: Get started with Device Update for Azure IoT Hub using the Ubuntu simulator agent.
44
author: kgremban
55
ms.author: kgremban
6-
ms.date: 11/25/2024
6+
ms.date: 12/09/2024
77
ms.topic: tutorial
88
ms.service: azure-iot-hub
99
ms.subservice: device-update
1010
---
1111

1212
# Tutorial: Azure Device Update for IoT Hub using a simulator agent
1313

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.
1515

1616
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.
1717

@@ -54,7 +54,9 @@ For this tutorial, you create a module identity for the Device Update agent that
5454

5555
### Add a group tag to your module twin
5656

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.
5860

5961
1. On the **Module Identity Details** page, select **Module Identity Twin**.
6062
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.
208210

209211
For more information about the import process, see [Import an update to Device Update for IoT Hub](import-update.md).
210212

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
214214

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.
216216

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).
218218

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).
220220

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.
222222

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":::
224224

225-
1. Select the group name to view its details.
225+
### Create the deployment
226226

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.
228228

229229
:::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":::
230230

0 commit comments

Comments
 (0)