/magic-mirror-demo

A :zap:Magic Mirror:zap: powered by a UWP Hosted Web App :rocket:

Primary LanguageJavaScript

⚡Magic Mirror⚡

##Overview

We took the magic mirror concept a step further by enabling user recognition 😃. The mirror can recognize registered users and personalize the experience accordingly.

The Magic Mirror is a fun weekend IoT project that showcases the power of Universal Windows Platform (UWP) hosted web apps. Please check out the instructions below to see how you can build it yourself 🚀.

The client side was coded against standard web technologies (CSS, HTML, JS) ❤️, and the back-end leverages the power of NodeJS and Mongo hosted on Azure. The client side implements Windows API (mediaCapture) to detect faces from the devices camera, and the Microsoft's Cognitive Services Face API to match Faces to profiles.

Since a mirror device doesn't generally receive input from a keyboard and mouse, our web app provides a view that allows users to personalize the experience.

##Building Materials

You will need the following materials to assemble the Magic Mirror:

##Assembly Process

Coming soon...

##Installing the app

Once the mirror is assembled and wired up, you can install the Magic Mirror app on your Raspberry Pi (RP). Don't worry if you don't have a PC, you can also do it with a Mac.

###Deploying on a PC

Prerequisites:

  • Visual Studio (2013+)
  • Windows 10 SDK installed in Visual Stuido

Steps:

  1. In Visual Studio, click File > New Project > JavaScript Templates > Windows > Hosted Web Apps
  2. Go to Solution explorer, click on package.appxmanifest > Application and set http://webreflections.azurewebsites.net/mirror as the start page
  3. Within the package.appxmanifest view, click the Content URIs tab and insert http://webreflections.azurewebsites.net/ with WinRT Access All
  4. Click the Capabilities tab and select Webcam 📷
  5. On the ribbon, Change the taget architecture from Any CPU to ARM
  6. Click play (it should say Remote Machine)
  7. A prompt should appear asking you for the Machine Name. Set the IPv4 of your RP as the Machine Name and select Universal for the Require Authentication
  8. and voilà! 🎁 You have succesfully installed the Magic Mirror hosted web app in your RP running Windows IoT core.

If you want a tutorial with pretty pictures, you can find it here.

###Deploying on a Mac

Coming soon...

Contributing

For guidelines on contributing to this project, please refer to .github/CONTRIBUTING.md.

##Run Locally

To run the project locally, please see .github/RUNLOCALLY.md.

Credits

The weather icons were created by Yorlmar Campos under a Creative Commons Attribution 3.0 license.