ECE434 Smart Mirror

Team Members: Mark Procter and Andy Barbour

Grading Template
I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

 00 Executive Summary 00 Installation Instructions 00 User Instructions 00 Highlights 00 Theory of Operation 00 Work Breakdown 00 Future Work 00 Conclusions 00 Demo 00 Late Comments: I'm looking forward to seeing this.

Score: 10/100

(Inline Comment)

Executive Summary
This project consists of a reflective pane of acrylic with a monitor behind it, creating a mirror that can display useful widgets like the date, the weather, and a daily fortune, among other things. It is a sleek device useful for quickly gathering daily information while, for instance, getting dressed or brushing teeth.

Packaging
All hardware components of this smart mirror are enclosed in a wooden frame that hides and protects the monitor, BeagleBone, and electrical wiring.

Installation Instructions
1. Install Debian [link and version number here]

2. Clone the repository using $git clone https://github.com/mprocter12/ECE434SmartMirror.git

3. Enter the repository and run the install file with $./install.sh

4. [info on how to make program run on start]

5. [info on Blynk]

User Instructions
[info on using Blynk]

Highlights
Here is where you brag about what your project can do.

Include a YouTube demo the audio description.

Theory of Operation
The customization of the appearance of the displayed widgets was done through InitialState, a tool used for collecting and displaying data fed to it. The raw InitialState page created for this project can be seen here. On the startup of the BeagleBone system, the main Python script will run. It will first open the customized HTML for the InitialState page that formats it properly, then simulate an F11 key press to enter full-screen. The program will then continually listen for button presses in the Blynk program to toggle the output to the HDMI port. Periodically, the Python script will retrieve information from various APIs to obtain the current data to display, then feed it to the InitialState dashboard, causing it to update.

Mark Procter

 * Integration of weather API

Future Work
Suggest addition things that could be done with this project.

Conclusions
Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.