如何计算MQTT连接参数

更新时间:

设备通过您自研的MQTT接入工具连接物联网平台时,需输入MQTT的签名认证参数username、passwd和mqttClientId。本文介绍获取MQTT连接签名参数值的方法。

概述

您可根据实际业务需要,选择如下方法获取MQTT签名参数值。

方法

说明

复制页面数据直接使用。

注意:页面默认提供的1883是TCP连接,是不安全的,可以在测试验证时使用,不建议生产环境使用,安全的连接见MQTT连接

支持签名算法为hmacmd5和hmacsha1。

使用Node.js语言脚本计算

支持签名算法为hmacsha256。

设备的ClientId默认为${ProductKey} + '.' + ${DeviceName}组成的字符串,可修改。

直接在物联网平台获取

  1. 登录物联网平台控制台。

  2. 在左侧导航栏,选择设备管理 > 设备列表,进入设备列表页面。

  3. 在设备列表中,单击目标设备对应的详情按钮,进入设备详情页面。

  4. 设备信息页签下,单击连接参数右侧的查看,获取MQTT签名参数信息。

image27.png

重要

其中clientId是mqttClientId值,请勿与设备的clientId混淆。MQTT连接参数的详细说明,请参见MQTT-TCP连接通信

使用网页工具计算

  1. 单击下载MQTT_Password工具包,然后解压。

  2. 在文件夹MQTT_Password下,使用浏览器打开sign.html文件。

image28.png

  1. 在MQTT签名计算页面,根据页面提示,输入对应信息,如下图所示。

image29.png

参数

说明

productKey

您添加设备后,保存的设备证书信息,请参见单个创建设备

您可在控制台中设备的设备详情页面查看。

deviceName

deviceSecret

timestamp

时间戳。当前时间毫秒值,自动填充。每刷新一次页面,更新一次。

clientId

设备的Client ID信息,可自定义,长度在64个字符以内。建议使用您设备的MAC地址或SN码,方便您识别区分不同的设备。

method

签名算法类型,支持hmacmd5和hmacsha1。

  1. 单击Generate计算结果显示签名参数值

image30.png

使用java语言计算连接参数并使用paho进行连接

点击下载java语言代码示例

  1. 代码展示了三种连接平台的方式,运行对应的main方法连接并进行发布和订阅

    1. 使用TCP建立不加密,不安全的连接,见ConnectTuyaIotPlatformTcpDemo

    2. 使用标准证书,建立安全的TLS连接,见ConnectTuyaIotPlatformStandardCertDemo

    3. 使用Tuya自签证书,建立安全的TLS连接,见ConnectTuyaIotPlatformSelfSignCertDemo

  2. 代码实现了连接参数的计算,需要您替换代码里面的变量productKey、deviceName、deviceSecret、endpoint