Introduction
Working in groups of four, design, implement and document an Internet of Things application. Groups are free to specify their own application. Regardless of the chosen application, each project should have the following features:
- devices based on a low-power, constrained platform (e.g. the nRF52-DK that you will be provided with)
- sensing (or simulated sensing)
- actuation (or simulated actuation) or remote sensor configuration
- use of an embedded operating system (e.g. Zephyr)
- low-power communication (e.g. Bluetooth Low Energy)
- Internet connectivity (e.g. RFC7668 or through an application-level gateway or proxy) to a service that implements application logic
- use of a standardised application-level protocol (e.g. MQTT, CoAP)
Group Formation and Project Proposal
During the first two weeks of term, you should form a group of four students.
One member of the group must email the module lecturer on or before Wednesday 26 September 2018 providing - the names of the students in the proposed group and - two slides in PowerPoint format providing an overview of the proposed application
Any students not in a group by this date will be randomly assigned to groups. You may also request to be included in a random group before this date.
Once your group has been formed, you will be given access to yuor group's gitlab source code repository (see below).
During scheduled lecture sessions on 1 October and 3 October, each group will present a brief overview of their proposal to the class, providing an opportunity to solicit critical feedback and refine project proposals.
Source Code Management and Submission
Each member of your group will given access to a git repository that will be created for you as a project on the SCSS gitlab server (https://gitlab.scss.tcd.ie). You must use this repository to store and manage all source code related to your project. You are expected to commit code regularly throughout the term and this will be reflected in your individual marks awarded during the midpoint meeting and final presentation.
You do not need to take any action to submit your source code at the end of the project. It is assumed that the version you want to submit will be the HEAD of the master
branch in your repository immediately after 25 November 2018.
Hints
SourceTree by Atlassian is a free (for educational use) and easy-to-use graphical user interface for git that is available for Windows and MacOS.
https://www.atlassian.com/software/sourcetree
The Interactive Git Visualization is a useful, graphical git cheat sheet if you are new to git. Also look out for the linked escape a git mess, step by step!\
http://www.ndpsoftware.com/git-cheatsheet.html
Consider using a communication tool such as Slack for communication between group members. Your gitlab project can be configured to send notifications to your Slack team.
Mid-point Meeting
A mid-point meeting with your project group will be arranged to take place in the week of 5 November. The date and time for your group's presentation will be arranged in the preceeding weeks. During this meeting, each group member will be given an opportunity to contribute to the discussion about the project and this will form basis of the individual mark awarded for the mid-point meeting.
Presentation
Prepare a 15 minute presentation of your group's work, to include a functional demonstration of your application. The presentation should make reference to the context for the application, the design of your solution and its implementation.
The presentation will be delivered to the module lecturer during the week of 26 November 2018. The date and time for your group's presentation will be arranged in the preceeding weeks.
Technical Report
As a group, you should prepare a technical report describing the design and implementation of your application. The technical report should have a maximum length of six pages and should be formatted using the IEEE Computer Society double-column journal format. LaTeX and Word templates are available from the IEEE Computer Society website.
Your report should include the following:
- a description of your application, emphasising context and motivation,
- an overview of any similar or related applications,
- a detailed but high-level description of your design, including an outline of the behaviour of your "things", the communication architecture you have adopted and the behaviour of any services used to control your "things", store data or implement centralised application logic,
- a detailed description of the implementation of your design, including an overview of any technologies (e.g. embedded operating systems, communication protocols) you have used, and
- an indication of the performance of your system, derived from experimental results,
- a critical review of your solution with suggestions for future development
Your report must be submitted as a PDF document on Blackboard on or before 2 December 2018.