SlideShare a Scribd company logo
1 of 11
Download to read offline
CSS 498, Summer 2016
Jessica Nguyen, Jonathan Velazquez, Jabari Barton, Burhan Nurdin
The Smart Mirror
Project Report
By H[app]iness Development
To be reviewed by Jeff Kim
Table Of Contents
I. Overview
II. Equipment
III. APIs Used
IV. Changes
V. Struggles
VI. Contribution Log
VII. Final Product
VIII. Take-Aways
IX. Price Breakdown
2
...................................................3
..............................................3
...............................................4
.................................................4
................................................5
................................6
.......................................7
......................................7
...............................9
The purpose of this independent study project was for us to learn
about and experience creating deliverable software products, and
being able to create and integrate hardware with a user interface. Our
team learned how to pull information from an RSS feed (for UWB
calendar events) and various APIs using JSON Objects (for weather,
bus schedule, traffic conditions/incidents) that is displayed on a LCD
screen. GPIO motion sensors are used to “swipe” between different
modules.
We used a Raspberry Pi 3 to power our product. The small, portable
design of the Pi is perfect for our purpose since we are building a slim
casing for the mirror frame. It is also an affordable and powerful tool.
We are using two Ultrasonic Module Distance GPIO Sensors to
navigate between modules in our program. These work much better
because they measure at what distance the interruption (activator)
happens. This way, we can say any interruptions within 1 inch of the
sensor will trigger the right or left sliding module (depending on which
sensor was triggered.)
For the main piece of hardware, we are using an LCD TV monitor. We
are the using an HDMI out on the Raspberry Pi to display it our
software GUI. With all the unforeseen circumstances, we have decided
to make this a display and not include the mirror-like film on the
display just yet. After adding all of the other modules, the mirror film
makes a lot of the information hard to read on the display and we
would rather have more functionality than the originally intended
aesthetic. See pictures of all equipment on pages 10-11.
I. Overview
II. Equipment
3
Here is a list of APIs that we are pulling information from:
III. APIs Used
4
UWB Trumba events calendar RSS feed
Wunderground Weather API
Google Maps API
OneBusAway API
The changes we made to the project from what we completed last
quarter include both software and hardware changes. We changed
the overall basis of the GUI and optimized it with a different API. In
the beginning, we were using the JPanel API to display onto the
screen but after experimentation with different APIs we later
changed to JavaFX due to its simpler format and cleaner output. We
also added the other modules that we had originally outlined in our
wireframe. This includes the traffic information, using the Google
Maps API, which displays the congested traffic areas/incidents
(such as car accidents and construction routes) near campus. This
page also shows a longer, written list of hazards to avoid on the
roadways. Another added module is the bus schedule which shows
when each bus is supposed to arrive on campus. The final module
that we added this quarter is the school events page. This page
displays a list of upcoming events on UWB’s campus, taken from
the UWB Trumba calendar RSS feed.
As for hardware, we added three more sensors, for a total of four,
for switching between different modules: Go left, go right, scroll up,
scroll down.
IV. Changes
V. Struggles
5
Our team faced many challenges during the duration of this project.
The hardware aspect of this project was the most difficult challenge
we faced, by far. None of our group members were very experienced
with dealing with hardware, so we had to turn our attention to other
sources online to help us. Learning how to hook up the sensors
properly with the breadboard and connect them properly back to
the Raspberry Pi was a feat that, although successful, resulted in
several pieces of broken equipment.
Another issue we had was dealing with the new API that we decided
to use, JavaFX. Although the implementation was much simpler than
the other API’s we researched and experimented with, learning how
to use JavaFX was still problematic in the beginning. Eventually we
all learned how to utilize its basic functions and other more
advanced functions in order to use the API for our needs.
It may sound very cliché but one of the biggest struggles we had to
face was ourselves. Getting everyone together in the summer after
a long, hard school year required a lot of effort. In addition, we all
were attending other summer classes and wanted to focus more on
those. In the end, we got together and put many hours into the
project week after week until it came to its fruition.
Here is a list of all parts of the project that each group
member has contributed to.
VI. Contribution Log
6
Through our struggles, the final product turned out very well. The
product displays the current date, the 7 day weather forecast for
Bothell, traffic status in the Bothell area along with road hazards, bus
schedule, and UWB’s own upcoming school events. Users are able to
swipe left or right and scroll up or down by activating the motion
sensors on the sides of the screen.
There are a few touch ups that are necessary to complete before the
project will be completely done in our eyes. The first task we will do
is mounting the sensors in their appropriate locations along the edge
of the LCD screen so users are able to move to the next or previous
page and scroll up or down. We also will need to add the reflective
glass screen to the LCD TV to actually make it a mirror. Lastly, we
need to fix small bugs and other usability issues in the software. We
plan on having our project on display in the ARC building on campus
for
students to take advantage of its features. We are glad that we can
be a part of something that makes our campus a little bit better.
VII. Final Product
This project took much more time to complete than we anticipated,
and it was definitely a lot more difficult than we had first thought.
There was a lot of research we did to help us succeed in the
progression of this project. We learned a lot during this time, and will
continue to do so.
Though the CSSE coursework at UWB has given us a lot of the
foundation and basics that we needed to tackle this project, there was
much more that we took upon ourselves to learn outside the
classroom.
VIII. Take-Aways
7
The take-aways do not differentiate very much from the previous
quarter because we were mainly expanding on the skills that we
learned last quarter with this project. The biggest things that we
have learned during the entire independent study project include
the following:
All of these skills are valuable with real-world applicability and will
definitely apply to all of our future careers. We are proud of what
we have been able to accomplish this quarter and are even more
excited to see what we can accomplish next quarter.
Learning how to use JavaFX library
Learning / programming Python
Troubleshooting Raspberry Pi
Software compatibility with different JDKs, versions of
Python, and various Python packages
Persistence under harsh conditions
Pulling from APIs and using JSON, GSON, and RSS
Implementing runnable threads in Python
Creating a GUI that we can deploy our product with
Learning how circuit boards work
Connecting hardware pieces to our circuit boards
Writing interactive code that will read the input information from
the hardware
How to collaborate on code remotely using version control soft-
ware (Git / GitHub)
How to work effectively in a team in terms of timeline, splitting
up and delegating tasks, scheduling to fit everybody’s needs,
maintaining mutual levels of motivation and work ethic, and
common understanding of goals.
8
Pyroelectric Infrared Motion Sensors
Source: Amazon.com
Price: $4.95
Use: To listen for the motion gestures of the user and to
trigger the navigation between modules.
CanaKit Raspberry Pi 3 Starter Kit - 32 GB Edition
Includes:
Source: Amazon.com
Price: $89.99
Use: To power the Smart Mirror and to run the program(s) that
we write to create the GUI, manage the modules’ functionality, retrieve and display
information, and to keep the mirror running continuously.
Raspberry Pi 3 (1.2 GHz, 1 GB RAM)
On-board WiFi
On-board Bluetooth
32 GB Micro SD Card (Class 10)
CanaKit 2.5A Power Supply
5ft Micro USB Cable
Noise Filter
Raspberry Pi 3 Case
6.5ft HDMI Cable
Heat Sink
CanaKit GPIO to Breadboard
Interface Board
Ribbon Cable
Large Breadboard
Jumper Wires
8 x LEDs (Blue/Red/Yellow/Green)
15 x Resistors
2 x Push Button Switches
Includes:
5 x PIR Sensors
9
One-Way Mirror Film
Source: Amazon.com
Price: $9.99
Use: Turn the glass of the TV monitor into a
reflective mirror surface.
Infrared LED Bulbs
Source: Amazon.com
Price: $9.99
Use: To test our circuit connections on the RPi3, so
we know if we are correctly connecting our wires and
parts.
Ultrasonic Module Distance
Sensors
Source: Amazon.com
Price: $49.99
Use: To listen for the motion gestures of the user
and to trigger the navigation between modules more
accurately than the PIR sensors.
37” Vizio LCD TV
Source: Craigslist Seattle
Price: $50.00
Use: To act as a display for the Smart Mirror.
Includes:
TV w/ Power
Supply Cord
Includes:
7 x UMD Sensors
Includes:
50 x LED Bulbs
Includes:
12in x 24in Roll
of One-Way
Extra Dark
Mirror Film
10
Thank you for your time.
Contact the team at:
happdevuwb@gmail.com
Jessica Nguyen
Jonathan Velazquez
Burhan Nurdin
Jabari Barton
jessica@happdev.com
jonathan@happdev.com
burhan@happdev.com
jabari@happdev.com
Contact us individually at:
OR

