使用MQTT.fx进行消息收发
概述
MQTT.fx是一款基于Eclipse Paho、使用Java语言编写的MQTT客户端。支持Windows、Mac和Linux操作系统,可用于模拟设备通过MQTTS/MQTT协议连接华为云IoTDA并通过Topic发布和订阅消息。本文以Windows系统为例,介绍如何使用MQTT.fx接入华为云IoTDA并进行消息收发。
配置MQTT.fx接入IoTDA
- 下载MQTT.fx(默认是64位操作系统,如果是32位操作系统,单击此处下载MQTT.fx),安装MQTT.fx工具。
- 打开MQTT.fx客户端,在其顶部菜单栏中选择 。
- 在Edit Connection Profiles页面中配置相关参数,然后单击“OK”。
图2 MQTT.fx连接参数配置
参数名称
参数说明
取值示例
Profile Name
配置文件名称。
MQTT Test
Profile Type
配置的连接类型。
固定选择“MQTT Broker”,表示连接MQTT服务器。
Broker Address
MQTT服务器接入地址。
华为云IoTDA的MQTTS协议接入地址,请参考此处,进入您的实例,获取“总览”->“接入信息”->“MQTTS”协议对应的接入地址。
Broker Port
MQTT服务器接入端口。
8883
Client ID
设备接入华为云IoTDA需要完成设备接入认证,认证通过后才能进行消息收发。设备鉴权参数计算方式请参见
进入设备详情页面,找到“MQTT连接参数”,单击“查看”,查看其中的clientId、username和password。
User Name
Password
SSL/TLS
Enable SSL/TLS
是否使用SSL或TLS加密协议。
是
Protocol
协议版本。
TLSv1.2
CA certificate file
CA证书文件
从证书资源页面获取对应区域的CA证书。
- 参数配置完成后,单击“Connect”进行连接。右侧绿灯亮起,表示MQTT.fx和华为云IoTDA已成功连接。右侧红灯亮起,表示连接失败,您可以单击 查看日志,根据日志信息修改配置并重新尝试连接。
图3 MQTT.fx连接
- 访问设备接入服务,单击“控制台”进入设备接入控制台。选择左侧导航栏“IoTDA实例”,单击您需要的实例卡片进入实例。在左侧导航栏选择“设备>所有设备”,查看设备状态,预期设备状态为在线。
图4 设备列表-设备在线
使用MQTT.fx发送消息
- 在MQTT.fx客户端上方单击“Publish”页签。
- 在“Publish”页签左侧Topic文本框输入Topic的名称,本示例以“/test/deviceToCloud”为例,消息文本框中输入要发送的消息内容,例如:"hello",单击右侧的“Publish”发送消息。
图5 MQTT.fx发送消息
- 访问设备接入服务,单击“控制台”进入设备接入控制台。选择左侧导航栏“IoTDA实例”,单击您需要的实例卡片进入实例。在左侧导航栏选择“设备>所有设备”,进入设备页面后单击“详情”,在设备详情的消息跟踪页面可以查看MQTT.fx发送的消息。
图6 消息跟踪-查看消息跟踪
- MQTT.fx将消息发送到平台后,可以通过配置数据转发,将MQTT.fx上报的消息平滑流转至消息中间件、存储、数据分析或业务应用。
使用MQTT.fx接收消息
- 在MQTT.fx客户端上方单击 页签。
- 在Subscribe页签中,在左侧Topic文本框输入Topic的名称后,单击文本框右侧的“Subscribe”。本示例以“/test/cloudToDevice”为例。订阅成功后,该Topic会显示在订阅列表中。
图7 MQTT.fx订阅Topic
- 访问设备接入服务,单击“控制台”进入设备接入控制台。选择左侧导航栏“IoTDA实例”,单击您需要的实例卡片进入实例。选择左侧导航栏的 ,在设备列表中,单击具体的设备进入到设备的详情页面。
- 在“下发消息”,在弹出的窗口中选择需要下发的消息并设置消息参数。
图8 下发消息-自定义topic
标签页,单击 - 在MQTT.fx客户端上方单击图9 MQTT.fx查看消息
页签,可以查看到对应订阅的Topic已接收到发送的消息。