Final Project
Overview
The final project for the semester is an independent design for an IoT system. I had intended that this be a team project, but given the realities of distance learning, that appears to be an unrealistic goal. The goal is simple – choose an IoT application (for example a sport stadium), and develop a system architecture including problem analysis, architecture, and (limited) prototyping – in the following I will describe each of these tasks.
1. Deliverables
The deliverables for this project are:
- A written design document describing the requirements, analysis, architecture, and any prototyping. A document of 10+ pages should be sufficient.
- A slide deck for a ten minute presentation (typically 8-10 slides)
The grading rubric (preliminary)
- Design : 75%
- Initial proposal: 10%
- Rough draft design document: 15%
- Final design document: 50% - Problem specification and requirements 20% - Analysis: 10% - Architecture and prototyping : 20:
- Presentation Slide deck: 25%
Due dates:
- Project Proposal: 4-21-20
- Rough Draft Design Document: 4-28-20
- Final Design Document: 5-5-20
- Presentation slides: 5-5-20
2. Choosing an Application
You may choose any appication that appeals to you – for example, dormatories or classroom buildings for a 5C college, a farm, or .. The only requirement is that the application should require a variety of types of sensors and (possibly) actuators, and should generate data with diverse types and rates.
3. Specifying the Problem
You should identify at least the following:
- System geography – how are the sensors/actuators distributed and how should they be organized (think, for example, mqtt topic strings)
- Sensor/Actuator types/quantities – how many sensors/actuators are there likely to be and what types of data are involved
- Data rates and any real-time requirements
- Data storage – what data should be stored, in what volume, over what time
- Data visualization – what are the data visualization/analysis needs ?
4. Analysis
You should do a comprehensive analysis of the hardware and software requirements including:
- Type and number of sensors
- Data transmission and storage requirements
- Networking (wired,wireless, types of wireless)
- Energy – how are the nodes powered ?
- Type and number of proxy servers, data servers
This isn’t intended to be a comprehensive list, rather it is intended to give you a sense of the type of system analysis needed to justify an architecture.
5. Architecture
- A architecture defining the system components, their interconnection, and the data messages
- A description of the major software components and their geographical distribution
- A definition of any visualization (control panels) and data storage
6. Prototyping (optional, but desirable)
Prototyping can range from a set of simulated flows/dashboards in node-red, to an example of a sensor node (using real or simulated sensor data). I hesitate to set any rigid requirements given the variation in working environments for the various students in the class.