我正在尝试使用以下方法直接使用 MQTT 连接到 Azure IoT 中心:
我正在使用适用于 Windows 的 MQTT 资源管理器:https ://mqtt-explorer.com/ 我输入以下详细信息。我的 ioTHub 称为 IoTHub,我的设备称为 device,因此根据文档:
协议:mqtt:// 主机:iothub.azure-devices.net/?api-version=2018-06-3430 端口:8883 验证证书:关闭 加密:关闭 用户名:iothub.azure-devices.net/device/?api -版本=2018-06-30 密码:SharedAccessSignature sr=iothub.azure-devices.net&sig=XXXXXXXXXXXXXXXXXXXredactedXXXXXXXXXXXXXXXXXXXX&se=1642603375&skn=iothubowner
我所在位置没有任何端口被封锁。连接失败并表示已与服务器断开连接。如果我尝试使用 TLS 加密,它会显示未授权。
如何使用 MQTT 访问 IoTHub?
你走在正确的轨道上!文档中缺少一个小细节
引用:
对于 ClientId 字段,请使用 deviceId。
可以使用高级设置来设置客户端 ID,如下面的两个屏幕截图所示:
至于TLS加密,这是必需的。打开它,您应该能够连接。
编辑:正如您在评论中提到的,连接字符串也是错误的。您需要设备的共享访问签名。生成一个的一种简单方法是使用az cli. 当您运行下面的命令时,您需要提供设备的连接字符串(您可以从门户获取),它将为您创建共享访问签名。
az iot hub generate-sas-token --connection-string "HostName=iot-Hub.azure-devices.net;DeviceId=deviceId;SharedAccessKey=foo"
| 归档时间: |
|
| 查看次数: |
2983 次 |
| 最近记录: |