Skip to content

Commit cb02a01

Browse files
committed
Additional reviews
1 parent 6ece3a1 commit cb02a01

19 files changed

+47
-52
lines changed

articles/iot/concepts-architecture.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
title: IoT Plug and Play architecture | Microsoft Docs
2+
title: IoT Plug and Play architecture
33
description: Understand the key architectural elements of an IoT Plug and Play solution.
4-
author: ridomin
5-
ms.author: rmpablos
6-
ms.date: 1/23/2024
4+
author: dominicbetts
5+
ms.author: dobett
6+
ms.date: 03/13/2025
77
ms.topic: conceptual
88
ms.custom: mvc
99
ms.service: azure-iot
@@ -13,7 +13,7 @@ ms.service: azure-iot
1313

1414
IoT Plug and Play enables solution builders to integrate IoT devices with their solutions without any manual configuration. At the core of IoT Plug and Play, is a device _model_ that describes a device's capabilities to an IoT Plug and Play-enabled application. This model is structured as a set of interfaces that define:
1515

16-
- _Properties_ that represent the read-only or writable state of a device or other entity. For example, a device serial number may be a read-only property and a target temperature on a thermostat may be a writable property.
16+
- _Properties_ that represent the read-only or writable state of a device or other entity. For example, a device serial number is a read-only property and a target temperature on a thermostat is a writable property.
1717
- _Telemetry_ that's the data emitted by a device, whether the data is a regular stream of sensor readings, an occasional error, or an information message.
1818
- _Commands_ that describe a function or operation that can be done on a device. For example, a command could reboot a gateway or take a picture using a remote camera.
1919

@@ -70,7 +70,7 @@ An IoT hub:
7070

7171
## Backend solution
7272

73-
A backend solution monitors and controls connected devices by interacting with digital twins in the IoT hub. Use one of the Azure IoT service SDKs to implement your backend solution. To understand the capabilities of a connected device, the solution backend:
73+
A backend solution monitors and controls connected devices by interacting with digital twins in the IoT hub. To implement a backend solution, use one of the Azure IoT service SDKs. To understand the capabilities of a connected device, the solution backend:
7474

7575
1. Retrieves the model ID the device registered with the IoT hub.
7676
1. Uses the model ID to retrieve the interface definitions from any model repository.
@@ -87,5 +87,5 @@ The backend solution can use the information from the interface definitions to:
8787

8888
Now that you have an overview of the architecture of an IoT Plug and Play solution, the next steps are to learn more about:
8989

90-
- [Digital twin model integration](./concepts-model-discovery.md)
90+
- [Use models in a solution](./concepts-model-discovery.md)
9191
- [Developing for IoT Plug and Play](./concepts-developer-guide-device.md)

articles/iot/concepts-convention.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: IoT Plug and Play conventions | Microsoft Docs
2+
title: IoT Plug and Play conventions
33
description: Description of the conventions IoT Plug and Play expects devices to use when they send telemetry and properties, and handle commands and property updates.
44
author: dominicbetts
55
ms.author: dobett

articles/iot/concepts-developer-guide-device.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Device developer guide - IoT Plug and Play | Microsoft Docs
2+
title: Device developer guide - IoT Plug and Play
33
description: "Description of IoT Plug and Play for device developers. Includes examples in the following languages: C, C#, Java, JavaScript, Python, and Embedded C."
44
author: dominicbetts
55
ms.author: dobett

articles/iot/concepts-developer-guide-service.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
title: Service developer guide - IoT Plug and Play | Microsoft Docs
3-
description: Description of IoT Plug and Play for service developers
2+
title: Service developer guide - IoT Plug and Play
3+
description: A description of IoT Plug and Play conventions for service developers
44
author: dominicbetts
55
ms.author: dobett
6-
ms.date: 1/23/2024
6+
ms.date: 03/18/2025
77
ms.topic: conceptual
88
ms.service: azure-iot
99
ms.custom: devx-track-extended-java, devx-track-js, devx-track-python
@@ -17,7 +17,7 @@ zone_pivot_groups: programming-languages-set-ten
1717

1818
IoT Plug and Play lets you build IoT devices that advertise their capabilities to Azure IoT applications. IoT Plug and Play devices don't require manual configuration when a customer connects them to IoT Plug and Play-enabled applications.
1919

20-
IoT Plug and Play lets you use devices that have announced their model ID with your IoT hub. For example, you can access the properties and commands of a device directly.
20+
IoT Plug and Play lets you use devices that announce their model ID to your IoT hub. For example, you can access the properties and commands of a device directly.
2121

2222
If you're using IoT Central, you can use the IoT Central UI and REST API to interact with IoT Plug and Play devices connected to your application.
2323

articles/iot/concepts-digital-twin.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Understand IoT Plug and Play digital twins
33
description: Understand how IoT Plug and Play uses digital twins
44
author: dominicbetts
55
ms.author: dobett
6-
ms.date: 1/23/2024
6+
ms.date: 03/18/2025
77
ms.topic: conceptual
88
ms.service: azure-iot
99
---
@@ -15,7 +15,7 @@ An IoT Plug and Play device implements a model described by the [Digital Twins D
1515
> [!NOTE]
1616
> DTDL isn't exclusive to IoT Plug and Play. Other IoT services, such as [Azure Digital Twins](../digital-twins/overview.md), use it to represent entire environments such as buildings and energy networks.
1717
18-
The Azure IoT service SDKs include APIs that let a service interact a device's digital twin. For example, a service can read device properties from the digital twin or use the digital twin to call a command on a device. To learn more, see [IoT Hub digital twin examples](concepts-developer-guide-service.md#iot-hub-digital-twin-examples).
18+
The Azure IoT service SDKs include APIs that let a service interact with a device's digital twin. For example, a service can read device properties from the digital twin or use the digital twin to call a command on a device. To learn more, see [IoT Hub digital twin examples](concepts-developer-guide-service.md#iot-hub-digital-twin-examples).
1919

2020
The example IoT Plug and Play device in this article implements a [Temperature Controller model](https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/samples/TemperatureController.json) that has [Thermostat](https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/samples/Thermostat.json) components.
2121

@@ -226,12 +226,12 @@ In this example, `3.0` is the current value of the `fanSpeed` property reported
226226

227227
Components let you build a model interface as an assembly of other interfaces. For example, the [Thermostat](https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/samples/Thermostat.json) interface can be incorporated as components `thermostat1` and `thermostat2` in the [Temperature Controller model](https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/samples/TemperatureController.json) model.
228228

229-
In a device twin, a component is identified by the `{ "__t": "c"}` marker. In a digital twin, the presence of `$metadata` marks a component.
229+
In a device twin, the `{ "__t": "c"}` marker identifies a component. In a digital twin, the presence of `$metadata` marks a component.
230230

231231
In this example, `thermostat1` is a component with two properties:
232232

233233
- `maxTempSinceLastReboot` is a read-only property.
234-
- `targetTemperature` is a writable property that's been successfully synchronized by the device. The desired value and synchronization state of these properties are in the component's `$metadata`.
234+
- `targetTemperature` is a writable property that was successfully synchronized by the device. The desired value and synchronization state of these properties are in the component's `$metadata`.
235235

236236
The following snippets show the side-by-side JSON representation of the `thermostat1` component:
237237

@@ -297,15 +297,15 @@ The following snippets show the side-by-side JSON representation of the `thermos
297297

298298
## Digital twin APIs
299299

300-
The digital twin APIs include **Get Digital Twin**, **Update Digital Twin**, **Invoke Component Command** and **Invoke Command** operations more managing a digital twin. You can either use the [REST APIs](/rest/api/iothub/service/digitaltwin) directly or through one of the [service SDKs](concepts-developer-guide-service.md#service-sdks).
300+
The digital twin APIs include **Get Digital Twin**, **Update Digital Twin**, **Invoke Component Command** and **Invoke Command** operations for managing a digital twin. You can either use the [REST APIs](/rest/api/iothub/service/digitaltwin) directly or through one of the [service SDKs](concepts-developer-guide-service.md#service-sdks).
301301

302302
## Digital twin change events
303303

304304
When digital twin change events are enabled, an event is triggered whenever the current or desired value of the component or property changes. Digital twin change events are generated in [JSON Patch](http://jsonpatch.com/) format. Corresponding events are generated in the device twin format if twin change events are enabled.
305305

306306
To learn how to enable routing for device and digital twin events, see [Use IoT Hub message routing to send device-to-cloud messages to different endpoints](../iot-hub/iot-hub-devguide-messages-d2c.md#non-telemetry-events). To understand the message format, see [Create and read IoT Hub messages](../iot-hub/iot-hub-devguide-messages-construct.md).
307307

308-
For example, the following digital twin change event is triggered when `targetTemperature` is set by the solution:
308+
For example, the following digital twin change event is triggered when the solution sets a `targetTemperature` value:
309309

310310
```json
311311
iothub-connection-device-id:sample-device
@@ -326,7 +326,7 @@ content-encoding:utf-8
326326
]
327327
```
328328

329-
The following digital twin change event is triggered when the device reports that the above desired change was applied:
329+
The following digital twin change event is triggered when the device reports that the previous desired change was applied:
330330

331331
```json
332332
iothub-connection-device-id:sample-device
@@ -374,4 +374,3 @@ Now that you've learned about digital twins, here are some more resources:
374374
- [How to use IoT Plug and Play digital twin APIs](howto-manage-digital-twin.md)
375375
- [Interact with a device from your solution](./tutorial-service.md)
376376
- [IoT Digital Twin REST API](/rest/api/iothub/service/digitaltwin)
377-
- [Azure IoT explorer](../iot/howto-use-iot-explorer.md)

