Skip to main content

MQTT Overview

Important notice

warning

TagoIO MQTT Broker is available exclusively for Starter and Scale accounts in the US database region. European (EU) database region accounts cannot access this service due to new security requirements, but they may use third‑party MQTT services with TagoIO via the MQTT Relay feature. Free accounts can access MQTT functionality through the MQTT Relay as well.

For EU accounts, a public MQTT broker without SLA guarantees is planned for the future. The main purpose of that broker will be proof‑of‑concept testing.

Overview

MQTT stands for MQ Telemetry Transport. It is an extremely simple and lightweight publish–subscribe messaging protocol designed for constrained devices and for use over low‑bandwidth, high‑latency, or unreliable networks.

Data flow (example)

MQTT data flow diagram: Device #1 publishes temperature to TagoIO Broker; Devices #2 and #3 subscribe to the temperature topic and receive published values.

Caption: Device #1 publishes a payload (for example, "21") to the topic "temperature" on the TagoIO Broker. Devices #2 and #3 subscribe to the same topic and receive the published payloads.

TagoIO’s MQTT broker is responsible for pushing data to clients whenever new information is published on the specific topics they are subscribed to. Unlike a full‑featured MQTT implementation, it focuses mainly on ingesting sensor data into our data buckets, so some standard features such as the native Retain flag are not supported. A workaround that achieves similar functionality can be found in the article MQTT Retain on TagoIO Broker.

For example, a temperature sensor might publish a new value to the topic temperature each time it receives an update. Devices that need to react to these updates subscribe to that topic; when the sensor publishes, the broker forwards the payload to all subscribed clients.

Image 2: MQTT flow diagram

Connection

To connect to our broker, use the following details. Note that there is a limit on the number of connections, publications, and subscriptions you can make, enforced based on your account plan. For more information, read about Rate Limits (Hard Limits).

Host: mqtt.tago.io
TCP/IP port: 1883
TCP/IP port over SSL: 8883
Username: Token
Password: Your Device‑Token

If the Device‑token is removed from a device, or if it is deleted, that device will be disconnected from the MQTT broker.

Security

Encryption across the network can be handled with SSL independently of the MQTT protocol itself. Additional security can also be added through application‑encrypted data that is sent and received. At TagoIO you can send your data encrypted directly to Analysis, decrypt it there, and then insert the data into your Bucket. This procedure can increase security if your data is sensitive or if you simply want an extra layer of protection.

Data flow at TagoIO

When you first send data through MQTT to your device, you’ll be able to visualize the connection and message through the Live Inspector on your device. Those messages indicate that the connection is working, but nothing is being stored in your bucket yet.

From this point, you need to create an Action with trigger MQTT and type Insert to Device Bucket. Once configured, you should see the data being stored in the Live Inspector.

If you don’t send the data using the TagoIO data format, you’ll need to normalize your data and change it to the correct format. Check out our documentation on how to use a Payload Parser.

More Resources

Here are some additional documentation links on MQTT resources: