Skip to content

Commit 9d2ce35

Browse files
Merge pull request #288319 from dominicbetts/central-freshness
Freshness
2 parents af2eb6f + 62b02db commit 9d2ce35

10 files changed

+34
-50
lines changed

articles/iot-central/core/concepts-device-implementation.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Device implementation
33
description: This article introduces the key concepts and best practices for implementing a device that connects to your IoT Central application.
44
author: dominicbetts
55
ms.author: dobett
6-
ms.date: 06/06/2023
6+
ms.date: 10/14/2024
77
ms.topic: conceptual
88
ms.service: iot-central
99
services: iot-central
@@ -71,11 +71,11 @@ To learn more about the format of the JSON messages that a device exchanges with
7171

7272
### Device SDKs
7373

74-
Use one of the [Azure IoT device SDKs](../../iot-hub/iot-hub-devguide-sdks.md#azure-iot-hub-device-sdks) to implement the behavior of your device. The code should:
74+
To implement the code that runs on your device, you should use one of the [Azure IoT device SDKs](../../iot-hub/iot-hub-devguide-sdks.md#azure-iot-hub-device-sdks). Actions your code should implement include:
7575

7676
- Register the device with DPS and use the information from DPS to connect to the internal IoT hub in your IoT Central application.
7777
- Announce the DTMI of the model the device implements.
78-
- Send telemetry in the format that the device model specifies. IoT Central uses the model in the device template to determine how to use the telemetry for visualizations and analysis.
78+
- Send telemetry in the format that the device model specifies. To determine how to use the telemetry for visualizations and analysis, IoT Central uses the model in the device template.
7979
- Synchronize property values between the device and IoT Central. The model specifies the property names and data types so that IoT Central can display the information.
8080
- Implement command handlers for the commands specified in the model. The model specifies the command names and parameters that the device should use.
8181

@@ -123,7 +123,7 @@ To learn more about registration and provisioning in IoT Central, see [IoT Centr
123123

124124
### Handle connection failures
125125

126-
For scaling or disaster recovery purposes, IoT Central may update its underlying IoT hubs. To maintain connectivity, your device code should handle specific connection errors by establishing a connection to a new IoT Hub endpoint.
126+
When IoT Central automatically scales or handles a disaster recovery scenario, it might update its underlying IoT hubs. To maintain connectivity, your device code should handle specific connection errors by establishing a connection to a new IoT Hub endpoint.
127127

128128
If the device gets any of the following errors when it connects, it should reprovision the device with DPS to get a new connection string. These errors mean the connection string is no longer valid:
129129

articles/iot-central/core/howto-build-iotc-device-bridge.md

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: iot-central
66
ms.service: iot-central
77
author: dominicbetts
88
ms.author: dobett
9-
ms.date: 06/14/2023
9+
ms.date: 10/14/2024
1010
ms.topic: how-to
1111
# Administrator
1212
---
@@ -66,7 +66,7 @@ After the deployment is completed, you need to install the npm packages the func
6666
npm install
6767
```
6868

69-
These commands may take several minutes to run. You can safely ignore any warning messages.
69+
These commands might take several minutes to run. You can safely ignore any warning messages.
7070

7171
1. After the package installation finishes, Select **Restart** on the **Overview** page of the function app:
7272

@@ -96,7 +96,7 @@ You can include a `timestamp` field in the body to specify the UTC date and time
9696

9797
You can include a `modelId` field in the body. Use this field to assign the device to a device template during provisioning.
9898

99-
The `deviceId` must be alphanumeric, lowercase, and may contain hyphens.
99+
The `deviceId` must be alphanumeric, lowercase, and can contain hyphens.
100100

101101
If you don't include the `modelId` field, or if IoT Central doesn't recognize the model ID, then a message with an unrecognized `deviceId` creates a new _unassigned device_ in IoT Central. An operator can manually migrate the device to the correct device template. To learn more, see [Manage devices in your Azure IoT Central application > Migrating devices to a template](howto-manage-devices-individually.md).
102102

@@ -116,7 +116,7 @@ The Resource Manager template provisions the following resources in your Azure s
116116

117117
The key vault stores the SAS group key for your IoT Central application.
118118

119-
The function app runs on a [consumption plan](https://azure.microsoft.com/pricing/details/functions/). While this option doesn't offer dedicated compute resources, it enables the device bridge to handle hundreds of device messages per minute, suitable for smaller fleets of devices or devices that send messages less frequently. If your application depends on streaming a large number of device messages, replace the consumption plan with a dedicated [App service plan](https://azure.microsoft.com/pricing/details/app-service/windows/). This plan offers dedicated compute resources, which give faster server response times. Using a standard App Service Plan, the maximum observed performance of the function from Azure in this repository was around 1,500 device messages per minute. To learn more, see [Azure Functions hosting options](../../azure-functions/functions-scale.md).
119+
The function app runs on a [consumption plan](https://azure.microsoft.com/pricing/details/functions/). While this option doesn't offer dedicated compute resources, it enables the device bridge to handle hundreds of device messages per minute, suitable for smaller fleets of devices or devices that send messages less frequently. If your application depends on streaming a large number of device messages, replace the consumption plan with a dedicated [App service plan](https://azure.microsoft.com/pricing/details/app-service/windows/). This plan offers dedicated compute resources, which give faster server response times. With a standard App Service Plan, the maximum observed performance of the function from Azure in this repository was around 1,500 device messages per minute. To learn more, see [Azure Functions hosting options](../../azure-functions/functions-scale.md).
120120
121121
To use a dedicated App Service plan instead of a consumption plan, edit the custom template before deploying. Select **Edit template**.
122122
@@ -138,7 +138,7 @@ Replace the following segment:
138138
},
139139
```
140140
141-
with
141+
With:
142142
143143
```json
144144
{
@@ -172,7 +172,7 @@ The following examples outline how to configure the device bridge for various Io
172172
173173
### Example 1: Connecting Particle devices through the device bridge
174174
175-
To connect a Particle device through the device bridge to IoT Central, go to the Particle console and create a new webhook integration. Set the **Request Format** to **JSON**. Under **Advanced Settings**, use the following custom body format:
175+
To connect a Particle device through the device bridge to IoT Central, go to the Particle console and create a new webhook integration. Set the **Request Format** to **JSON**. Under **Advanced Settings**, use the following custom body format:
176176
177177
```json
178178
{
@@ -189,7 +189,7 @@ Paste in the **function URL** from your function app, and you see Particle devic
189189

190190
### Example 2: Connecting Sigfox devices through the device bridge
191191

192-
Some platforms may not let you specify the format of device messages sent through a webhook. For such systems, you must convert the message payload to the expected body format before the device bridge processes it. You can do the conversion in the same function that runs the device bridge.
192+
Some platforms might not let you specify the format of device messages sent through a webhook. For such systems, you must convert the message payload to the expected body format before the device bridge processes it. You can do the conversion in the same function that runs the device bridge.
193193

194194
This section shows how to convert the payload of a Sigfox webhook integration to the body format expected by the device bridge. The Sigfox cloud transmits device data in a hexadecimal string format. For convenience, the device bridge includes a conversion function for this format, which accepts a subset of the possible field types in a Sigfox device payload: `int` and `uint` of 8, 16, 32, or 64 bits; `float` of 32 bits or 64 bits; little-endian and big-endian. To process messages from a Sigfox webhook integration, make the following changes to the _IoTCIntegration/index.js_ file in the function app.
195195

@@ -219,7 +219,7 @@ context.res = {
219219
To connect The Things Network devices to IoT Central:
220220

221221
* Add a new HTTP integration to your application in The Things Network: **Application > Integrations > add integration > HTTP Integration**.
222-
* Make sure your application includes a decoder function that automatically converts the payload of your device messages to JSON before it's sent to the function: **Application > Payload Functions > decoder**.
222+
* Make sure your application includes a decoder function that automatically converts the payload of your device messages to JSON before sending it to the function: **Application > Payload Functions > decoder**.
223223

224224
The following sample shows a JavaScript decoder function you can use to decode common numeric types from binary data:
225225

@@ -283,9 +283,3 @@ req.body = {
283283
## Limitations
284284
285285
The device bridge only forwards messages to IoT Central, and doesn't send messages back to devices. This limitation is why properties and commands don't work for devices that connect to IoT Central through this device bridge. Because device twin operations aren't supported, it's not possible to update device properties through the device bridge. To use these features, a device must connect directly to IoT Central using one of the [Azure IoT device SDKs](../../iot-hub/iot-hub-devguide-sdks.md).
286-
287-
## Next steps
288-
Now that you've learned how to deploy the IoT Central device bridge, here's the suggested next step:
289-
290-
> [!div class="nextstepaction"]
291-
> [Manage your devices](howto-manage-devices-individually.md)

articles/iot-central/core/howto-control-devices-with-rest-api.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Use the REST API to manage devices in Azure IoT Central
33
description: How to use the IoT Central REST API to control devices in an application by using properties and commands.
44
author: dominicbetts
55
ms.author: dobett
6-
ms.date: 06/14/2023
6+
ms.date: 10/14/2024
77
ms.topic: how-to
88
ms.service: iot-central
99
services: iot-central
@@ -483,7 +483,3 @@ GET https://{your app subdomain}.azureiotcentral.com/api/devices/temperature-con
483483

484484
> [!TIP]
485485
> To call commands in a component in a module, use `/devices/{deviceId}/modules/{moduleName}/components/{componentName}/commands/{commandName}`.
486-
487-
## Next steps
488-
489-
Now that you've learned how to control devices with the REST API, a suggested next step is to learn [How to use the IoT Central REST API to create and manage jobs](howto-manage-jobs-with-rest-api.md).

articles/iot-central/core/howto-export-to-webhook.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to use the IoT Central data export capability to continuo
44
services: iot-central
55
author: dominicbetts
66
ms.author: dobett
7-
ms.date: 05/22/2023
7+
ms.date: 10/14/2024
88
ms.topic: how-to
99
ms.service: iot-central
1010
---

articles/iot-central/core/howto-query-with-rest-api.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: How to use the IoT Central REST API to query devices in an applicat
44
titleSuffix: Azure IoT Central
55
author: dominicbetts
66
ms.author: dobett
7-
ms.date: 05/19/2023
7+
ms.date: 10/14/2024
88
ms.topic: how-to
99
ms.service: iot-central
1010
services: iot-central
@@ -17,7 +17,7 @@ The IoT Central REST API lets you develop client applications that integrate wit
1717

1818
- Get the last 10 telemetry values reported by a device.
1919
- Find all devices that are in an error state and have outdated firmware.
20-
- Telemetry trends from devices, averaged in 10-minute windows.
20+
- Analyze telemetry trends from devices, averaged in 10-minute windows.
2121
- Get the current firmware version of all your thermostat devices.
2222

2323
This article describes how to use the `/query` API to query devices.
@@ -119,7 +119,7 @@ You can find the component name in the device template:
119119

120120
The following limits apply in the `SELECT` clause:
121121

122-
- There's no wildcard operator.
122+
- No wildcard operator is available.
123123
- You can't have more than 15 items in the select list.
124124
- A query returns a maximum of 10,000 records.
125125

@@ -293,7 +293,3 @@ The current limits for queries are:
293293
- The maximum length of a query string is 350 characters.
294294
- You can't use the wildcard (`*`) in the `SELECT` clause list.
295295
- Queries can retrieve up to 10,000 records.
296-
297-
## Next steps
298-
299-
Now that you've learned how to query devices with the REST API, a suggested next step is to learn [How to use the IoT Central REST API to manage users and roles](howto-manage-users-roles-with-rest-api.md).

0 commit comments

Comments
 (0)