# 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 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 (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 = password = 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= 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= 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= 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= 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= 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/.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)