To sharpen my Rust skills for embedded systems, I embarked on creating a project that uses Discord (and soon MQTT) to receive commands for network tasks. Users can monitor devices, perform network scans, execute pings, send WOL packets and get alerts when applications running on edge devices fail.
Mosquitto, one of the widely used MQTT brokers, offers robust user authentication through username and password combinations. However, creating password files using the official terminal tool ‘mosquitto_passwd’ can be a challenging task. To address this issue, I have developed an online tool that simplifies this process, making it more accessible and user-friendly.
Use your web browser to connect to an MQTT broker and create alerts based on the messages that you receive. It is also possible to connect to a serial device and send commands (e.g., make an LED blink) based on the alerts that you created. Another feature is the ability to receive messages from a serial device and publish these messages to a specific topic with the help of a JavaScript decoder.
Let’s assume that we have a lot of sensors publishing structured data to an MQTT broker and we want to store this data in a database. A simple way to do that is to use Telegraf (tool from InfluxData) to consume and process the data and store it in an InfluxDB database. In this tutorial, I will explain how to prepare this setup using docker-compose.