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-central/core/concepts-device-implementation.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Device implementation
3
3
description: This article introduces the key concepts and best practices for implementing a device that connects to your IoT Central application.
4
4
author: dominicbetts
5
5
ms.author: dobett
6
-
ms.date: 06/06/2023
6
+
ms.date: 10/14/2024
7
7
ms.topic: conceptual
8
8
ms.service: iot-central
9
9
services: iot-central
@@ -71,11 +71,11 @@ To learn more about the format of the JSON messages that a device exchanges with
71
71
72
72
### Device SDKs
73
73
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:
75
75
76
76
- Register the device with DPS and use the information from DPS to connect to the internal IoT hub in your IoT Central application.
77
77
- 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.
79
79
- 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.
80
80
- Implement command handlers for the commands specified in the model. The model specifies the command names and parameters that the device should use.
81
81
@@ -123,7 +123,7 @@ To learn more about registration and provisioning in IoT Central, see [IoT Centr
123
123
124
124
### Handle connection failures
125
125
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.
127
127
128
128
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:
Copy file name to clipboardExpand all lines: articles/iot-central/core/howto-build-iotc-device-bridge.md
+8-14Lines changed: 8 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ services: iot-central
6
6
ms.service: iot-central
7
7
author: dominicbetts
8
8
ms.author: dobett
9
-
ms.date: 06/14/2023
9
+
ms.date: 10/14/2024
10
10
ms.topic: how-to
11
11
# Administrator
12
12
---
@@ -66,7 +66,7 @@ After the deployment is completed, you need to install the npm packages the func
66
66
npm install
67
67
```
68
68
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.
70
70
71
71
1. After the package installation finishes, Select **Restart** on the **Overview** page of the functionapp:
72
72
@@ -96,7 +96,7 @@ You can include a `timestamp` field in the body to specify the UTC date and time
96
96
97
97
You can include a `modelId` field in the body. Use this field to assign the device to a device template during provisioning.
98
98
99
-
The `deviceId` must be alphanumeric, lowercase, and may contain hyphens.
99
+
The `deviceId` must be alphanumeric, lowercase, and can contain hyphens.
100
100
101
101
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).
102
102
@@ -116,7 +116,7 @@ The Resource Manager template provisions the following resources in your Azure s
116
116
117
117
The key vault stores the SAS group key for your IoT Central application.
118
118
119
-
The functionapp 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 functionapp 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).
120
120
121
121
To use a dedicated App Service plan instead of a consumption plan, edit the custom template before deploying. Select **Edit template**.
122
122
@@ -138,7 +138,7 @@ Replace the following segment:
138
138
},
139
139
```
140
140
141
-
with
141
+
With:
142
142
143
143
```json
144
144
{
@@ -172,7 +172,7 @@ The following examples outline how to configure the device bridge for various Io
172
172
173
173
### Example 1: Connecting Particle devices through the device bridge
174
174
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:
176
176
177
177
```json
178
178
{
@@ -189,7 +189,7 @@ Paste in the **function URL** from your function app, and you see Particle devic
189
189
190
190
### Example 2: Connecting Sigfox devices through the device bridge
191
191
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 functionthat 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 functionthat runs the device bridge.
193
193
194
194
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 functionfor 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 functionapp.
195
195
@@ -219,7 +219,7 @@ context.res = {
219
219
To connect The Things Network devices to IoT Central:
220
220
221
221
* 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 functionthat 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 functionthat automatically converts the payload of your device messages to JSON before sending it to the function: **Application > Payload Functions > decoder**.
223
223
224
224
The following sample shows a JavaScript decoder functionyou can use to decode common numeric types from binary data:
225
225
@@ -283,9 +283,3 @@ req.body = {
283
283
## Limitations
284
284
285
285
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)
Copy file name to clipboardExpand all lines: articles/iot-central/core/howto-control-devices-with-rest-api.md
+1-5Lines changed: 1 addition & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Use the REST API to manage devices in Azure IoT Central
3
3
description: How to use the IoT Central REST API to control devices in an application by using properties and commands.
4
4
author: dominicbetts
5
5
ms.author: dobett
6
-
ms.date: 06/14/2023
6
+
ms.date: 10/14/2024
7
7
ms.topic: how-to
8
8
ms.service: iot-central
9
9
services: iot-central
@@ -483,7 +483,3 @@ GET https://{your app subdomain}.azureiotcentral.com/api/devices/temperature-con
483
483
484
484
> [!TIP]
485
485
> 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).
Copy file name to clipboardExpand all lines: articles/iot-central/core/howto-query-with-rest-api.md
+3-7Lines changed: 3 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: How to use the IoT Central REST API to query devices in an applicat
4
4
titleSuffix: Azure IoT Central
5
5
author: dominicbetts
6
6
ms.author: dobett
7
-
ms.date: 05/19/2023
7
+
ms.date: 10/14/2024
8
8
ms.topic: how-to
9
9
ms.service: iot-central
10
10
services: iot-central
@@ -17,7 +17,7 @@ The IoT Central REST API lets you develop client applications that integrate wit
17
17
18
18
- Get the last 10 telemetry values reported by a device.
19
19
- 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.
21
21
- Get the current firmware version of all your thermostat devices.
22
22
23
23
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:
119
119
120
120
The following limits apply in the `SELECT` clause:
121
121
122
-
-There's no wildcard operator.
122
+
-No wildcard operator is available.
123
123
- You can't have more than 15 items in the select list.
124
124
- A query returns a maximum of 10,000 records.
125
125
@@ -293,7 +293,3 @@ The current limits for queries are:
293
293
- The maximum length of a query string is 350 characters.
294
294
- You can't use the wildcard (`*`) in the `SELECT` clause list.
295
295
- 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