物联网开发平台 设备认证常见问题

这篇汇总设备通过MQTT V3.1.1协议连接腾讯云物联网开发平台的常见问题,涵盖三元组获取、密钥认证、连接参数计算、故障诊断及网络连通性检查,并给出域名白名单配置建议。 三元组获取:需在产品控制台设备详情中查看产品ID、DeviceName和DeviceSecret。 连接参数计算:使用小工具输入三元组生成ClientId、UserName和Password,注意expiry有效期。 故障排查:HMAC签名错误。

相关产品
物联网开发平台 产品页,含版本规格、价格与购买入口。

这篇说说设备通过 MQTTV3.1.1 协议与腾讯云物联网开发平台进行身份认证的常见问题及解决方法。

一、如何获取设备三元组信息?

三元组是指设备的产品 ID、DeviceName、DeviceSecret, 在设备开发阶段或量产阶段,产品 ID、DeviceName、DeviceSecret 必须存储烧录在设备侧。

可以通过进入控制台的设备管理,查看某个设备的详细信息获取三元组信息。

二、设备如何使用密钥认证方式连接平台?

具体说明与接入指引,你可参见文档:设备基于 TCP 的 MQTT 接入。

三、如何通过 MQTT 客户端工具快速将一个设备连接到平台?

详细操作步骤可参见 消费实例接入准备。

四、如何计算腾讯云物联网 MQTT 连接参数,例如 ClientId、UserName、Password?

1. 下载 MQTT 连接参数小工具 生成小工具 并解压缩后,在目录中可查看到以下3个文件。

2. 打开 Chrome 浏览器,并打开 sign.html 文件,显示如下。将上一步中“产品 ID”、“设备名称”、“设备密钥”信息分别复制到对应的 ProductID、DeviceName、DeviceSecret 文本框中,Hmac签名算法默认选择 HMAC-SHA256,单击 Generate,网页工具自动生成 UserName 与 Password。该工具生成的 UserName、Password 默认 expiry 时间是最近5分钟。

五、设备刚测试的时候可顺利连接腾讯云物联网平台,过了一段时间后无法连接是什么原因?

可能原因是已过连接时效,需要查看 MQTT 生成连接参数是否已经到期。具体可配置 设备基于 TCP 的 MQTT 接入 的 expiry 参数。

六、腾讯云物联网平台的 MQTT 接入域名与端口号是什么?

广州区域设备 MQTT 接入域名:PRODUCT_ID.iotcloud.tencentdevices.com,这里 PRODUCT_ID 为变量参数,用户需填入创建产品时自动生成的产品 ID,例如 T****DS8G.iotcloud.tencentdevices.com。

密钥认证方式的端口号是1883,证书认证的端口号是8883。

七、设备连接平台诊断日志显示“FAIL, HMAC sign error”,该如何解决?

诊断日志显示示例:

分析原因:

使用消费实例快速入门中的网页工具计算的 UserName 或 Password 输入错误,连接后会出现该错误。

解决方案:

需严格按照文档 设备基于 TCP 的 MQTT 接入 的 生成小工具 生成 password,以及确认 expiry 信息是否过期。

注意:expiry :表示签名的有效期,Unix 时间戳格式例如:1704363215。expiry 应该设置为一个远超设备真实生命周期的时间,或由设备侧每次获取当前系统时间时加上一个较大的整数即可。若 expiry 的值小于当前系统时间,MQTT 身份认证将失败。

八、如果是通过蜂窝通讯方式连接的设备,并使用了运营商物联网卡,访问平台相关服务(例如 OTA、消息通信 )时,需要加白腾讯云物联网服务的域名

因物联网卡通常存在访问限制(仅允许访问特定域名 / 服务 ),若设备需连接腾讯云物联网平台(例如访问 OTA 后台、消息通信域名 ),需运营商侧配置域名白名单,平台相关域名如下:

·*.iotvideo.qcloud.com

·*.iotvideo.tencentcs.com

·*.iotcloud.tencentiotcloservicewechat.com

·*.iotcloud.tencentdevices.com

·*.myqcloud.com

·*.tencentcos.cn

九、如何查看设备是否完成身份认证成功连接平台?

当一个设备成功经过腾讯云物联网平台的身份认证后,该设备将立刻处于“在线”状态,并且可在该设备的上下线日志中查看到该设备成功连接平台的详细日志。

十、如何检查设备侧网络与腾讯云物联网平台的连通性

若设备所在本地环境无法连接腾讯云物联网 MQTT 服务器,请使用以下常用命令检查:

·ping PRODUCT_ID.iotcloud.tencentdevices.com:使用 ping 命令检测是否可连接物联网平台服务器。

·telnet PRODUCT_ID.iotcloud.tencentdevices.com 1883:使用 telnet 检测1883端口是否可连接。

可通过 traceroute、tcpdump 分析网络具体原因,是否由于本地网络访问策略限制。

十一、为什么使用 ap-guangzhou.gateway.tencentdevices.com 注册设备是正常的,用 ap-bangkok.gateway.tencentdevices.com 注册就返回 signature error?

国内和海外产品是隔离的,需要用 Bangkok 创建的产品密钥。注册不成功说明不是海外 License。如果你需要创建海外设备,需采购海外 License 并开白名单即可创建。

赞 (0)
上一篇 4天前
下一篇 4天前