有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

操作场景

MQTT.fx 是目前主流的 MQTT 桌面客户端,它支持 Windows、 Mac、Linux 操作系统,可以快速验证是否可与物联网开发平台(简称平台)进行连接,并发布或订阅消息。更多 MQTT 协议介绍请参见 MQTT 协议介绍
本文档主要介绍如何使用 MQTT.fx 将设备连接到腾讯云物联网开发平台,如何通过 MQTT.fx 配置 MQTT Client ID、User Name 及 Password 等参数,如何向平台发布消息并订阅消息。本文以 MQTT.fx 1.7.1 for Windows 版本为例,不限于 V1.7.1,最新 MQTT.fx 5.3 同样支持。

操作步骤

下载 MQTT.fx 并连接平台

1. 下载并安装 MQTT.fx 客户端。
2. 打开 MQTT.fx 客户端程序,单击设置
3. 进入设置页面,并单击“+”,创建一个新的配置文件,输入自定义名称 Profile Name,Profile Type 选择 MQTT Broker。


4. 填写 MQTT Broker Profile Settings General 相关信息。


参数说明
参数
说明
Profile Name
用户自定义名称。
Broker Address
MQTT 服务器连接地址,广州域设备填入:PRODUCT_ID.iotcloud.tencentdevices.com,这里 PRODUCT_ID 为变量参数,用户需填入创建产品时自动生成的产品 ID,例如 T****DS8G.iotcloud.tencentdevices.com。
Broker Port
MQTT 服务器连接端口,填入:1883。本文主要针对密钥认证类型的产品,端口必须是1883,如果您想通过8883接口接入,建议使用证书认证型产品自行接入。
Client ID
MQTT 协议字段,按照物联网通信约束填入:产品 ID + 设备名,如:"TXXXXDS8Gdev001 ",TXXXXDS8G 是产品 ID,dev001 是设备名称。
Connection Timeout
连接超时时间(秒)。
Keep Alive Interval
心跳间隔时间(秒)。
Auto Reconnect
断网自动重连。
5. 单击 User Credentials填写 User Name 和 Password
User Name:MQTT 协议字段,按照物联网通信约束填入:产品 ID + 设备名 + SDKAppID + connid+expiry。创建完产品即可在产品列表页和产品详情页查看 ProductID,例如:"TO****DS8Gdev001;12010126;E4F3Q;1591948593",仅替换示例中的产品 ID + 设备名即可,后面的三个参数本身由平台提供的设备接入 SDK 自动生成,也可由平台提供的 生成小工具 自动生成。
Password:Password 必须填写,用户可以使用平台提供的 生成小工具 自动生成 Password,也可以按照文档 手动生成 Password



6. 完成以上步骤设置后,单击 Apply OK 进行保存,并在配置文件框中选择刚才创建的文件名,单击 Connect
7. 当右上角圆形图标为绿色时,说明已成功连接物联网开发平台,即可进行发布和订阅等操作。



生成 UserName 与 Password

1. 进入 控制台,单击“公共实例”,创建项目后,单击项目名称进入产品开发页,单击新建产品,输入产品信息。
注意:
产品品类需选择“智慧生活/电工照明/灯”,系统会自动创建物模型属性、事件等。



2. 单击刚创建的“智能灯”产品,选择第四步设备调试,单击新建设备创建设备。



3. 下载网页小工具 生成小工具 并解压缩后,在目录中可查看到以下3个文件。



4. 单击平台设备调试中创建的设备名称,获取设备的三元组信息“产品 ID”、“设备名称”和“设备密钥”。



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



6. 复制自动生成的 User Name、Password 到 MQTT.fx 的 User Credentials 区域对应的文本框。

设备发布物模型消息

选择客户端 Publish Tab,输入主题名称、Qos 等级,单击 Publish 进行发布。 示例Topic:$thing/up/property/ProductID/DeviceName(设备上报数据到平台的物模型 Topic,实际体验需要将 ProductID 与 DeviceName 替换成用户在平台创建的对应内容)。发布消息数据格式规范及示例,可参见文档 物模型协议


发布结果可通过 控制台 中对应的设备云端日志查询到上报记录。




设备订阅物模型消息

选择客户端 Subscribe Tab,输入订阅主题 Topic 名称、Qos 等级,单击 Subscribe 进行主题订阅。订阅结果可通过 控制台 的设备日志查询。 示例Topic:$thing/down/property/ProductID/DeviceName(设备订阅物模型 Topic,常用于云端通过物模型下发控制报文至设备端,实际体验需要将 ProductID 与 DeviceName 替换成用户在平台创建的对应内容)。


进入设备在线调试,设置开关,亮度后单击发送,平台将下发控制指令。


之后回到 MQTT.fx 窗口,可以看到云端刚才下发的控制报文数据:



查看日志

在 MQTT.fx 上,单击 Log 查看操作日志和错误提示日志。