18 October, 2018

Smart and friendly MQTT client tool for debugging and testing [UPD: Apr 1, 2019]

A simple and intuitive MQTT client tool to connect to various MQTT brokers, subscribe to topics and publish messages.

MQTT protocol is gaining popularity offering its proponents a bunch of advantages over traditional HTTP. With that comes the need to provide the tools for testing various MQTT implementations, checking message content, exploring available properties, etc. Seeing MQTT as a promising communication technology, we present MQTT Board — a handy and minimalistic playground for MQTT connections. 

What’s special about MQTT Board?

  • Connect to any MQTT broker — manage connections to multiple MQTT brokers on a single dashboard.

  • MQTT 5.0 protocol supported — test the features of the latest MQTT 5.0 standard before implementing them in your projects.

  • Quick start — most fields are prepopulated, so you can connect in a few mouse clicks.

  • Open-sourcefork the MQTT Board project on GitHub and customize to your needs.

  • Smart functions — remembers connection config when you leave it, saves message history for connections, operates several connections in parallel.

How do I start using MQTT Board?

Easy. Open https://mqttboard.flespi.io 

or

go to the flespi panel, unfold the MQTT section, and pick MQTT Board:

mqtt board from flespi panel

Note: if you run MQTT Board from the flespi panel, it will open in the Utils window and the connection to the flespi MQTT broker over MQTT 5.0 will automatically be created for your current token.

To add a new connection click on the blue “+” button at the top right corner. The following dialog will pop up:

mqtt board connection settings

Here you change all basic connection parameters (host, keep alive, MQTT version) as well as more specific settings (session expiry interval, maximum packet size, topic alias maximum, and more, most of which are available in MQTT 5.0 only). 

mqtt board properties

You can also configure the will message parameters to customize what message will be sent to subscribers upon unexpected client disconnect. The will message is a standard MQTT message with a topic, payload, QoS, retain flag and other settings:

mqtt board will properties

Once you click Save, you get the new MQTT connection added to the dashboard where you can stop (stop all publishers and unsubscribe all subscribers), reconfigure or delete it:

mqtt board connections

Click on the connection card to start the actual pub/sub activity. Publish messages to a topic of your choice with the needed QoS. Subscribe to topics and see the messages arriving in real time:

mqtt client tool publish subscribe

You can add more publishers and subscribers to your connection using the buttons in the top right corner. 

The flespi subscriber button allows subscribing to publicly available flespi platform topics (for connections to the flespi MQTT broker only):

mqtt board flespi subscriber

Tree view

In some situations, it may be more convenient to see the topic structure in the hierarchical way. We've added a Tree view to cater to these needs. You will see the History/Tree subscription mode switch right under the topic field in the Subscriber pane:

mqtt board tree view switch

Note that you can also specify the field to group by to do custom grouping by a specific user properties field.

mqtt board tree view

Browser security limitation

Due to the browsers security policy, only WebSockets over SSL (wss://) connections can be created. Browsers will not allow non-secure WebSockets (ws://) connections. 

Troubleshooting

If you notice recurring reconnects for your MQTT connections, make sure you do not have MQTT Board opened in several browser tabs simultaneously.

***

MQTT board is extremely easy to use, so it appeals to MQTT newbies. On the flip side, it is packed with options and settings, so it fits experienced developers. MQTT Board is available from the browser, from flespi Toolbox, and as a component to embed in your apps to be handy regardless of your needs. Also feel free to fork the GitHib project and tune it to your tasks. Pick your way of using it and welcome on Board.