# 通过 MQTT 启用消息支持

Source: [https://docs.qualcomm.com/doc/80-70020-50SC/topic/mqtt-configuration.html](https://docs.qualcomm.com/doc/80-70020-50SC/topic/mqtt-configuration.html)

消息队列遥测传输 (MQTT) 是一种用于设备间通信的轻量级发布-订阅协议。Qualcomm IM SDK 支持通过 MQTT 协议向主机设备发送消息。

与 MQTT 服务器建立通信后，可以使用 Qualcomm IM SDK 的 qtimsghub组件从服务器机器发布消息或订阅消息。

## 前提条件

执行以下操作在 Linux 主机上运行的 MQTT 服务器与充当客户端的Qualcomm EVK 之间启用 M2M 会话。

Note: 这些用例需要功能齐全的 MQTT 服务器。

1. 在 Linux 计算机上安装并配置 Mosquitto 服务器。
    1. 安装 Mosquitto 服务器。

            sudo apt-get install mosquittoCopy to clipboard

        关于更多信息，请参阅 [Download Eclipse Mosquitto](https://mosquitto.org/download/)。

Note: 若无需设置用户名和密码，可跳过步骤 (b) 和 (c)，直接执行步骤 (d)。
    2. 在服务器端创建用户名和密码。

            sudo mosquitto_passwd -c /etc/mosquitto/pwfile <username>Copy to clipboard
    3. 配置 Mosquitto 服务器。
1. 在 /etc/mosquitto/mosquitto.conf文件中添加以下文本。

                password_file /etc/mosquitto/pwfile Copy to clipboard

                allow_anonymous falseCopy to clipboard

                listener 1883 Copy to clipboard
    4. 启动 Mosquitto 服务器。

            mosquitto -c <config file path to start mosquitto server> (another method: systemctl restart mosquitto) Copy to clipboard
2. 在客户端（Qualcomm EVK）创建插件（客户端）配置文件。 
    在  path
                                /usr/local/处创建配置文件，并在配置文件中添加以下文本。

         mqtt_version = MQTTV311
        username = <username set using mosquitto_passwd before>
         password = <password set using mosquitto_passwd before> Copy to clipboard

![](data:image/png;base64,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)
3. 确保设备和 Linux 机器（服务器）在同一网络中，并且可以互相通信。

## 使用命令行发送带有主题的消息

在运行命令之前，请确保配置文件位于适当的路径。

1. 订阅者：

        gst-launch-1.0 -e qtimsgsub topic=tmp host=<mosquitto server ip> port=1883 protocol=mqtt config=/usr/local/config ! filesink location=/opt/sub_message.txt
        Copy to clipboard
2. 发布者：

        gst-launch-1.0 -e fakesrc ! qtimsgpub topic=tmp message="Tmp Message" host=<mosquitto server ip> port=1883 protocol=mqtt config=/usr/local/configCopy to clipboard

要停止用例，请按 CTRL + C
                。

## 使用文件发送带有主题的消息

在运行命令之前，请确保满足以下条件：

- 配置文件位于适当的路径。
- message.txt文件包含可发布的内容。

1. 订阅者：

        gst-launch-1.0 -e qtimsgsub topic=tmp host=<mosquitto server ip> port=1883 protocol=mqtt config=/usr/local/config ! filesink location=/opt/sub_message.txtCopy to clipboard
2. 发布者：

        echo "Message in file" > /usr/local/message.txtCopy to clipboard

        gst-launch-1.0 -e filesrc location=/usr/local/message.txt ! qtimsgpub topic=tmp host=<mosquitto server ip> port=1883 protocol=mqtt config=/usr/local/configCopy to clipboard

要停止用例，请按 CTRL + C
                。

## **pipeline 中的消息 - JSON 格式**

在运行命令之前，请确保满足以下条件：

- 配置文件位于适当的路径。
- AI 模型、引擎和 MP4 文件可用。
- 配置显示：

        export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1Copy to clipboard
- 将模型和标签文件推送到您的设备。关于更多详细信息，请参阅[下载模型和标签文件](https://docs.qualcomm.com/doc/80-70020-50SC/topic/download-model-and-label-files.html)。

1. 订阅者：

        gst-launch-1.0 -e qtimsgsub topic=tmp host=<mosquitto server ip> port=1883 protocol=mqtt config=/usr/local/config ! filesink location=/usr/local/sub.json async=falseCopy to clipboard
2. 发布者：

        gst-launch-1.0 -e  filesrc location=/etc/media/<h264_file>.mp4 ! qtdemux ! queue ! h264parse ! v4l2h264dec capture-io-mode=4 output-io-mode=4 ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=external external-delegate-path=libQnnTFLiteDelegate.so external-delegate-options="QNNExternalDelegate,backend_type=htp;"  model=/etc/models/local/mobilenet_v2_1.0_224_quant.tflite ! queue ! qtimlvclassification threshold=60.0 results=3 module=mobilenet labels=/etc/labels/local/mobilenet.labels constants="Mobilenet,q-offsets=<58.0>,q-scales=<0.09889253973960876>;" ! text/x-raw ! queue ! qtimsgpub topic=tmp host=<client-ip-address> port=1883 protocol=mqtt config=/etc/configs/local/config json=true async=falseCopy to clipboard

要停止用例，请按 CTRL + C。

**Parent Topic:** [GStD 框架](https://docs.qualcomm.com/doc/80-70020-50SC/topic/gstreamer-daemon.html)

Last Published: Jul 23, 2025

[Previous Topic
运行 HTTP 用例](https://docs.qualcomm.com/bundle/publicresource/80-70020-50SC/topics/run-http-use-cases.md) [Next Topic
附录：Qualcomm IM SDK 插件大小](https://docs.qualcomm.com/bundle/publicresource/80-70020-50SC/topics/qualcomm-im-sdk-artifacts.md)