Node red then manipulates the raw byte data, scales it according the the required values, and re-publishes it on a seperate broker, and also simultainiously publishes it via HTTP request to....
InfluxDB V2 is used to store the data for long term analysis / futre playback.
Grafana is used for the web-based realtime visualisation, using the Grafana MQTT live datasource plugin. (we subscribe to the republished MQTT streams
Sidenote - this is a bit of a pain to install, and requires way more build tools than I expected!
Game Engine
I am using Godot, a capable 3D engine, to subscribe to the same MQTT topics, and visualise.
For future reference, Plugins used in this demo video include.
Graph 2D is an addon able to display plots in your user interface in a very simple way
Graph2D add-on for Godot 4.x
Graph 2D is an addon able to display plots in your user interface in a very simple way.
This repository contains the add-on and examples.
Features
Display several plots on the same graph.
Supports curve thickness and color.
Customizable chart axes (axis label and grid).
Real-time plotting.
Works with all renderers.
Works on desktop platforms and HTML5 (others target were not tested).
Documentation included with the plugin.
Usage
Single plot
Add a Graph2D node as a child of the root node. Adapt its size to the control.
Create a new plot using the method Graph2D.add_plot_item() from your script. The arguments are in order the name of the plot, its color and finally the thickness of the line.
Note: This method will return an Graph2D.PlotItem object which will then be used to reference the plot and update its points.
Godot addon which implements the MQTT client protocol
MQTT
Godot 4 addon - to implement MQTT
Installation
Clone the repo and copy the addons/mqtt folder into your project's addons folder
(or use the AssetLib to install when
Applications
MQTT is probably the simplest known networking protocol you can use
to communicate between systems, which is why it is often used by
low power IoT (Internet of Things) devices.
In spite of its simplicity, MQTT is extremely flexible and has the
advantage of being standardized enough that you don't need to write
your own server-side software. You can often get by with "borrowing " the use of a public server on the internet (see test.mosquitto.org).
Uses for MQTT in Godot are chat rooms, receiving and sending messages to physical devices, high score tables, remote monitoring of runtime metrics (eg framerate) of an alpha release for quality control, and as a
signalling server
for the powerful WebRTC peer-to-peer networking…