More Related Content

What's hot

Implementation of automatic railway platform
Implementation of automatic railway platformImplementation of automatic railway platform
Implementation of automatic railway platformjeevansaral
 
Summer Training Program Report On Embedded system and robot
Summer Training Program Report On Embedded system and robot Summer Training Program Report On Embedded system and robot
Summer Training Program Report On Embedded system and robot Arcanjo Salazaku
 
seminar report on smart glasses
seminar report on smart glasses seminar report on smart glasses
seminar report on smart glasses Nipun Agrawal
 
Wireless charging abstract
Wireless charging abstractWireless charging abstract
Wireless charging abstractShaik Hussain
 
3D Holographic Projection Technology
3D Holographic Projection Technology3D Holographic Projection Technology
3D Holographic Projection TechnologyShahid Shihabudeen
 
Holographic Projection Technology COMPLETE DETAILS NEW PPT
Holographic Projection Technology COMPLETE DETAILS NEW PPTHolographic Projection Technology COMPLETE DETAILS NEW PPT
Holographic Projection Technology COMPLETE DETAILS NEW PPT Abin Baby
 
Voice and touchscreen operated wheelchair ppt
Voice and touchscreen operated wheelchair pptVoice and touchscreen operated wheelchair ppt
Voice and touchscreen operated wheelchair pptSyed Saleem Ahmed
 
