The system is made out of 2 components:
- The Server, running from a microcontroller such as a RPI, which helps us:
- Connect to the entire system via an HTTP/HTTPS connection.
- Retrieve the status of the connected coffee machines.
- Send commands to the machines.
- The Client, which is loaded on every single coffee machine, allowing us to:
- Make coffee (it controlls the different tools of the coffee machine).
- Get information about the coffee machine via an MQTT connection to the server.
- For the HTTP connection, we are using the
FastAPI
library. - For the MQTT connection, we use the
paho-mqtt
library. - For a DB system, we use MongoDB.
- For simulating an environment with a server and multiple clients, we used Docker.
- For unit and integration testing we used the python
unittest
library - For automated bug detection we used the Microsoft RESTler tool
- As an MQTT Broker we used an online free broker