腾讯云 MQTT 由服务器生成长期的设备密码

发布时间: 2022-06-09 08:36:37 作者: 大象笔记

密码过期问题

登录腾讯云管理后台,物联网通信,设备调试。可以看到提示:

以下MQTT三元组仅用于调试,将于2022-09-05 12:00:00后失效,正式设备请按算法生成

Client ID	xxx
MQTT Username	yyy
MQTT Password   zzz

由于嵌入式硬件不方便接入腾讯云的 MQTT SDK,所以改成硬件从服务器获取 Username 和 Password。 然后将密码过期时间设置成 50 年,因为硬件设备的寿命大概也不会超过 10 年。虽然不严谨,但是满足目前的需求场景。

Client ID 格式

${productId}${deviceName}

MQTT UserName 格式

${productId}${deviceName};${sdkappid};${connid};${expiry}

其中各字段含义如下:

MQTT Password 格式

${token};hmac 签名方法

hmac 签名方法: hmacsha256 或 hmacsha1。

算法生成

官方文档:

https://cloud.tencent.com/document/product/634/32546

golang 的实现:

https://zhaoyanbai.com/articles/TencentIotHubMqttUseGolang

腾讯云创建 MQTT 设备的接口

https://cloud.tencent.com/document/product/634/71950

硬件设备何时获取

怎么弄,我只跟你要一次,还是你先生成好,我刷程序的时候,直接写死

先生成设备名,后获取密码。

接口调用逻辑

TODO

我是一名山东烟台的开发者,联系作者