VOICE OPERATED WHEELCHAIR
VOICE OPERATED WHEELCHAIRVOICE OPERATED WHEELCHAIR
VOICE OPERATED WHEELCHAIRMandar Jadhav
 
Android controlled robot
Android controlled robotAndroid controlled robot
Android controlled robotSatyendra Gupta
 

What's hot (20)

3D-TV-PPT
3D-TV-PPT3D-TV-PPT
3D-TV-PPT
 
Implementation of automatic railway platform
Implementation of automatic railway platformImplementation of automatic railway platform
Implementation of automatic railway platform
 
Summer Training Program Report On Embedded system and robot
Summer Training Program Report On Embedded system and robot Summer Training Program Report On Embedded system and robot
Summer Training Program Report On Embedded system and robot
 
Pill Camera
Pill CameraPill Camera
Pill Camera
 
Pill camera documentation
Pill camera documentationPill camera documentation
Pill camera documentation
 
seminar report on smart glasses
seminar report on smart glasses seminar report on smart glasses
seminar report on smart glasses
 
Solar tracking system final report GTU
Solar tracking system final report GTU Solar tracking system final report GTU
Solar tracking system final report GTU
 
smart glasses
smart glassessmart glasses
smart glasses
 
Wireless charging abstract
Wireless charging abstractWireless charging abstract
Wireless charging abstract
 
3D Holographic Projection Technology
3D Holographic Projection Technology3D Holographic Projection Technology
3D Holographic Projection Technology
 
Holographic Projection Technology COMPLETE DETAILS NEW PPT
Holographic Projection Technology COMPLETE DETAILS NEW PPTHolographic Projection Technology COMPLETE DETAILS NEW PPT
Holographic Projection Technology COMPLETE DETAILS NEW PPT
 
Virtual reality report
Virtual reality reportVirtual reality report
Virtual reality report
 
Solar tracking system
Solar tracking systemSolar tracking system
Solar tracking system
 
Voice and touchscreen operated wheelchair ppt
Voice and touchscreen operated wheelchair pptVoice and touchscreen operated wheelchair ppt
Voice and touchscreen operated wheelchair ppt
 
Pill camera
Pill cameraPill camera
Pill camera
 
Capsule camera
Capsule cameraCapsule camera
Capsule camera
 
2015 wearable technology
2015 wearable technology2015 wearable technology
2015 wearable technology
 
VOICE OPERATED WHEELCHAIR
VOICE OPERATED WHEELCHAIRVOICE OPERATED WHEELCHAIR
VOICE OPERATED WHEELCHAIR
 
Smart Glass
Smart GlassSmart Glass
Smart Glass
 
Android controlled robot
Android controlled robotAndroid controlled robot
Android controlled robot
 

Viewers also liked

