Final Project

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:

  1. A written design document describing the requirements, analysis, architecture, and any prototyping. A document of 10+ pages should be sufficient.
  2. 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.