# Enable message support through MQTT

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

MQTT is a lightweight publish-subscribe protocol for communication between machines.
        Qualcomm IM SDK supports Message Queuing Telemetry Transport (MQTT) protocol to send
        messages to a host device.

After establishing communication with an MQTT server, the qtimsghub
            component of Qualcomm IM SDK can be used to publish messages or subscribe to messages
            from the server machine.

## Prerequisites

Do the following to enable an M2M session with an MQTT server running on the host
                machine and RBx board acting as the client that is communicating with it.

Note: These use cases require a functional MQTT server.

1. Install and configure the Mosquitto server on a Linux machine.
    1. Install the Mosquitto server.

            sudo apt-get install mosquittoCopy to clipboard

        For
                                    more information, see [Download | Eclipse
                                    Mosquitto](https://mosquitto.org/download/).

Note: If you do not
                                    need to set a username and password, you can skip steps (b) and
                                    (c), and proceed with step (d).
    2. Create the username and password on the server
                                side.

            mosquitto_passwd -c /etc/mosquitto/pwfile <username>Copy to clipboard
    3. Configure the Mosquitto server.
1. Find the
                                            file:

                / -name mosquitto.confCopy to clipboard
        2. Add the following text in the
                                                /etc/mosquitto/mosquitto.conf
                                            file.

                password_file /etc/mosquitto/pwfile Copy to clipboard

                allow_anonymous falseCopy to clipboard

                listener 1883 Copy to clipboard
    4. Start the Mosquitto
                                server.

            mosquitto -c <config file path to start mosquitto server> (another method: systemctl restart mosquitto) Copy to clipboard
2. Create a plugin (client) configuration file on the client side, which is the
                        Qualcomm Linux Development kit. 
    Create the configuration file at
                                 path /usr/local/ and add the following text in
                            configuration
                            file.

         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. Ensure that the device and Linux machine (server) are in the same network,
                        and they can communicate with each other.

## Message in command line with topic

Before you run the commands, ensure that the configuration file is at the appropriate
                path.

1. Subscriber:

        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. Publisher:

        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

To stop the use case, press CTRL + C
                .

## Message in file with topic

Before you run the commands, ensure the following:

- The configuration file is at the appropriate path.
- The message.txt file has content that can be
                    published.

1. Subscriber:

        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. Publisher:

        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

To stop the use case, press CTRL + C
                .

## **Message in pipeline – JSON format**

Before you run the commands, ensure the following:

- The configuration file is at the appropriate path.
- The AI model, engine, and an MP4 file are available.
- Configure
                    display:

        export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1Copy to clipboard
- Push the models and label files to your device. For more information, see [Download model and label files for TFLite from AI Hub](https://docs.qualcomm.com/doc/80-70015-50/topic/ai-ml-sample-applications.html#ai-ml-sample-applications__section_fsl_lgz_scc).

1. Subscriber:

        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. Publisher:

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

To stop a use case, press CTRL + C.

**Parent Topic:** [Qualcomm GStreamer plugins](https://docs.qualcomm.com/doc/80-70015-50/topic/qim-sdk-plugins.html)

Last Published: Oct 27, 2025

[Previous Topic
qtimldemux](https://docs.qualcomm.com/bundle/publicresource/80-70015-50/topics/qtimldemux.md) [Next Topic
Develop plugins](https://docs.qualcomm.com/bundle/publicresource/80-70015-50/topics/develop-plugins-for-sdk.md#develop-plugins-for-sdk)