Smart Mirror Conceptualized - Copyright 09-11-2013
Smart Mirror Conceptualized - Copyright 09-11-2013Smart Mirror Conceptualized - Copyright 09-11-2013
Smart Mirror Conceptualized - Copyright 09-11-2013Glynn Spangenberg
 
Smart Mirrors Technologies and Markets, 2015-2022
Smart Mirrors Technologies and Markets, 2015-2022Smart Mirrors Technologies and Markets, 2015-2022
Smart Mirrors Technologies and Markets, 2015-2022n-tech Research
 
LABARDO Profile (V3.4-2016)
LABARDO Profile (V3.4-2016)LABARDO Profile (V3.4-2016)
LABARDO Profile (V3.4-2016)Theo Hudayanto
 
Presentación curso computacion
Presentación curso computacionPresentación curso computacion
Presentación curso computacionVeronica Ratti
 
Lactancia materna en el prematuro
Lactancia materna en el prematuro Lactancia materna en el prematuro
Lactancia materna en el prematuro jessnavaipn
 
Introducción a la computación
Introducción a la computación Introducción a la computación
Introducción a la computación Adriana Vargas
 
قانون البناء الموحد
قانون البناء الموحدقانون البناء الموحد
قانون البناء الموحدahmed elsaid
 
Proyecto emisora escolar
Proyecto emisora escolarProyecto emisora escolar
Proyecto emisora escolardayanaguti11
 
Políticas educativas internacionales
Políticas educativas internacionalesPolíticas educativas internacionales
Políticas educativas internacionaleserihk
 
Políticas educativas internacionales
Políticas educativas internacionalesPolíticas educativas internacionales
Políticas educativas internacionaleserihk
 
Graphics and copyright
Graphics and copyrightGraphics and copyright
Graphics and copyrightLiam Downey
 

Viewers also liked (18)

Smart Mirror Conceptualized - Copyright 09-11-2013
Smart Mirror Conceptualized - Copyright 09-11-2013Smart Mirror Conceptualized - Copyright 09-11-2013
Smart Mirror Conceptualized - Copyright 09-11-2013
 
Smart Mirrors Technologies and Markets, 2015-2022
Smart Mirrors Technologies and Markets, 2015-2022Smart Mirrors Technologies and Markets, 2015-2022
Smart Mirrors Technologies and Markets, 2015-2022
 
Magic Mirror
Magic MirrorMagic Mirror
Magic Mirror
 
Smart Mirror for Digital Signage
Smart Mirror for Digital SignageSmart Mirror for Digital Signage
Smart Mirror for Digital Signage
 
Dress Yo'self
Dress Yo'self Dress Yo'self
Dress Yo'self
 
Modelo Tpack
Modelo TpackModelo Tpack
Modelo Tpack
 
LABARDO Profile (V3.4-2016)
LABARDO Profile (V3.4-2016)LABARDO Profile (V3.4-2016)
LABARDO Profile (V3.4-2016)
 
Presentación curso computacion
Presentación curso computacionPresentación curso computacion
Presentación curso computacion
 
Lactancia materna en el prematuro
Lactancia materna en el prematuro Lactancia materna en el prematuro
Lactancia materna en el prematuro
 
Introducción a la computación
Introducción a la computación Introducción a la computación
Introducción a la computación
 
قانون البناء الموحد
قانون البناء الموحدقانون البناء الموحد
قانون البناء الموحد
 
SU2C Project
SU2C Project SU2C Project
SU2C Project
 
Proyecto emisora escolar
Proyecto emisora escolarProyecto emisora escolar
Proyecto emisora escolar
 
Políticas educativas internacionales
Políticas educativas internacionalesPolíticas educativas internacionales
Políticas educativas internacionales
 
Slideshare
SlideshareSlideshare
Slideshare
 
Marketing
MarketingMarketing
Marketing
 
Políticas educativas internacionales
Políticas educativas internacionalesPolíticas educativas internacionales
Políticas educativas internacionales
 
Graphics and copyright
Graphics and copyrightGraphics and copyright
Graphics and copyright
 

Similar to Smart Mirror Project Report

Building a design system with (p)react
Building a design system with (p)reactBuilding a design system with (p)react
Building a design system with (p)reactBart Waardenburg
 
YouTube Trending Video Dashboard
YouTube Trending Video DashboardYouTube Trending Video Dashboard
YouTube Trending Video DashboardIRJET Journal
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerBill Scott
 
