如何在通过 IoT Runtime 配置设备时自动将设备模板分配给设备?

问题描述 投票:0回答:1

在 Azure IoT SDK 中,我们可以在配置时使用客户端选项将设备模板分配给设备。如果我们通过物联网运行时配置,如何自动分配设备模板?

我尝试在 config.toml 文件中发送“ModelId”作为自定义负载,但这不起作用。我们到底需要在配置文件中的哪里指定 ModelId 以便模型自动分配给设备?

azure azure-iot-hub azure-iot-edge azure-iot-dps
1个回答
0
投票

要在使用

iotedge
配置过程通过 IoT 运行时进行配置时自动将设备模板分配给设备,您可以使用以下
config.toml
配置:

[provisioning]
source = "dps"
global_endpoint = "https://global.azure-devices-provisioning.net"
id_scope = "<DPS-ID-SCOPE>"

# Uncomment to send a custom payload during DPS registration
# payload = { uri = "PATH_TO_JSON_FILE" }

[provisioning.attestation]
method = "symmetric_key"
registration_id = "your_registration_id"

symmetric_key = { value = "PASTE_YOUR_PRIMARY_KEY_OR_DERIVED_KEY_HERE" }

[agent]
name = "edgeAgent"
type = "docker"
imagePullPolicy = "on-create"

[agent.config]
image = "mcr.microsoft.com/azureiotedge-agent:1.5"
createOptions = { HostConfig = { Binds = ["/iotedge/storage:/iotedge/storage"] } }

请参阅此链接,了解有关配置 Azure IoT Edge 设备设置的详细信息。

有关使用对称密钥创建和配置 IoT Edge 设备的其他指南,请参阅此链接

在 Azure IoT Edge 中配置时提供

client
选项 我添加了带有 IoT 模块名称的示例模拟温度图像
SimulatedTemperatureSensor

使用图像 URI

mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest

此外,添加一个路由名称

SimulatedTemperatureSensorToIoTHub
,将所有消息从模拟温度模块发送到IoT Hub,其值为
FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream

请参阅此链接,了解有关在 Windows 上创建 Azure IoT Edge 设备的说明。

要使用配置信息配置设备,请使用以下命令:

sudo iotedge config mp --connection-string '...'

然后使用

sudo iotedge config apply
应用配置

Sudo

使用

sudo systemctl restart aziot-edged

重新启动 IoT Edge 服务

sudo systemctl restart aziot-edged

运行命令

sudo iotedge list
验证 IoT Edge 模块的状态: sudo iotedge list

输出: Azure iot edge

Iot edge hub

命令

sudo iotedge logs SimulatedTemperatureSensor -f
用于获取并跟踪特定 IoT Edge 模块的日志。

在本例中,您似乎正在尝试监视 IoT Edge 设备上运行的

SimulatedTemperatureSensor
模块的日志。

sudo iotedge logs SimulatedTemperatureSensor -f

© www.soinside.com 2019 - 2024. All rights reserved.