You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求适用于Azure的第三方MQTT测试客户端(SAS令牌连接)

用MQTTX通过SAS令牌连接Azure IoT Hub的实操步骤

一、准备必要参数

你需要从Azure门户或CLI获取以下信息:

  • IoT Hub主机名:格式为{你的IoT Hub名称}.azure-devices.net
  • 已注册的设备ID
  • SAS令牌:可通过Azure CLI生成,命令如下:
    az iot hub generate-sas-token --hub-name {你的IoT Hub名称} --device-id {设备ID} --duration 3600
    
    生成的令牌格式为SharedAccessSignature sr={主机名}%2Fdevices%2F{设备ID}&sig={签名串}&se={过期时间戳}

二、MQTTX连接配置

  1. 打开MQTTX,点击「新建连接」
  2. 按以下要求填写字段:
    • 连接名称:自定义(比如Azure IoT Test)
    • 客户端ID:必须填写你的设备ID(Azure IoT Hub要求客户端ID与设备ID一致)
    • 主机:填入IoT Hub主机名
    • 端口:选8883(TLS加密,推荐)或1883(非加密,仅测试用)
    • 认证方式:选择「用户名/密码」
    • 用户名:{主机名}/{设备ID}/?api-version=2021-04-12
    • 密码:填入完整的SAS令牌
  3. 点击「连接」,参数无误即可成功建立连接

三、验证连接有效性

  • 订阅云到设备消息主题:devices/{设备ID}/messages/devicebound/#,然后从Azure门户发送测试消息,查看MQTTX是否能接收
  • 发布设备到云消息:主题填devices/{设备ID}/messages/events/,发送任意内容,然后在Azure门户的设备孪生或消息路由中查看是否收到

备选客户端:Eclipse Mosquitto(命令行工具)

如果MQTTX仍有问题,可尝试用Mosquitto的命令行客户端,示例发布命令:

mosquitto_pub -h {主机名} -p 8883 -d -q 1 -t "devices/{设备ID}/messages/events/" -m "test payload" -i {设备ID} -u "{主机名}/{设备ID}/?api-version=2021-04-12" -P "{SAS令牌}" --cafile ./DigiCertGlobalRootCA.crt.pem

注:使用8883端口需下载DigiCert根证书,1883端口可暂时跳过证书(不建议生产环境使用)

内容的提问来源于stack exchange,提问作者yo3hcv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 15:43:10