Fitness Activity Recognition for Smartphone
Fitness Activity Recognition for SmartphoneFitness Activity Recognition for Smartphone
Fitness Activity Recognition for SmartphoneIRJET Journal
 
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in ActionBill Scott
 
Development of Virtual Trial Rooms for Showrooms
Development of Virtual Trial Rooms for ShowroomsDevelopment of Virtual Trial Rooms for Showrooms
Development of Virtual Trial Rooms for ShowroomsIRJET Journal
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...Matt Raible
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformAngus Fox
 
UberCloud HPC Experiment Introduction for Beginners
UberCloud HPC Experiment Introduction for BeginnersUberCloud HPC Experiment Introduction for Beginners
UberCloud HPC Experiment Introduction for Beginnershpcexperiment
 
ContentsTeam Work Schedule3Team Task Assignment3Project .docx
ContentsTeam Work Schedule3Team Task Assignment3Project .docxContentsTeam Work Schedule3Team Task Assignment3Project .docx
ContentsTeam Work Schedule3Team Task Assignment3Project .docxbobbywlane695641
 
Building Enterprise IoT Projects Iteratively - Vui Nguyen
Building Enterprise IoT Projects Iteratively - Vui NguyenBuilding Enterprise IoT Projects Iteratively - Vui Nguyen
Building Enterprise IoT Projects Iteratively - Vui NguyenWithTheBest
 
Report for-smart-trash-project
Report for-smart-trash-project Report for-smart-trash-project
Report for-smart-trash-project Aimen Hajri
 
Technology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summitTechnology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summitAndrew Kumar
 
iOS CI/CD: Continuous Integration and Continuous Delivery Explained
iOS CI/CD: Continuous Integration and Continuous Delivery ExplainediOS CI/CD: Continuous Integration and Continuous Delivery Explained
iOS CI/CD: Continuous Integration and Continuous Delivery ExplainedSemaphore
 

Similar to Smart Mirror Project Report (20)

Building a design system with (p)react
Building a design system with (p)reactBuilding a design system with (p)react
Building a design system with (p)react
 
YouTube Trending Video Dashboard
YouTube Trending Video DashboardYouTube Trending Video Dashboard
YouTube Trending Video Dashboard
 
Io 2018
Io 2018Io 2018
Io 2018
 
Smart Mirror
Smart MirrorSmart Mirror
Smart Mirror
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partner
 
Sandeep-portfolio-2016
Sandeep-portfolio-2016Sandeep-portfolio-2016
Sandeep-portfolio-2016
 
Fitness Activity Recognition for Smartphone
Fitness Activity Recognition for SmartphoneFitness Activity Recognition for Smartphone
Fitness Activity Recognition for Smartphone
 
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
 
Thesis
ThesisThesis
Thesis
 
Anmol
AnmolAnmol
Anmol
 
A Tale of Two Apps
A Tale of Two AppsA Tale of Two Apps
A Tale of Two Apps
 
Development of Virtual Trial Rooms for Showrooms
Development of Virtual Trial Rooms for ShowroomsDevelopment of Virtual Trial Rooms for Showrooms
Development of Virtual Trial Rooms for Showrooms
 
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Belfast ...
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
 
UberCloud HPC Experiment Introduction for Beginners
UberCloud HPC Experiment Introduction for BeginnersUberCloud HPC Experiment Introduction for Beginners
UberCloud HPC Experiment Introduction for Beginners
 
ContentsTeam Work Schedule3Team Task Assignment3Project .docx
ContentsTeam Work Schedule3Team Task Assignment3Project .docxContentsTeam Work Schedule3Team Task Assignment3Project .docx
ContentsTeam Work Schedule3Team Task Assignment3Project .docx
 
Building Enterprise IoT Projects Iteratively - Vui Nguyen
Building Enterprise IoT Projects Iteratively - Vui NguyenBuilding Enterprise IoT Projects Iteratively - Vui Nguyen
Building Enterprise IoT Projects Iteratively - Vui Nguyen
 
Report for-smart-trash-project
Report for-smart-trash-project Report for-smart-trash-project
Report for-smart-trash-project
 
Technology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summitTechnology and Digital Platform | 2019 partner summit
Technology and Digital Platform | 2019 partner summit
 
