This tutorial will create an internet of things server on your Raspberry Pi. This server will use Mosquitto MQTT, InfluxDB, Node-RED, Graphana in docker containers. We will use the helpful IoTStack tool which will configure our docker containers for us.
This tutorial will allow you to collect any kind of sensor data you like, send it over your network to this raspberry pi server and visualise it on a Grafana dashboard. This system consists of a series of sensor nodes that send sensor data in a JSON message over the network to a Raspberry Pi via MQTT. MQTT is a network protocol where a client pushes data to a broker, such as mosquitto, and the broker pushes that data to any client that has subscribed to that topic. A topic categorises the data that is sent. Any client that is subscribed to home slash sensor will be forwarded this MQTT message. NodeRED will subscribe to this topic, interpret the json message data and then send the data to a database to be stored and used. InfluxDB will store all the sensor data. Then a Graphana front end will query the database in order to display the data we want to see and do a whole host of other things.
The written version of this tutorial and the code used is available here: https://learnembeddedsystems.co.uk/easy-raspberry-pi-iot-server
See other Raspberry Pi Tutorials here: https://www.youtube.com/@LearnEmbeddedSystems