1 of 22

Building a Smart Mirror

Josep Cumeras i Khan

2 of 22

Introduction & Goals

  • Build and develop an interactive smart mirror
  • Learn how to integrate different technologies
  • Make a simple OS that can run apps made by others
  • Make the software scalable to fit different hardware

3 of 22

Context

Maker culture

Internet of Things

Home automation

4 of 22

Benchmarking

Magic Mirror

by Michael Teeuw

Home Mirror

by Hannah Mittelstaedt

Smart Mirror

By Evan Cohen

5 of 22

Benchmarking

PANL

by Ryan Nelwan

Smart Mirror

by Max Braun

6 of 22

Hardware

Parts

7 of 22

Hardware

Blueprints

8 of 22

9 of 22

10 of 22

11 of 22

12 of 22

Hardware

Budget

One-way mirror

47€

LG Monitor TV 24”

179€

TV support

12€

Raspberry Pi 2

40€

Power adapter for Raspberry Pi

5€

MicroSD card (32GB)

9€

HDMI cable

9€

HC-SR04 Ultrasonic Distance Sensors

5€

Jumper wires, resistors, plates

8€

Frame and back support

90€

TOTAL

404 €

13 of 22

Software

MirrorOS

Software base

  • Raspbian (Linux)
    • Electron
      • JS/HTML/CSS
      • NodeJS
      • Socket.io
    • Python

Functionality

  • Voice recognition
  • Gesture recognition
  • Smartphone communication
  • Apps

14 of 22

Software

Arquitecture

15 of 22

Software

UI

Voice bar

Status bar

Current app

16 of 22

Software

Developing Apps

App structure

  • index.html
  • js/app.js
  • css/style.css 
  • manifest.json
  • Icon.png

API

  • MOS.showToast(message, duration)
  • MOS.showAlert(title, message, alertId)
  • MOS.setMicrophoneEnabled(enable)
  • MOS.setGestureRecognitionEnabled(enable)
  • MOS.setTitle(title)

  • onNewQuery(query)
  • onGesture(gesture)
  • onAlertPositiveOption(alertId)
  • onAlertNegativeOption(alertId)

17 of 22

Software

Apps

Search app

Youtube app

18 of 22

Software

Apps

News app

Radio app

19 of 22

What’s next?

Already implemented

  • Smartphone companion app
  • Raspberry Pi 3
  • Radio and news apps

20 of 22

What’s next?

Future improvements

  • App Store
  • Software package
  • Improved glass panel
  • Community support

21 of 22

Conclusions

  • An interactive smart mirror has been created
  • Different technologies have been integrated
  • The software can run apps and it is easy for developers to make them.
  • The software can run on different hardware

  • The glass panel could be more reflective
  • The swipe gestures are sometimes unreliable
  • OS should be packaged

22 of 22

Building a Smart Mirror

Josep Cumeras i Khan

Treball de Fi de Grau