我遵循了这个教程:https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-create-through-portal#register-a-new-device-in- the-iot-hub 但我收到错误,我不知道如何解决
这里有一些:
运行命令
iotedge system logs -- -f
运行命令
iotedge check --verbose
我尝试了很多事情,从修改连接配置文件(/etc/aziot/config.toml),到使用自签名证书,在主机和linux虚拟机上打开端口8883,443和5671,重新-安装运行时。 还有这里的东西:https://learn.microsoft.com/en-us/azure/iot-edge/troubleshoot?view=iotedge-1.4 没有任何效果。
设备离线且未运行,因此显示错误设备离线。我按照此文档部署 IoT Edge 模块并使其运行。
部署模块:
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
安装和启动 IoT Edge 运行时的步骤:
在 Windows 设备上以管理员身份运行 PowerShell 并使用以下方法启用 Hyper-V:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
使用以下命令下载 Windows 上适用于 Linux 的 IoT Edge 安装程序:
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
如果您使用的是 ARM64 架构,请将 URL 替换为“https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64”。
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
使用以下方法将执行策略设置为
AllSigned
:
Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
使用以下方式部署 IoT Edge 运行时:
Deploy-Eflow
Provision-EflowVm -provisioningType ManualConnectionString -devConnString "<CONNECTION_ST>"
Connect-EflowVm
使用命令列出设备上运行的 IoT Edge 模块
sudo iotedge list
查看从温度传感器模块发送的消息
sudo iotedge logs SimulatedTemperatureSensor -f
可以在IoT模块中看到运行状态