> For the complete documentation index, see [llms.txt](https://docs.incari.com/incari-studio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.incari.com/incari-studio/toolbox/communication/mqtt.md).

# MQTT

## Introduction

The **MQTT Nodes** provide a means for the user to perform several actions within the *MQTT* messaging protocol. *MQTT*, or *Message Queuing Telemetry Transport*, allows the communication among devices and is commonly used in *IoT* applications. To use the **MQTT Nodes** in **Incari**, the user needs to locate the [**MQTT Attributes**](/incari-studio/modules/project-settings/mqtt.md) in **Project Settings** and add a `Connection`.

## MQTT Guideline

These are the guidelines for incorporating **MQTT Communication** into a **Project** to form an **MQTT** *Client*. It is important to note that an *MQTT* server, either local or remote, has to be already running for **Incari** to connect to it.

* To properly start a connection, see the [**General Guideline**](/incari-studio/toolbox/communication.md#general-guideline) on the Communications Introduction page.
* Once the connection has been established, there are several **Nodes** that cover important functions of **MQTT Communication**.
  * [**On MQTT Topic**](/incari-studio/toolbox/communication/mqtt/events/onmqtttopic.md) executes when an **MQTT** *Message* (for one of the specified **Topics**) is received.
  * [**MQTT Publish**](/incari-studio/toolbox/communication/mqtt/mqttpublish.md) sends an **MQTT Message**.
  * [**MQTT Subscribe**](/incari-studio/toolbox/communication/mqtt/mqttsubscribe.md) starts listening for an **MQTT Topic**.
* To properly stop a connection, see the [**General Guideline**](/incari-studio/toolbox/communication.md#general-guideline) on the Communications Introduction page.

## Contents

* [**Events**](/incari-studio/toolbox/communication/mqtt/events.md)
  * [**On MQTT Start**](/incari-studio/toolbox/communication/mqtt/events/onmqttstart.md)
  * [**On MQTT Stop**](/incari-studio/toolbox/communication/mqtt/events/onmqttstop.md)
  * [**On MQTT Topic**](/incari-studio/toolbox/communication/mqtt/events/onmqtttopic.md)
* [**MQTT Publish**](/incari-studio/toolbox/communication/mqtt/mqttpublish.md)
* [**MQTT Start**](/incari-studio/toolbox/communication/mqtt/mqttstart.md)
* [**MQTT Stop**](/incari-studio/toolbox/communication/mqtt/mqttstop.md)
* [**MQTT Subscribe**](/incari-studio/toolbox/communication/mqtt/mqttsubscribe.md)

## External Links

* [*More information on MQTT*](https://en.wikipedia.org/wiki/MQTT) on Wikipedia.
* [*An in-depth explanation and tutorials*](https://mqtt.org/) on MQTT.
* [*An in-depth explanation of Topics*](http://www.steves-internet-guide.com/understanding-mqtt-topics/#:~:text=%20Understanding%20MQTT%20Topics%20%201%20The%20%24SYS,publish%20to%20an%20individual%20topic.%20That...%20More%20)
