Autonomous Coworking Space 🧑💻
Gianluca Rea / January 22, 2023
🖥️ Overview
The Autonomous CW Space repository is a project focused on developing an autonomous system for managing and controlling a collaborative workspace. This repository contains the code and resources needed to create a functional autonomous system using modern technologies. The goal of this repository is to document the development process and provide a practical example of building an autonomous system for workspace management.
🦾 Repository
See the code: Autonomous CW Space Repository
🛠️ Features
- Autonomous Workspace Management: A system designed to autonomously manage and control a collaborative workspace.
- Modern Technologies: Utilizes modern tools and frameworks to build a responsive and efficient autonomous system.
- Code Examples: Well-structured and commented code to help understand the implementation details.
- User Interface: A clean and intuitive user interface for managing workspace information.
- Backend Integration: Integration with a backend system to handle data storage and retrieval.
Project Description
This project consists in a set of containers running in Docker and automatically configured using the file docker-compose.yml. In the following the description of them:
-
MAPE-K-Loop / Managing System containers
- Monitor: The monitor has been realized using Telegraf. It gets the data from the MQTT Broker and store it in the knowledge (InfluxDB)
- Analyzer: The analyzer is a Java application and it is contained in the ./cwspace-analyzer/ subfolder.
- Planner: The planner is a Spring Boot Application and it is stored in the ./cwspace-planner/ subfolder in this repo.
- Planner: The planner is a Spring Boot Application to and it is stored in the ./cwspace-proactive-planner/ subfolder in this repo. On default this is commented in the docker-compose.yml file, if we want to use it instead of the default planner we can decomment this proactive service and commend the other one.
- Executor: This is a Java Application and it is stored under the path ./cwspace-executor/.
- Knowledge: The knowledge of the loop has been realized using InfluxDB (https://www.influxdata.com),
-
Managed System containers:
- cwspace-enviroment: A Nodejs application which simulate the enviroment of the office rooms.
- node-red: A NodeRed which simulate the sensors and actuators of the office rooms.
-
Other services containers
- grafana_container: A dashboard which allow us to graphically monitor the system and check if it is working properly.
- mosquitto_container: The Mosquitto MQTT Broker which manages all the MQTT messages exchanged in the system (almost all the components communicate through MQTT protocol).
More informations on the documentation in this repo (Documentation/Report.pdf) and to see the images and diagrams in detail you can check(Documentation/Images/) and (Documentation/Diagrams/).
🤝 Contributing
Contributions are welcome! If you're interested in adding new features, improving existing ones, or fixing issues, please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
. - Make your changes and commit them:
git commit -m 'Add new feature'
. - Push to the branch:
git push origin feature-name
. - Open a Pull Request.
Please ensure your code follows the existing style and includes appropriate documentation.
📧 Contact
For questions, feedback, or collaboration opportunities, feel free to reach out:
- LinkedIn: Gianluca Rea
- Email: gianlucarea.work@gmail.com
This repository reflects my passion for building autonomous systems and exploring modern technologies. I hope it serves as a useful resource for anyone interested in autonomous systems and workspace management.