ECE 448/528

Project 7: Advanced Application Features

高级应用程序代写 In this project, we are going to explore a few options to greatly enhance our IoT hub application.You need to choose one option among…

1 Overview

In this project, we are going to explore a few options to greatly enhance our IoT hub application.

You need to choose one option among the ones presented in the next section. While a lot of things could be done, you are required to consider the approaching project deadline to limit the requirements to two user stories that you need to write by yourself.

You will need to design two testing procedures and to provide demonstrations.

2 Options for Advanced Features 高级应用程序代写

2.1 Amazon Echo Integration

Want to control your plugs via voice commands? A good idea is to integrate either our IoT simulator or our IoT hub server backend with Amazon Echo. Please refer to the page https://github.com/makermusings/fauxmo for technical details. Note that to choose this option you’ll need to have an Amazon Echo at hand, or be willing to purchase one.

2.2 Secure MQTT Communication via TLS

Anyone can access the MQTT broker to control your plugs and to check if lights are on or not. That’s not safe and a solution is to protect the communication by TLS. Please refer to the page http://www.steves-internet-guide.com/mosquitto-tls/ for technical details.

2.3 Persistence 高级应用程序代写

While you may spend a lot of time to create groups and to assign members, all are lost if the server backend restarts. You’ll need to fifind a way to persist the groups as well as the members to the disk so that when the backend restarts, they can be recovered.

It is up to you to use a database or not.

高级应用程序代写
高级应用程序代写

2.4 Data Visualization

Our IoT simulator reports power readings every second. While our application will display the power readings at the current moment, it will be a better idea to show a waveform of recent readings. Both the server backend and the web frontend need to be updated to support such data visualization requirements.

3 Deliverables and Grading 高级应用程序代写

Please push your code to the Git repository before the deadline. Although there is no auto-grading for Project 7, our TA will check your code to evaluate its quality and will run your code to verify your demonstrations.

Please submit a project report to Blackboard before the deadline. This report should fifirst discuss your choice and your design brieflfly, and then present two user stories and two testing procedures. Any necessary system setups and confifigurations should also be included. Similar to Project 6, submit the demonstration video to Blackboard together with the report, or include screenshots in your report and explain how they follow the test procedures.

The 100 points project grade will be evaluated using the following criteria:

Properly formatted source code (10 points): with indentation and reasonable line width.

Reasonable implementation (10 points): meaningful names and purposes for variables, methods, and classes.

Project report (20 points): explanation of your choice and your design, instructions for system setups and confifigurations as needed.

  • User stories (20 points): 10 point for each meaningful user story for your choice of option.
  • Testing procedures (20 points): 10 point for each testing procedure that correctly addresses one user story.
  • Demonstrations (20 points): 10 point for each successful demonstration of one testing procedure that can be verifified by the TA using the code you have pushed to the Git repository.