iOS CI/CD: Continuous Integration and Continuous Delivery Explained
iOS CI/CD: Continuous Integration and Continuous Delivery ExplainediOS CI/CD: Continuous Integration and Continuous Delivery Explained
iOS CI/CD: Continuous Integration and Continuous Delivery Explained
 

Smart Mirror Project Report

  • 1. CSS 498, Summer 2016 Jessica Nguyen, Jonathan Velazquez, Jabari Barton, Burhan Nurdin The Smart Mirror Project Report By H[app]iness Development To be reviewed by Jeff Kim
  • 2. Table Of Contents I. Overview II. Equipment III. APIs Used IV. Changes V. Struggles VI. Contribution Log VII. Final Product VIII. Take-Aways IX. Price Breakdown 2 ...................................................3 ..............................................3 ...............................................4 .................................................4 ................................................5 ................................6 .......................................7 ......................................7 ...............................9
  • 3. The purpose of this independent study project was for us to learn about and experience creating deliverable software products, and being able to create and integrate hardware with a user interface. Our team learned how to pull information from an RSS feed (for UWB calendar events) and various APIs using JSON Objects (for weather, bus schedule, traffic conditions/incidents) that is displayed on a LCD screen. GPIO motion sensors are used to “swipe” between different modules. We used a Raspberry Pi 3 to power our product. The small, portable design of the Pi is perfect for our purpose since we are building a slim casing for the mirror frame. It is also an affordable and powerful tool. We are using two Ultrasonic Module Distance GPIO Sensors to navigate between modules in our program. These work much better because they measure at what distance the interruption (activator) happens. This way, we can say any interruptions within 1 inch of the sensor will trigger the right or left sliding module (depending on which sensor was triggered.) For the main piece of hardware, we are using an LCD TV monitor. We are the using an HDMI out on the Raspberry Pi to display it our software GUI. With all the unforeseen circumstances, we have decided to make this a display and not include the mirror-like film on the display just yet. After adding all of the other modules, the mirror film makes a lot of the information hard to read on the display and we would rather have more functionality than the originally intended aesthetic. See pictures of all equipment on pages 10-11. I. Overview II. Equipment 3
  • 4. Here is a list of APIs that we are pulling information from: III. APIs Used 4 UWB Trumba events calendar RSS feed Wunderground Weather API Google Maps API OneBusAway API The changes we made to the project from what we completed last quarter include both software and hardware changes. We changed the overall basis of the GUI and optimized it with a different API. In the beginning, we were using the JPanel API to display onto the screen but after experimentation with different APIs we later changed to JavaFX due to its simpler format and cleaner output. We also added the other modules that we had originally outlined in our wireframe. This includes the traffic information, using the Google Maps API, which displays the congested traffic areas/incidents (such as car accidents and construction routes) near campus. This page also shows a longer, written list of hazards to avoid on the roadways. Another added module is the bus schedule which shows when each bus is supposed to arrive on campus. The final module that we added this quarter is the school events page. This page displays a list of upcoming events on UWB’s campus, taken from the UWB Trumba calendar RSS feed. As for hardware, we added three more sensors, for a total of four, for switching between different modules: Go left, go right, scroll up, scroll down. IV. Changes
  • 5. V. Struggles 5 Our team faced many challenges during the duration of this project. The hardware aspect of this project was the most difficult challenge we faced, by far. None of our group members were very experienced with dealing with hardware, so we had to turn our attention to other sources online to help us. Learning how to hook up the sensors properly with the breadboard and connect them properly back to the Raspberry Pi was a feat that, although successful, resulted in several pieces of broken equipment. Another issue we had was dealing with the new API that we decided to use, JavaFX. Although the implementation was much simpler than the other API’s we researched and experimented with, learning how to use JavaFX was still problematic in the beginning. Eventually we all learned how to utilize its basic functions and other more advanced functions in order to use the API for our needs. It may sound very cliché but one of the biggest struggles we had to face was ourselves. Getting everyone together in the summer after a long, hard school year required a lot of effort. In addition, we all were attending other summer classes and wanted to focus more on those. In the end, we got together and put many hours into the project week after week until it came to its fruition.
  • 6. Here is a list of all parts of the project that each group member has contributed to. VI. Contribution Log 6
  • 7. Through our struggles, the final product turned out very well. The product displays the current date, the 7 day weather forecast for Bothell, traffic status in the Bothell area along with road hazards, bus schedule, and UWB’s own upcoming school events. Users are able to swipe left or right and scroll up or down by activating the motion sensors on the sides of the screen. There are a few touch ups that are necessary to complete before the project will be completely done in our eyes. The first task we will do is mounting the sensors in their appropriate locations along the edge of the LCD screen so users are able to move to the next or previous page and scroll up or down. We also will need to add the reflective glass screen to the LCD TV to actually make it a mirror. Lastly, we need to fix small bugs and other usability issues in the software. We plan on having our project on display in the ARC building on campus for students to take advantage of its features. We are glad that we can be a part of something that makes our campus a little bit better. VII. Final Product This project took much more time to complete than we anticipated, and it was definitely a lot more difficult than we had first thought. There was a lot of research we did to help us succeed in the progression of this project. We learned a lot during this time, and will continue to do so. Though the CSSE coursework at UWB has given us a lot of the foundation and basics that we needed to tackle this project, there was much more that we took upon ourselves to learn outside the classroom. VIII. Take-Aways 7
  • 8. The take-aways do not differentiate very much from the previous quarter because we were mainly expanding on the skills that we learned last quarter with this project. The biggest things that we have learned during the entire independent study project include the following: All of these skills are valuable with real-world applicability and will definitely apply to all of our future careers. We are proud of what we have been able to accomplish this quarter and are even more excited to see what we can accomplish next quarter. Learning how to use JavaFX library Learning / programming Python Troubleshooting Raspberry Pi Software compatibility with different JDKs, versions of Python, and various Python packages Persistence under harsh conditions Pulling from APIs and using JSON, GSON, and RSS Implementing runnable threads in Python Creating a GUI that we can deploy our product with Learning how circuit boards work Connecting hardware pieces to our circuit boards Writing interactive code that will read the input information from the hardware How to collaborate on code remotely using version control soft- ware (Git / GitHub) How to work effectively in a team in terms of timeline, splitting up and delegating tasks, scheduling to fit everybody’s needs, maintaining mutual levels of motivation and work ethic, and common understanding of goals. 8
  • 9. Pyroelectric Infrared Motion Sensors Source: Amazon.com Price: $4.95 Use: To listen for the motion gestures of the user and to trigger the navigation between modules. CanaKit Raspberry Pi 3 Starter Kit - 32 GB Edition Includes: Source: Amazon.com Price: $89.99 Use: To power the Smart Mirror and to run the program(s) that we write to create the GUI, manage the modules’ functionality, retrieve and display information, and to keep the mirror running continuously. Raspberry Pi 3 (1.2 GHz, 1 GB RAM) On-board WiFi On-board Bluetooth 32 GB Micro SD Card (Class 10) CanaKit 2.5A Power Supply 5ft Micro USB Cable Noise Filter Raspberry Pi 3 Case 6.5ft HDMI Cable Heat Sink CanaKit GPIO to Breadboard Interface Board Ribbon Cable Large Breadboard Jumper Wires 8 x LEDs (Blue/Red/Yellow/Green) 15 x Resistors 2 x Push Button Switches Includes: 5 x PIR Sensors 9
  • 10. One-Way Mirror Film Source: Amazon.com Price: $9.99 Use: Turn the glass of the TV monitor into a reflective mirror surface. Infrared LED Bulbs Source: Amazon.com Price: $9.99 Use: To test our circuit connections on the RPi3, so we know if we are correctly connecting our wires and parts. Ultrasonic Module Distance Sensors Source: Amazon.com Price: $49.99 Use: To listen for the motion gestures of the user and to trigger the navigation between modules more accurately than the PIR sensors. 37” Vizio LCD TV Source: Craigslist Seattle Price: $50.00 Use: To act as a display for the Smart Mirror. Includes: TV w/ Power Supply Cord Includes: 7 x UMD Sensors Includes: 50 x LED Bulbs Includes: 12in x 24in Roll of One-Way Extra Dark Mirror Film 10
  • 11. Thank you for your time. Contact the team at: happdevuwb@gmail.com Jessica Nguyen Jonathan Velazquez Burhan Nurdin Jabari Barton jessica@happdev.com jonathan@happdev.com burhan@happdev.com jabari@happdev.com Contact us individually at: OR