Motivation
Every academic year, students attending this course have the opportunity to implement a real-world application. This year, students will implement a Smart Waste Bin. In particular, students will have to place a motion sensor in a waste bin using a Raspberry Pi. Middleware-layer platforms will be used to collect the data, process the data and finally visualize them. Context-aware data modeling techniques will be leveraged to introduce advanced data processing for implementing additional functionalities to the Smart Waste Bin. Finally, containerization techniques will be applied to deliver a portable and scalable Smart Waste Bin.
- Each project team should consist of 2 members
- A project report must be delivered at the end of the semester
- Each project team will have to present their project at the end of the semester
Project Description
This project runs in parallel with the labs throughout the semester. It is not a separate task to be completed near the midterm presentation or at the end of the course. Instead, each lab will introduce new tools, concepts, and implementation practices that directly support the next project milestone. At the end of each lab, the teaching team will announce the next project milestone/goal, which your team is expected to implement before the next stage.
In practical terms, this means that after each lab, your team will be expected to add a new capability to your project (e.g., sensor integration, improved data acquisition, messaging, APIs, processing, automation, visualization, etc.). The labs are designed to provide the technical foundation, guidance, and examples you need in order to implement the project incrementally and correctly.
Important expectations:
- Do not leave project development for the midterm or final weeks.
- Make steady progress throughout the semester.
- Integrate each lab’s knowledge into your project as you go.
The project will be evaluated as a complete system, with emphasis on: correctness, integration, reproducibility, and overall engineering quality. Teams are expected to maintain their project in their GitHub repository throughout the semester, with regular commits that reflect weekly progress.
By the end of the course, each team should have a working Smart Waste Bin system that combines:
- edge programming on Raspberry Pi,
- sensor integration and data acquisition,
- middleware-based communication,
- data processing and virtual sensors,
- APIs and system integration,
- automation platform integration,
- visualization/dashboarding,
- and reproducible deployment.
Project Milestones
More detailed project milestones/goals and required functionalities will be announced progressively, in alignment with the lab sequence.
- Milestone 1 (Lab 01): Establish your team’s project foundation (GitHub repository, project structure, initial documentation, and reproducible development workflow).
Guidelines for project report
- Should be structured as follows:
- Introduction: key objective of the project
- Approach: architecture of the developed system
- Conclusions: conclusions and possible extensions to this project
- 4-5 pages of text (suggested size 10-11 pt., single-spaced, 1-inch margins)
- Should be submitted via eclass
Presentations Schedule
| Time | Actibity | Group |
|---|
Protocol for project presentations
- Your demo will consist of a short presentation of your project and ~10 minutes of you demonstrating your system in action. This can take the form of showing us your application, a working front end for your system, a live demo of your devices in action, or perhaps something as simple as an easy-to-read logging print-out of your system’s functionality.
- We will then ask you several questions about how you designed and implemented your project. This includes showing us the code you wrote and how you partitioned the work among your group members, all of whom must be present during the demo. Your answers are expected to demonstrate that you fully understand the concept you chose to put significant effort into the design and implementation.
Guidelines for project slides
- Each project slides should be about 7-8 slides and it should have at least 1-2 slides for each of the following:
- Proposed project & Objectives
- System Architecture
- Conclusion & possible extensions
- Should be submitted via eclass