更新时间:2024-09-23 GMT+08:00

使用MQTT.fx进行消息收发

概述

MQTT.fx是一款基于Eclipse Paho、使用Java语言编写的MQTT客户端。支持Windows、Mac和Linux操作系统,可用于模拟设备通过MQTTS/MQTT协议连接华为云IoTDA并通过Topic发布和订阅消息。本文以Windows系统为例,介绍如何使用MQTT.fx接入华为云IoTDA并进行消息收发。

图1 MQTT.fx与IoTDA的消息交互流程

配置MQTT.fx接入IoTDA

  1. 下载MQTT.fx(默认是64位操作系统,如果是32位操作系统,单击此处下载MQTT.fx),安装MQTT.fx工具。
  2. 打开MQTT.fx客户端,在其顶部菜单栏中选择Extras > Edit Connection Profiles
  3. 在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证书。

  4. 参数配置完成后,单击“Connect”进行连接。右侧绿灯亮起,表示MQTT.fx和华为云IoTDA已成功连接。右侧红灯亮起,表示连接失败,您可以单击Log查看日志,根据日志信息修改配置并重新尝试连接。
    图3 MQTT.fx连接
  1. 访问设备接入服务,单击“控制台”进入设备接入控制台。选择左侧导航栏“IoTDA实例”,单击您需要的实例卡片进入实例。在左侧导航栏选择“设备>所有设备”,查看设备状态,预期设备状态为在线。
    图4 设备列表-设备在线

使用MQTT.fx发送消息

  1. 在MQTT.fx客户端上方单击“Publish”页签。
  2. “Publish”页签左侧Topic文本框输入Topic的名称,本示例以“/test/deviceToCloud”为例,消息文本框中输入要发送的消息内容,例如:"hello",单击右侧的“Publish”发送消息。
    图5 MQTT.fx发送消息
  3. 访问设备接入服务,单击“控制台”进入设备接入控制台。选择左侧导航栏“IoTDA实例”,单击您需要的实例卡片进入实例。在左侧导航栏选择“设备>所有设备”,进入设备页面后单击“详情”,在设备详情的消息跟踪页面可以查看MQTT.fx发送的消息。
    图6 消息跟踪-查看消息跟踪
  1. MQTT.fx将消息发送到平台后,可以通过配置数据转发,将MQTT.fx上报的消息平滑流转至消息中间件、存储、数据分析或业务应用。

使用MQTT.fx接收消息

  1. 在MQTT.fx客户端上方单击Subscribe页签。
  2. 在Subscribe页签中,在左侧Topic文本框输入Topic的名称后,单击文本框右侧的“Subscribe”。本示例以“/test/cloudToDevice”为例。订阅成功后,该Topic会显示在订阅列表中。
    图7 MQTT.fx订阅Topic
  3. 访问设备接入服务,单击“控制台”进入设备接入控制台。选择左侧导航栏“IoTDA实例”,单击您需要的实例卡片进入实例。选择左侧导航栏的设备 > 所有设备,在设备列表中,单击具体的设备进入到设备的详情页面。
  4. 云端下发>消息下发标签页,单击“下发消息”,在弹出的窗口中选择需要下发的消息并设置消息参数。
    图8 下发消息-自定义topic
  5. 在MQTT.fx客户端上方单击Subscribe页签,可以查看到对应订阅的Topic已接收到发送的消息。
    图9 MQTT.fx查看消息