articles/iot/concepts-message-payloads.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Plug and Play device message payloads
33
description: Understand the format of the telemetry, property, and command messages that a Plug and Play device can exchange with a service.
44
author: dominicbetts
55
ms.author: dobett
6-
ms.date: 1/23/2024
6+
ms.date: 03/18/2025
77
ms.topic: conceptual
88
ms.service: azure-iot
99
ms.custom: device-developer
@@ -30,7 +30,10 @@ Each example shows a snippet from the device model that defines the type and exa
3030

3131
The example JSON snippets in this article use [Digital Twin Definition Language (DTDL) v2](https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/DTDL.v2.md). There are also some [DTDL extensions that IoT Central](https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/DTDL.iotcentral.v2.md) uses.
3232

33-
For sample device code that shows some of these payloads in use, see the [Connect a sample IoT Plug and Play device application running on Linux or Windows to IoT Hub tutorial](./tutorial-connect-device.md) or the [Create and connect a client application to your Azure IoT Central application](../iot-central/core/tutorial-connect-device.md) tutorial.
33+
For sample device code that shows some of these payloads in use, see the following tutorials:
34+
35+
* [Connect a sample IoT Plug and Play device application running on Linux or Windows to IoT Hub tutorial](./tutorial-connect-device.md)
36+
* [Create and connect a client application to your Azure IoT Central application](../iot-central/core/tutorial-connect-device.md).
3437

3538
## View raw data
3639

@@ -50,7 +53,7 @@ For more troubleshooting tips, see [Troubleshoot why data from your devices isn'
5053

5154
To learn more about the DTDL telemetry naming rules, see [DTDL > Telemetry](https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/DTDL.v2.md#telemetry). You can't start a telemetry name using the `_` character.
5255

53-
Don't create telemetry types with the following names. IoT Central uses these reserved names internally. If you try to use these names, IoT Central will ignore your data:
56+
Don't create telemetry types with the following names. IoT Central uses these reserved names internally. If you try to use these names, IoT Central ignores your data:
5457

5558
* `EventEnqueuedUtcTime`
5659
* `EventProcessedUtcTime`
@@ -69,7 +72,7 @@ If the telemetry is defined in a component, add a custom message property called
6972
7073
### Telemetry in inherited interfaces
7174

72-
If the telemetry is defined in an inherited interface, your device sends the telemetry as if it is defined in the root interface. Given the following device model:
75+
If the telemetry is defined in an inherited interface, your device sends the telemetry as if it's defined in the root interface. Given the following device model:
7376

7477
```json
7578
[
@@ -842,7 +845,7 @@ To learn more, see [Connect an IoT Plug and Play multiple component device appli
842845

843846
The device or module should confirm that it received the property by sending a reported property. The reported property should include:
844847

845-
* `value` - the actual value of the property (typically the received value, but the device may decide to report a different value).
848+
* `value` - the actual value of the property (typically the received value, but the device can decide to report a different value).
846849
* `ac` - an acknowledgment code that uses an HTTP status code.
847850
* `av` - an acknowledgment version that refers to the `$version` of the desired property. You can find this value in the desired property JSON payload.
848851
* `ad` - an optional acknowledgment description.

articles/iot/concepts-model-discovery.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Use IoT Plug and Play models in a solution | Microsoft Docs
2+
title: Use IoT Plug and Play models in a solution
33
description: As a solution builder, learn about how you can use IoT Plug and Play models in your IoT solution.
44
author: dominicbetts
55
ms.author: dobett

articles/iot/concepts-modeling-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Understand IoT Plug and Play device models | Microsoft Docs
2+
title: Understand IoT Plug and Play device models
33
description: Understand the Digital Twins Definition Language (DTDL) modeling language for IoT Plug and Play devices. The article describes primitive and complex datatypes, reuse patterns that use components and inheritance, and semantic types. The article provides guidance on the choice of device twin model identifier and tooling support for model authoring.
44
author: dominicbetts
55
ms.author: dobett

articles/iot/howto-convert-to-pnp.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
title: Convert an existing device to use IoT Plug and Play | Microsoft Docs
2+
title: Convert an existing device to use IoT Plug and Play
33
description: This article describes how to convert your existing device code to work with IoT Plug and Play by creating a device model and then sending the model ID when the device connects.
44
author: dominicbetts
55
ms.author: dobett
6-
ms.date: 1/23/2024
6+
ms.date: 03/18/2025
77
ms.topic: how-to
88
ms.service: azure-iot
99
---

articles/iot/howto-manage-digital-twin.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: How to manage IoT Plug and Play digital twins
33
description: How to manage an IoT Plug and Play device by using the digital twin APIs
44
author: dominicbetts
55
ms.author: dobett
6-
ms.date: 1/23/2024
6+
ms.date: 03/18/2025
77
ms.topic: how-to
88
ms.service: azure-iot
99
---
@@ -187,4 +187,3 @@ Now that you've learned about digital twins, here are some more resources:
187187

188188
- [Interact with a device from your solution](tutorial-service.md)
189189
- [IoT Digital Twin REST API](/rest/api/iothub/service/digitaltwin)
190-
- [Azure IoT explorer](../iot/howto-use-iot-explorer.md)

0 commit comments

Comments
 (0)