What is an IoT Backend?
In our context, an IoT backend is a server that receives data from sensor nodes and stores it in a central database. It also sends parameter updates to the sensor nodes. This bidirectional communication can be implemented via MQTT, AMQP, Web Sockets, or any other publish-subscribe messaging protocols.
If you don't need parameter changes to be applied by the sensor nodes instantly, you could also use a standard REST API, where sensor nodes – which are not directly addressable in this case – regularly fetch the latest parameters from the backend.
Ivy supports two backends out of the box: Thingsboard (opens in a new tab) and Tenta (opens in a new tab). It uses the MQTT protocol to communicate with them. These backends are run as regular procedures – they run in a thread and are started by the mainloop on DAS startup.
You can take a look at src/backend/ to see how these two backends are implemented. We are happy to include additional backends in the Ivy template and, of course, list you as a contributor.
Take a look at the Configuration API Reference for all options to configure the communication with the backend.
