VDA5050 Visualizer V2


Why is VDA5050 Visualizer Necessary?

Like many engineers who have previously developed a fleet manager, I was using MQTT Explorer. However, as practical and useful as this application is, it doesn’t solve all our problems in certain situations. The main reason for this is that MQTT Explorer is designed only to display instant and short messages.

After noticing these shortcomings, I developed the first version of VDA5050 Visualizer that runs entirely in a web browser. During this process, I took care to incorporate important features that I needed. For example:

State messages contain many different fields, and it’s much more practical to see them in separate tabs rather than searching for them individually (e.g., fields like actionStates). Therefore, I added a feature that allows state messages to be displayed in a more readable format.

Visualizing all robots together and displaying actions on the map makes understanding the data much clearer than reading JSON data.

Although the first version met many of these needs, there was a significant problem: To use this application, your MQTT broker needed to share data over WebSocket. The main reason for this was that modern web browsers don’t support the native MQTT protocol.

Transition to Electron for Native MQTT Support

To solve this problem, I did research last week and decided to convert the web application into a desktop application using Electron.

The first prototype only offered native MQTT support, but I wanted the browser-based VDA5050 Visualizer to continue working as well. Therefore, instead of developing two different versions, I decided to build a structure that supports both protocols within a single application.

Along with this, I added several new features to make the project even more useful.

New Features

WebSocket and Native MQTT Support:

  • Now both WebSocket-based MQTT and native MQTT are supported.
  • In the browser version, only WebSocket MQTT is active, while in the desktop application, both protocols can be selected.

Robot History:

  • A history section has been added for each robot, where the last 5 messages can be viewed.
  • Robots have been made pageable and a search feature has been added.
  • Now when you want to focus on a single robot, you won’t have to go through the entire list.

Order Status Tracking:

  • Normally, to understand the progress of an order, you had to manually check how many nodes were completed.
  • Now, thanks to the progress bar, the status of an order can be visually tracked.

Message Copying:

  • JSON messages can be copied with a single click.

VDA5050 Versions Can Be Monitored Together:

  • V1 and V2 versions can be viewed simultaneously.

And perhaps a few more small additional features I might have forgotten to mention here…

Would You Like to Contribute?

The application needs to be compiled for different operating systems. I can provide builds for Ubuntu and MacOS (ARM).

If you would like to compile for other operating systems or contribute to the project, you can reach me via LinkedIn or email.