参考腾讯云物联网平台快速入门指引:https://cloud.tencent.com/document/product/634/14630。
下载MQTT.fx工具,版本1.7.1,windows和macos客户端工具下载地址:https://pan.baidu.com/s/1Tmo7AINITq2wkNoopSEoaw 提取码: dx85
用于生MQTT链接的username和paasword的工具:
https://pan.baidu.com/s/1UXgqxwFH54acX18Liojk2g 提取码: etir
操作场景
本文档通过使用 MQTT.fx 介绍设备接入腾讯云IoT平台,进行消息发布和订阅,及设备消息流转到相关腾讯云其他产品。MQTT.fx 是目前主流的 MQTT 桌面客户端,它支持 Windows、 Mac、Linux 操作系统,更多 MQTT 协议介绍请参见 MQTT 协议介绍。
操作步骤
连接 IoT 平台
1. 打开 MQTT.fx 客户端程序,单击设置。
2. 进入设置页面,并单击 “+”,创建一个新的配置文件。
3. 填写 Connection Profile 相关信息和 General 信息。
参数说明
参数 | 说明 |
---|---|
Profile Name | 配置文件保存为的名称。 |
Broker Address | MQTT 服务器连接地址,详情参考 设备接入地域说明,域名中 PRODUCT_ID 为变量参数,用户需填入创建产品时自动生成的产品 ID,例如:9****ZW2EZ.iotcloud.tencentdevices.com |
Broker Port | MQTT 服务器连接端口,证书认证型端口:8883;密钥认证型:1883。 |
Client ID | MQTT 协议字段,按照物联网通信约束填入:产品 ID + 设备名,例如:"9****ZW2EZgate_dev01 ",9****ZW2EZ 是产品 ID,gate_dev01 是设备名。 |
Connection Timeout | 连接超时时间秒。 |
Keep Alive Interval | 心跳间隔时间秒。 |
Auto Reconnect | 断网自动重连。 |
4. 填写 User Credentials 信息。
User Name:MQTT 协议字段,按照物联网通信约束填入:${productId}${deviceName};${sdkappid};${connid};${expiry}
。(创建完产品即可在产品列表页和产品详情页查看 productId
)如:"KXUCF9GJ9Hdev_01;12010126;d718d;1685203200"。
Password:Password 必须填写。
证书认证:由于 mqtt.fx 默认将密码标志位设为 true,所以需要填写一个任意的非空字符串作为密码,否则无法连接到物联云通信后台。而实际接入物联云后台时,鉴权是根据证书认证,此处随机填写的密码不会作为接入凭证。
密钥认证:用户可进入 Hub 相应设备列表查看获取(具体页面见下方密钥认证步骤),也可以按照文档 手动生成 Password。
5. (可选)证书认证: 选择开启“SSL/TLS”,勾选“Self signed Certificates”,上传相关内容。
文件说明
文件 | 说明 |
---|---|
CA File | 根证书,单击 ca.crt 链接下载文件。 |
Client Certificate File | 客户端证书文件,即设备证书,在证书认证产品中创建设备时下载,详情请查看 设备接入准备。 |
Client Key File | 客户端密钥文件,即设备密钥,在证书认证产品中创建设备时下载,详情请查看 设备接入准备。 |
PEM Formatted | 由于物联网通信根证书、设备证书、设备密钥均由 openssl 生成使用 PEM 格式,而 MQTT.fx 是 Java 客户端,所以不识别 PEM 证书,这里需要勾选由该客户端自动转换为 Java 识别的 JKS 格式。 |
6. (可选)密钥认证:
用户可进入 控制台 获取对应设备的 username,password。
7. 完成以上步骤设置后,单击 Apply > OK 进行保存,并在配置文件框中选择刚才创建的文件名,单击 Connect。
8. 当右上角圆形图标为绿色时,说明已连接 IoT Cloud 成功,可进行发布和订阅操作。
发布消息
选择客户端 Publish Tab,输入主题名称、Qos 等级,单击 Publish 进行发布。发布结果可通过 云日志 查询。
订阅主题
选择客户端 Subscribe Tab,输入主题名称、Qos 等级,单击 Subscribe 进行主题订阅,订阅结果可通过 云日志 查询。
数据流转
设备发布的消息可以通过 规则引擎 流转到第三方服务和腾讯云其他产品,本文档通过 requestbin 工具演示设备数据转发到第三方服务。
1. 在 requestbin 上创建一个public bin,生成一个 http 服务地址,如下:
2. 按规则引擎配置方法,进行规则引擎配置,如下:
3. 设备发布数据后,将在 requestbin 接收到,如下:
消息下发
设备成功订阅了 Topic 后,可通过 发布消息 云 API 向此 Topic 下发消息,设备将接收云端下发的消息。