在 Azure IoT SDK 中,我们可以在配置时使用客户端选项将设备模板分配给设备。如果我们通过物联网运行时配置,如何自动分配设备模板?
我尝试在 config.toml 文件中发送“ModelId”作为自定义负载,但这不起作用。我们到底需要在配置文件中的哪里指定 ModelId 以便模型自动分配给设备?
要在使用
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 systemctl restart aziot-edged
重新启动 IoT Edge 服务
运行命令
sudo iotedge list
验证 IoT Edge 模块的状态:
输出:
命令
sudo iotedge logs SimulatedTemperatureSensor -f
用于获取并跟踪特定 IoT Edge 模块的日志。
在本例中,您似乎正在尝试监视 IoT Edge 设备上运行的
SimulatedTemperatureSensor
模块的日志。