MQTT stands for MQ Telemetry Transport; it's an extremely simple and lightweight publish-subscribe messaging protocol. It was designed for constrained devices and low-bandwidth, high-latency or unreliable networks.
TagoIO has its own MQTT broker that is responsible for pushing data to clients in case something new is published in the specific topics they are subscribed to. For example, you can build a system where a sensor sends temperature data to a topic whenever it gets an update. Here, you'd have devices that would like to be notified when this data arrives, so they'd subscribe to this topic. When the data is ready, the temperature sensor publishes the data in that topic, and the broker is responsible for pushing it to all devices that subscribed to the same topic.
It's possible to combine MQTT with TagoIO’s amazing capabilities to also create dashboards, analytics, notifications, and reports.
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 as encrypted directly to your Analysis, decrypt it there, and then insert the data into your Bucket. You can use this procedure to increase your security if your data is sensitive, or if you simply want to add an extra layer of security.
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 the device, or if it's deleted, it'll be disconnected from the MQTT broker.
When you first send data through the MQTT to your device, you'll be able to visualize the connection and message through the Live Inspector on your device.
Those messages mean the connection is working, but nothing is being stored in your bucket yet. From this point, you'll need to create an Action with trigger MQTT and type Insert to Device Bucket.
Now you should see the data being stored in the Live Inspector.
In this case, the variable is "payload" and it has a value of "22". 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.
To do that, check out our documentation on how to use a Payload Parser.
Here's a list of some additional documentation on MQTT resources: